diff --git a/.deployment b/.deployment
deleted file mode 100644
index db5488a1..00000000
--- a/.deployment
+++ /dev/null
@@ -1,2 +0,0 @@
-[config]
-command = deploy.cmd
\ No newline at end of file
diff --git a/.eslintignore b/.eslintignore
index f1b58b05..385644c2 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -1 +1,4 @@
-**/*.vue
\ No newline at end of file
+node_modules
+dist
+build
+coverage
\ No newline at end of file
diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 00000000..46686348
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,41 @@
+{
+ "root": true,
+ "env": {
+ "browser": true
+ },
+ "parser": "@typescript-eslint/parser",
+ "parserOptions": {
+ "ecmaVersion": 2020,
+ "sourceType": "module"
+ },
+ "plugins": ["@typescript-eslint", "eslint-plugin-import"],
+ "extends": [
+ "eslint:recommended",
+ "plugin:@typescript-eslint/recommended",
+ "plugin:import/typescript",
+ "plugin:eslint-plugin-import/recommended",
+ "prettier",
+ "prettier/@typescript-eslint"
+ ],
+ "overrides": [
+ {
+ "files": ["src/**/*.ts"],
+ "rules": {
+ "@typescript-eslint/explicit-module-boundary-types": ["off"],
+ "@typescript-eslint/ban-ts-comment": ["off"],
+ "@typescript-eslint/no-var-requires": ["off"],
+ "@typescript-eslint/prefer-ts-expect-error": ["on"]
+ }
+ },
+ {
+ "files": ["./rollup.config.js", "./rollup.config.dev.js"],
+ "env": {
+ "node": true
+ },
+ "extends": ["eslint:recommended"],
+ "rules": {
+ "@typescript-eslint/no-var-requires": ["off"]
+ }
+ }
+ ]
+}
diff --git a/.github/workflows/azure-static-web-apps-nice-field-047c1420f.yml b/.github/workflows/azure-static-web-apps-nice-field-047c1420f.yml
new file mode 100644
index 00000000..cab93a83
--- /dev/null
+++ b/.github/workflows/azure-static-web-apps-nice-field-047c1420f.yml
@@ -0,0 +1,45 @@
+name: Azure Static Web Apps CI/CD
+
+on:
+ push:
+ branches:
+ - v3.0
+ pull_request:
+ types: [opened, synchronize, reopened, closed]
+ branches:
+ - v3.0
+
+jobs:
+ build_and_deploy_job:
+ if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
+ runs-on: ubuntu-latest
+ name: Build and Deploy Job
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ submodules: true
+ - name: Build And Deploy
+ id: builddeploy
+ uses: Azure/static-web-apps-deploy@v0.0.1-preview
+ with:
+ azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_NICE_FIELD_047C1420F }}
+ repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments)
+ action: "upload"
+ ###### Repository/Build Configurations - These values can be configured to match you app requirements. ######
+ # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
+ app_location: "/" # App source code path
+ api_location: "api" # Api source code path - optional
+ output_location: "dist" # Built app content directory - optional
+ ###### End of Repository/Build Configurations ######
+
+ close_pull_request_job:
+ if: github.event_name == 'pull_request' && github.event.action == 'closed'
+ runs-on: ubuntu-latest
+ name: Close Pull Request Job
+ steps:
+ - name: Close Pull Request
+ id: closepullrequest
+ uses: Azure/static-web-apps-deploy@v0.0.1-preview
+ with:
+ azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_NICE_FIELD_047C1420F }}
+ action: "close"
diff --git a/.github/workflows/deploy_web_app.yml b/.github/workflows/deploy_web_app.yml
new file mode 100644
index 00000000..c9b9a5f6
--- /dev/null
+++ b/.github/workflows/deploy_web_app.yml
@@ -0,0 +1,43 @@
+# This workflow will build and push a node.js application to an Azure Web App when a release is created.
+#
+# This workflow assumes you have already created the target Azure App Service web app.
+# For instructions see https://docs.microsoft.com/azure/app-service/app-service-plan-manage#create-an-app-service-plan
+#
+# To configure this workflow:
+#
+# 1. For Linux apps, add an app setting called WEBSITE_WEBDEPLOY_USE_SCM and set it to true in your app **before downloading the file**.
+# For more instructions see: https://docs.microsoft.com/azure/app-service/configure-common#configure-app-settings
+#
+# 2. Set up a secret in your repository named AZURE_WEBAPP_PUBLISH_PROFILE with the value of your Azure publish profile.
+# For instructions on obtaining the publish profile see: https://docs.microsoft.com/azure/app-service/deploy-github-actions#configure-the-github-secret
+#
+# 3. Change the values for the AZURE_WEBAPP_NAME, AZURE_WEBAPP_PACKAGE_PATH and NODE_VERSION environment variables (below).
+#
+# For more information on GitHub Actions for Azure, refer to https://github.com/Azure/Actions
+# For more samples to get started with GitHub Action workflows to deploy to Azure, refer to https://github.com/Azure/actions-workflow-samples
+on:
+ push:
+ branches:
+ - v3.0
+ pull_request:
+ types: [opened, synchronize, reopened, closed]
+ branches:
+ - v3.0
+
+env:
+ NODE_VERSION: '14.x' # set this to the node version to use
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Build the Docker image
+ run: docker build . --file Dockerfile --tag pwabuilder.azurecr.io/pwa-site-dev:latest
+
+ - name: Login
+ run: docker login pwabuilder.azurecr.io -u pwabuilder --password ${{secrets.azure}}
+
+ - name: Push
+ run: docker push pwabuilder.azurecr.io/pwa-site-dev:latest
diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml
deleted file mode 100644
index ada8d5fc..00000000
--- a/.github/workflows/docker-publish.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-name: CI
-
-on:
- push:
- branches: [ master, dev ]
-
- pull_request:
- branches: [ master ]
-
-jobs:
-
- build:
- runs-on: ubuntu-latest
- if: github.ref == 'refs/heads/master'
-
- steps:
- - uses: actions/checkout@v2
- - name: Build the production Docker image
- run: docker build . --file dockerfile --target build-prod --tag pwabuilder.azurecr.io/pwabuilder-site-container:latest
-
- - name: Login
- run: docker login pwabuilder.azurecr.io -u pwabuilder --password ${{secrets.azure}}
-
- - name: Push
- run: docker push pwabuilder.azurecr.io/pwabuilder-site-container:latest
-
- build-preview:
- runs-on: ubuntu-latest
- if: github.ref == 'refs/heads/dev'
-
- steps:
- - uses: actions/checkout@v2
- - name: Build the preview Docker image
- run: docker build . --file dockerfile --target build-preview --tag pwabuilder.azurecr.io/pwabuilder-site-preview-container:latest
-
- - name: Login
- run: docker login pwabuilder.azurecr.io -u pwabuilder --password ${{secrets.azure}}
-
- - name: Push
- run: docker push pwabuilder.azurecr.io/pwabuilder-site-preview-container:latest
-
diff --git a/.gitignore b/.gitignore
index da9cbfca..c0f6ee2e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,51 +1,4 @@
-# See http://help.github.com/ignore-files/ for more about ignoring files.
-
-# Logs
-logs
-*.log
-
-# Runtime data
-pids
-*.pid
-*.seed
-
.DS_Store
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-lib-cov
-
-# Coverage directory used by tools like istanbul
-coverage
-
-# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
-.grunt
-
-# node-waf configuration
-.lock-wscript
-
-# Compiled binary addons (http://nodejs.org/api/addons.html)
-build/Release
-
-# compiled output
-/dist
-/tmp
-
-# dependencies
-/node_modules
-/bower_components
-
-# misc
-/.sass-cache
-/connect.lock
-/coverage/*
-/libpeerconnection.log
-npm-debug.log
-testem.log
-.nuxt/
-.vs/
-.coverage/
-.nyc_output/
-e2e-logs/
-package.json
-package-lock.json
-.vscode/launch.json
+node_modules
+dist
+build
\ No newline at end of file
diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 00000000..6242bb49
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+14.10.0
diff --git a/.nycrc b/.nycrc
deleted file mode 100644
index 142fc6f6..00000000
--- a/.nycrc
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "include": [
- "store/**/*.ts",
- "middleware/**/*.ts"
- ],
- "report-dir": ".coverage",
- "extension": [
- ".ts"
- ],
- "reporter": [
- "html"
- ],
- "all": true
-}
\ No newline at end of file
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 00000000..1a84c1c6
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,11 @@
+{
+ "tabWidth": 2,
+ "useTabs": false,
+ "semi": true,
+ "singleQuote": true,
+ "quoteProps": "consistent",
+ "trailingComma": "es5",
+ "endOfLine": "crlf",
+ "bracketSpacing": true,
+ "arrowParens": "avoid"
+}
diff --git a/.stylelintrc b/.stylelintrc
deleted file mode 100644
index 0d79bca7..00000000
--- a/.stylelintrc
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "processors": ["stylelint-processor-html"],
- "extends": "stylelint-config-standard",
- "plugins": [
- "stylelint-order",
- "stylelint-scss"
- ],
- "rules": {
- "order/properties-alphabetical-order": true,
- "at-rule-no-unknown": null,
- "number-leading-zero": "never",
- "font-family-no-missing-generic-family-keyword": null,
- "color-hex-case": "upper",
- "color-hex-length": "long",
- "no-missing-end-of-source-newline": null,
- "no-empty-source": null,
- "shorthand-property-no-redundant-values": null
- }
-}
\ No newline at end of file
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 00000000..d2c373b5
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,12 @@
+{
+ "recommendations": [
+ "bierner.lit-html",
+ "runem.lit-plugin",
+ "esbenp.prettier-vscode",
+ "eg2.vscode-npm-script",
+ "christian-kohler.npm-intellisense",
+ "msjsdiag.debugger-for-edge",
+ "dbaeumer.vscode-eslint",
+ "ms-vscode.vscode-typescript-next"
+ ]
+}
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 00000000..c60c7f47
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,22 @@
+{
+ // VS Code debugger launch file. When you press F5 in VS Code,
+ // this debugger configuration will launch.
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Debug in VSCode",
+ "type": "edge",
+ "request": "launch",
+ "version": "stable",
+ "url": "http://localhost:8000",
+ "webRoot": "${workspaceFolder}/build",
+ "sourceMaps": true,
+ "skipFiles": ["node_modules"],
+ "smartStep": true,
+ "pathMapping": {
+ "/": "${workspaceFolder}/build/index.html"
+ },
+ "preLaunchTask": "npm: debug"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 7a73a41b..b8c18fa9 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,2 +1,10 @@
{
-}
\ No newline at end of file
+ "editor.tabSize": 2,
+ "js/ts.implicitProjectConfig.experimentalDecorators": true,
+ "typescript.tsdk": "node_modules/typescript/lib",
+ "files.saveConflictResolution": "askUser",
+ "typescript.tsc.autoDetect": "on",
+ "typescript.reportStyleChecksAsWarnings": true,
+ "typescript.validate.enable": true,
+ "javascript.validate.enable": true
+}
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
new file mode 100644
index 00000000..d8a5543f
--- /dev/null
+++ b/.vscode/tasks.json
@@ -0,0 +1,28 @@
+{
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "npm: debug",
+ "type": "npm",
+ "script": "debug",
+ "isBackground": true,
+ "problemMatcher": [
+ {
+ "pattern": [
+ {
+ "regexp": ".",
+ "file": 1,
+ "location": 2,
+ "message": 3
+ }
+ ],
+ "background": {
+ "activeOnStart": true,
+ "beginsPattern": ".",
+ "endsPattern": "Web Dev Server started"
+ }
+ }
+ ]
+ }
+ ]
+ }
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 00000000..efcb12bd
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,11 @@
+FROM node:14
+
+EXPOSE 3000
+
+WORKDIR /app
+COPY . .
+
+ENV PORT 80
+RUN npm install
+
+CMD npm start
\ No newline at end of file
diff --git a/README.md b/README.md
index 2d8b987a..3e3bb938 100755
--- a/README.md
+++ b/README.md
@@ -1,57 +1,73 @@
# PWABuilder
-[](https://dev.azure.com/PWABuilder/pwabuilder-site-pre/_build/latest?definitionId=2&branchName=master)
+Welcome to [PWABuilder](https://www.pwabuilder.com/) v3.0 preview! This branch is a work in progress and may not be fully featured yet.
-Node/Vue/Nuxt site for PWABuilder!
+Live URL: https://nice-field-047c1420f.azurestaticapps.net/
-## Prerequisites
+## Contributing
-You will need the following things properly installed on your computer.
-
-* [Git](http://git-scm.com/)
-* [Node.js](http://nodejs.org/) LTS version (with NPM)
-* [NPM](http://npmjs.com/)
-* [Python 2](https://www.python.org/)
-* If on Windows, run as administrator: `npm install -g --production windows-build-tools --vs2015`
+### Prequisites
-## Installation
+You will need the following things properly installed on your computer.
-* `git clone https://github.com/pwa-builder/PWABuilder.git`, this repository
-* change into the new directory
-* `npm install`
+* [Node.js](http://nodejs.org/) (with NPM)
+* [NPM](https://www.npmjs.com/get-npm)
-## Running / Development
+You should also be familiar with [TypeScript](https://www.typescriptlang.org/) which we use for this project. This helps give you more guidance as you code from [intellisense](https://code.visualstudio.com/docs/editor/intellisense) when using [VSCode](https://code.visualstudio.com/).
-* `npm run dev`
-* Visit your app at [http://localhost:3000](http://localhost:3000).
+### Recommended Development setup
-### Running Tests
+We recommend the following tools for your dev setup:
-* `npm test`
+* Editor: [VSCode](https://code.visualstudio.com/)
+* Terminal: [Windows Terminal](https://www.microsoft.com/en-us/p/windows-terminal-preview/9n0dx20hk701?activetab=pivot:overviewtab) or [hyper](https://hyper.is/)
-### Running Test Coverage
+Additionally, when you open the project in VS Code, you'll be prompted to install recommended extensions.
-* `npm run cover`
+### Development
-### Running Test Coverage
+Run `npm install` and then run `npm run dev`, the project should open in your default browser. From here you can start developing, your changes will be rebuilt and reloaded in the browser as you develop.
-* `npm install selenium-standalone@latest -g` _only once_
-* `selenium-standalone install` _only once_
-* `npm run e2e`
+### Debugging in VS Code
-> You need to have installed [Java JDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
+In VS Code, install [Debugger for Microsoft Edge extension](https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-edge).
-### Building
+In VSCode, set a breakpoint in a TypeScript file. Then press F5 to launch debugging.
-* `npm run build` (production)
+### Building for Production
-### Serve
+Run `npm run build`, the `dist/` folder will contain your built PWA. The production build will also generate a pre-caching service worker using [Workbox](https://developers.google.com/web/tools/workbox/modules/workbox-precaching).
-* `npm start` (doesn't compile the code)
-## Further Reading / Useful Links
+## Folder Structure
-* [Vuejs](https://vuejs.org/)
-* [Vuex](https://vuex.vuejs.org/en/)
-* [Nuxtjs](https://nuxtjs.org/)
+```
+pwa-starter
+│ README.md (docs)
+│ rollup.config.js (bundler config https://rollupjs.org/)
+| tsconfig.json (TypeScript config https://www.typescriptlang.org/)
+| pwabuilder-sw.js (Service Worker https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API)
+| package.json (https://docs.npmjs.com/creating-a-package-json-file)
+| package-lock.json (https://docs.npmjs.com/files/package-lock.json)
+| manifest.json (web manifest https://developer.mozilla.org/en-US/docs/Web/Manifest)
+| index.prod.html (index.html file used for production builds)
+| index.html (index.html for dev builds)
+| *note*: The index.prod.html registers a service worker which caches assets, so index.html is used for dev builds
+| .gitignore (git config file https://git-scm.com/docs/gitignore)
+│
+└───src (most of your development will happen here)
+│ │ global.css (used for global CSS styles and CSS variables)
+│ │
+│ └───script
+│ │
+│ |
+| └───components
+| | header.ts (header component)
+| |
+| |
+| └───pages
+| | app-index.ts (app-index component)
+| | app-home.ts (app-home component)
+| | app-about.ts (app-about component)
+```
diff --git a/assets/SnippitPop.ts b/assets/SnippitPop.ts
deleted file mode 100644
index 68d48770..00000000
--- a/assets/SnippitPop.ts
+++ /dev/null
@@ -1,82 +0,0 @@
-let tmpl = document.createElement('template');
-tmpl.innerHTML = `
-
Hello world
-`;
-
-
-class SnippitPop extends HTMLElement {
-
- constructor() {
- super(); // always call super() first in the constructor.
-
- // Attach a shadow root to the element.
- let shadowRoot = this.attachShadow({mode: 'open'});
- shadowRoot.appendChild(tmpl.content.cloneNode(true));
- }
-
- static get observedAttributes() {
- return ['snippitImage'];
- }
-
- get snippitImage() {
- return this.hasAttribute('snippitImage');
- }
-
- set snippitImage(val: any) {
- if (val) {
- this.setAttribute('snippitImage', val);
- } else {
- this.removeAttribute('snippitImage');
- }
- }
-
- async copyCode(data) {
- if (navigator.clipboard && navigator.clipboard.writeText) {
- try {
- await navigator.clipboard.writeText(data);
- } catch (err) {
- console.error(err);
- }
- } else {
- const clipScript = document.createElement('script');
- clipScript.src = "https://unpkg.com/clipboard@2/dist/clipboard.min.js";
- this.shadowRoot!.appendChild(clipScript);
-
- clipScript.addEventListener('load', () => {
- let ClipboardJS = window["ClipboardJS"];
- let realClip = new ClipboardJS(this.shadowRoot!.querySelector('button'));
-
- realClip.on("success", e => {
- console.info("Action:", e.action);
- console.info("Text:", e.text);
- console.info("Trigger:", e.trigger);
- e.clearSelection();
- });
-
- realClip.on("error", e => {
- console.error("Action:", e.action);
- console.error("Trigger:", e.trigger);
- });
- })
-
- }
- }
-
- async getCode() {
- const snippitImage = this.getAttribute('snippitImage');
-
- if (snippitImage) {
- const response = await fetch(snippitImage);
- const data = await response.text();
-
- this.shadowRoot!.querySelector('button')!.setAttribute('data-clipboard-text', data);
-
- setTimeout(() => {
- this.copyCode(data);
- }, 500)
-
- }
- }
-}
-
-window.customElements.define('copy-button', CopyButton);
\ No newline at end of file
diff --git a/assets/android_icon.svg b/assets/android_icon.svg
new file mode 100644
index 00000000..926e36f0
--- /dev/null
+++ b/assets/android_icon.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/badges/manifest_small_badge.svg b/assets/badges/manifest_small_badge.svg
new file mode 100644
index 00000000..fc00f30a
--- /dev/null
+++ b/assets/badges/manifest_small_badge.svg
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/badges/pwa_badge.svg b/assets/badges/pwa_badge.svg
new file mode 100644
index 00000000..df2d487d
--- /dev/null
+++ b/assets/badges/pwa_badge.svg
@@ -0,0 +1,214 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/badges/pwa_grey.svg b/assets/badges/pwa_grey.svg
new file mode 100644
index 00000000..53895711
--- /dev/null
+++ b/assets/badges/pwa_grey.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/badges/security_badge.svg b/assets/badges/security_badge.svg
new file mode 100644
index 00000000..1f60b8bd
--- /dev/null
+++ b/assets/badges/security_badge.svg
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/badges/service_worker_badge.svg b/assets/badges/service_worker_badge.svg
new file mode 100644
index 00000000..09e30ebf
--- /dev/null
+++ b/assets/badges/service_worker_badge.svg
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/badges/store_ready_badge.svg b/assets/badges/store_ready_badge.svg
new file mode 100644
index 00000000..1a1d26ee
--- /dev/null
+++ b/assets/badges/store_ready_badge.svg
@@ -0,0 +1,392 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/dial.png b/assets/dial.png
new file mode 100644
index 00000000..b2d99dd4
Binary files /dev/null and b/assets/dial.png differ
diff --git a/assets/ellipse-outline.svg b/assets/ellipse-outline.svg
new file mode 100644
index 00000000..521739ec
--- /dev/null
+++ b/assets/ellipse-outline.svg
@@ -0,0 +1,2 @@
+Ellipse
\ No newline at end of file
diff --git a/assets/fonts/Hind-Bold.ttf b/assets/fonts/Hind-Bold.ttf
new file mode 100644
index 00000000..018e32df
Binary files /dev/null and b/assets/fonts/Hind-Bold.ttf differ
diff --git a/assets/fonts/Hind-Regular.ttf b/assets/fonts/Hind-Regular.ttf
new file mode 100644
index 00000000..410e1567
Binary files /dev/null and b/assets/fonts/Hind-Regular.ttf differ
diff --git a/static/Images/assets/newIcons/icon_114.png b/assets/icons/icon_114.png
similarity index 100%
rename from static/Images/assets/newIcons/icon_114.png
rename to assets/icons/icon_114.png
diff --git a/static/Images/assets/newIcons/icon_120.png b/assets/icons/icon_120.png
similarity index 100%
rename from static/Images/assets/newIcons/icon_120.png
rename to assets/icons/icon_120.png
diff --git a/static/Images/assets/newIcons/icon_144.png b/assets/icons/icon_144.png
similarity index 100%
rename from static/Images/assets/newIcons/icon_144.png
rename to assets/icons/icon_144.png
diff --git a/static/Images/assets/newIcons/icon_152.png b/assets/icons/icon_152.png
similarity index 100%
rename from static/Images/assets/newIcons/icon_152.png
rename to assets/icons/icon_152.png
diff --git a/static/Images/assets/newIcons/icon_180.png b/assets/icons/icon_180.png
similarity index 100%
rename from static/Images/assets/newIcons/icon_180.png
rename to assets/icons/icon_180.png
diff --git a/static/Images/assets/newIcons/icon_190.png b/assets/icons/icon_190.png
similarity index 100%
rename from static/Images/assets/newIcons/icon_190.png
rename to assets/icons/icon_190.png
diff --git a/assets/icons/icon_192.png b/assets/icons/icon_192.png
new file mode 100644
index 00000000..897fa3d9
Binary files /dev/null and b/assets/icons/icon_192.png differ
diff --git a/assets/icons/icon_24.png b/assets/icons/icon_24.png
new file mode 100644
index 00000000..cadeeda3
Binary files /dev/null and b/assets/icons/icon_24.png differ
diff --git a/assets/icons/icon_48.png b/assets/icons/icon_48.png
new file mode 100644
index 00000000..69d5b2ef
Binary files /dev/null and b/assets/icons/icon_48.png differ
diff --git a/static/Images/assets/newIcons/icon_512.png b/assets/icons/icon_512.png
similarity index 100%
rename from static/Images/assets/newIcons/icon_512.png
rename to assets/icons/icon_512.png
diff --git a/static/Images/assets/newIcons/icon_57.png b/assets/icons/icon_57.png
similarity index 100%
rename from static/Images/assets/newIcons/icon_57.png
rename to assets/icons/icon_57.png
diff --git a/static/Images/assets/newIcons/icon_60.png b/assets/icons/icon_60.png
similarity index 100%
rename from static/Images/assets/newIcons/icon_60.png
rename to assets/icons/icon_60.png
diff --git a/static/Images/assets/newIcons/icon_72.png b/assets/icons/icon_72.png
similarity index 100%
rename from static/Images/assets/newIcons/icon_72.png
rename to assets/icons/icon_72.png
diff --git a/static/Images/assets/newIcons/icon_76.png b/assets/icons/icon_76.png
similarity index 100%
rename from static/Images/assets/newIcons/icon_76.png
rename to assets/icons/icon_76.png
diff --git a/assets/images/Diagram.png b/assets/images/Diagram.png
deleted file mode 100644
index 1efae941..00000000
Binary files a/assets/images/Diagram.png and /dev/null differ
diff --git a/assets/images/Diagram.svg b/assets/images/Diagram.svg
deleted file mode 100644
index c419cfcf..00000000
--- a/assets/images/Diagram.svg
+++ /dev/null
@@ -1 +0,0 @@
-Your website Phone Tablet Desktop
\ No newline at end of file
diff --git a/assets/images/Diagram@2x.png b/assets/images/Diagram@2x.png
deleted file mode 100644
index 9e3e8066..00000000
Binary files a/assets/images/Diagram@2x.png and /dev/null differ
diff --git a/assets/images/Mask.png b/assets/images/Mask.png
deleted file mode 100644
index f47bd482..00000000
Binary files a/assets/images/Mask.png and /dev/null differ
diff --git a/assets/images/PWABuilderLogo.svg b/assets/images/PWABuilderLogo.svg
deleted file mode 100644
index 961531a6..00000000
--- a/assets/images/PWABuilderLogo.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/PWABuilderLogoO.svg b/assets/images/PWABuilderLogoO.svg
deleted file mode 100644
index d963ce34..00000000
--- a/assets/images/PWABuilderLogoO.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/StackedCube.svg b/assets/images/StackedCube.svg
deleted file mode 100644
index 9477dbd7..00000000
--- a/assets/images/StackedCube.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/android-screen.png b/assets/images/android-screen.png
deleted file mode 100644
index d3e741af..00000000
Binary files a/assets/images/android-screen.png and /dev/null differ
diff --git a/assets/images/androidDevice.png b/assets/images/androidDevice.png
deleted file mode 100644
index 7951baa6..00000000
Binary files a/assets/images/androidDevice.png and /dev/null differ
diff --git a/assets/images/background-copy.webp b/assets/images/background-copy.webp
new file mode 100644
index 00000000..124f927a
Binary files /dev/null and b/assets/images/background-copy.webp differ
diff --git a/assets/images/base_package.webp b/assets/images/base_package.webp
new file mode 100644
index 00000000..ccdbd348
Binary files /dev/null and b/assets/images/base_package.webp differ
diff --git a/assets/images/base_package_mobile.webp b/assets/images/base_package_mobile.webp
new file mode 100644
index 00000000..6115eb9e
Binary files /dev/null and b/assets/images/base_package_mobile.webp differ
diff --git a/assets/images/best.svg b/assets/images/best.svg
deleted file mode 100644
index 23784057..00000000
--- a/assets/images/best.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/best_disabled.svg b/assets/images/best_disabled.svg
deleted file mode 100644
index 7c2e2712..00000000
--- a/assets/images/best_disabled.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/better.svg b/assets/images/better.svg
deleted file mode 100644
index 8a18acf8..00000000
--- a/assets/images/better.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/better_disabled.svg b/assets/images/better_disabled.svg
deleted file mode 100644
index c387594e..00000000
--- a/assets/images/better_disabled.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/bg_publish.svg b/assets/images/bg_publish.svg
deleted file mode 100644
index 291aec97..00000000
--- a/assets/images/bg_publish.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/blog_fold.webp b/assets/images/blog_fold.webp
new file mode 100644
index 00000000..1bff7313
Binary files /dev/null and b/assets/images/blog_fold.webp differ
diff --git a/assets/images/blue.svg b/assets/images/blue.svg
deleted file mode 100644
index 232848cf..00000000
--- a/assets/images/blue.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/blueO.svg b/assets/images/blueO.svg
deleted file mode 100644
index c5d4c4bd..00000000
--- a/assets/images/blueO.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/checked.png b/assets/images/checked.png
deleted file mode 100644
index 964f0be9..00000000
Binary files a/assets/images/checked.png and /dev/null differ
diff --git a/assets/images/congrats.webp b/assets/images/congrats.webp
new file mode 100644
index 00000000..6eb0c883
Binary files /dev/null and b/assets/images/congrats.webp differ
diff --git a/assets/images/congrats_mobile.webp b/assets/images/congrats_mobile.webp
new file mode 100644
index 00000000..5953a510
Binary files /dev/null and b/assets/images/congrats_mobile.webp differ
diff --git a/assets/images/downloadicon.png b/assets/images/downloadicon.png
deleted file mode 100644
index 7a3b3a37..00000000
Binary files a/assets/images/downloadicon.png and /dev/null differ
diff --git a/assets/images/featureCardIcon.svg b/assets/images/featureCardIcon.svg
deleted file mode 100644
index fb6b5999..00000000
--- a/assets/images/featureCardIcon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/full_header_logo.png b/assets/images/full_header_logo.png
new file mode 100644
index 00000000..fca15e7b
Binary files /dev/null and b/assets/images/full_header_logo.png differ
diff --git a/assets/images/gbbChecked.svg b/assets/images/gbbChecked.svg
deleted file mode 100644
index d348b18d..00000000
--- a/assets/images/gbbChecked.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/gbbNotChecked.svg b/assets/images/gbbNotChecked.svg
deleted file mode 100644
index a1babe40..00000000
--- a/assets/images/gbbNotChecked.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/glass.jpg b/assets/images/glass.jpg
new file mode 100644
index 00000000..78800eb4
Binary files /dev/null and b/assets/images/glass.jpg differ
diff --git a/assets/images/goButton.svg b/assets/images/goButton.svg
deleted file mode 100644
index b5e0014f..00000000
--- a/assets/images/goButton.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/good.svg b/assets/images/good.svg
deleted file mode 100644
index c662c41f..00000000
--- a/assets/images/good.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/header_logo.webp b/assets/images/header_logo.webp
new file mode 100644
index 00000000..f35a5b47
Binary files /dev/null and b/assets/images/header_logo.webp differ
diff --git a/assets/images/help-outline.svg b/assets/images/help-outline.svg
new file mode 100644
index 00000000..9d51d0fe
--- /dev/null
+++ b/assets/images/help-outline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/assets/images/hero.mp4 b/assets/images/hero.mp4
deleted file mode 100755
index f4e3d25f..00000000
Binary files a/assets/images/hero.mp4 and /dev/null differ
diff --git a/assets/images/hero_poster.png b/assets/images/hero_poster.png
deleted file mode 100755
index 1fff4725..00000000
Binary files a/assets/images/hero_poster.png and /dev/null differ
diff --git a/assets/images/home_1920.webp b/assets/images/home_1920.webp
new file mode 100644
index 00000000..d89c2679
Binary files /dev/null and b/assets/images/home_1920.webp differ
diff --git a/assets/images/home_mobile.webp b/assets/images/home_mobile.webp
new file mode 100644
index 00000000..df6434d6
Binary files /dev/null and b/assets/images/home_mobile.webp differ
diff --git a/assets/images/iphoneDevice.png b/assets/images/iphoneDevice.png
deleted file mode 100644
index bb7afe9d..00000000
Binary files a/assets/images/iphoneDevice.png and /dev/null differ
diff --git a/assets/images/lightBlue.svg b/assets/images/lightBlue.svg
deleted file mode 100644
index 41c24f29..00000000
--- a/assets/images/lightBlue.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/lightBlueO.svg b/assets/images/lightBlueO.svg
deleted file mode 100644
index c4042ba9..00000000
--- a/assets/images/lightBlueO.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/loading_page.webp b/assets/images/loading_page.webp
new file mode 100644
index 00000000..17fbba49
Binary files /dev/null and b/assets/images/loading_page.webp differ
diff --git a/assets/images/logo.png b/assets/images/logo.png
deleted file mode 100755
index 3d96f684..00000000
Binary files a/assets/images/logo.png and /dev/null differ
diff --git a/assets/images/logo_github.svg b/assets/images/logo_github.svg
deleted file mode 100755
index d4961dc9..00000000
--- a/assets/images/logo_github.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/logo_npm.svg b/assets/images/logo_npm.svg
deleted file mode 100755
index 1785a8c7..00000000
--- a/assets/images/logo_npm.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/logo_small.png b/assets/images/logo_small.png
deleted file mode 100755
index c43c9297..00000000
Binary files a/assets/images/logo_small.png and /dev/null differ
diff --git a/assets/images/logo_stackoverflow.svg b/assets/images/logo_stackoverflow.svg
deleted file mode 100755
index a917cf8d..00000000
--- a/assets/images/logo_stackoverflow.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/logo_twitter.svg b/assets/images/logo_twitter.svg
deleted file mode 100755
index a70664da..00000000
--- a/assets/images/logo_twitter.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/new-logo.svg b/assets/images/new-logo.svg
deleted file mode 100644
index 623fbae0..00000000
--- a/assets/images/new-logo.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/assets/images/placeHolder.png b/assets/images/placeHolder.png
deleted file mode 100644
index 4b181845..00000000
Binary files a/assets/images/placeHolder.png and /dev/null differ
diff --git a/assets/images/platformScreens/ios.png b/assets/images/platformScreens/ios.png
deleted file mode 100644
index f1b323ae..00000000
Binary files a/assets/images/platformScreens/ios.png and /dev/null differ
diff --git a/assets/images/platformScreens/mac.png b/assets/images/platformScreens/mac.png
deleted file mode 100644
index a0796507..00000000
Binary files a/assets/images/platformScreens/mac.png and /dev/null differ
diff --git a/assets/images/platformScreens/pc.png b/assets/images/platformScreens/pc.png
deleted file mode 100644
index 9c4fe9de..00000000
Binary files a/assets/images/platformScreens/pc.png and /dev/null differ
diff --git a/assets/images/platformScreens/samsung.png b/assets/images/platformScreens/samsung.png
deleted file mode 100644
index f54ea77e..00000000
Binary files a/assets/images/platformScreens/samsung.png and /dev/null differ
diff --git a/assets/images/platformScreens/teams.png b/assets/images/platformScreens/teams.png
deleted file mode 100644
index bf59c4e9..00000000
Binary files a/assets/images/platformScreens/teams.png and /dev/null differ
diff --git a/assets/images/publish-bg.svg b/assets/images/publish-bg.svg
deleted file mode 100644
index 76af04ed..00000000
--- a/assets/images/publish-bg.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/publish.webp b/assets/images/publish.webp
new file mode 100644
index 00000000..98bd41d7
Binary files /dev/null and b/assets/images/publish.webp differ
diff --git a/assets/images/publishBackground.svg b/assets/images/publishBackground.svg
deleted file mode 100644
index 8fad35e2..00000000
--- a/assets/images/publishBackground.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/publish_mobile.webp b/assets/images/publish_mobile.webp
new file mode 100644
index 00000000..864dd0fd
Binary files /dev/null and b/assets/images/publish_mobile.webp differ
diff --git a/assets/images/pwa-screen.png b/assets/images/pwa-screen.png
deleted file mode 100644
index d567e7b3..00000000
Binary files a/assets/images/pwa-screen.png and /dev/null differ
diff --git a/assets/images/pwaLogo.svg b/assets/images/pwaLogo.svg
deleted file mode 100644
index d5008f7f..00000000
--- a/assets/images/pwaLogo.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/pwab3d.png b/assets/images/pwab3d.png
new file mode 100644
index 00000000..5a71b4b9
Binary files /dev/null and b/assets/images/pwab3d.png differ
diff --git a/assets/images/pwabuilder-screen.png b/assets/images/pwabuilder-screen.png
deleted file mode 100644
index 255c4743..00000000
Binary files a/assets/images/pwabuilder-screen.png and /dev/null differ
diff --git a/assets/images/report_card.svg b/assets/images/report_card.svg
deleted file mode 100644
index 88d663b7..00000000
--- a/assets/images/report_card.svg
+++ /dev/null
@@ -1 +0,0 @@
-score_export C 75 / 100 ov erall sco r e
\ No newline at end of file
diff --git a/assets/images/report_card.webp b/assets/images/report_card.webp
new file mode 100644
index 00000000..495e4103
Binary files /dev/null and b/assets/images/report_card.webp differ
diff --git a/assets/images/report_card_manifest.webp b/assets/images/report_card_manifest.webp
new file mode 100644
index 00000000..1777a63d
Binary files /dev/null and b/assets/images/report_card_manifest.webp differ
diff --git a/assets/images/report_card_mobile.webp b/assets/images/report_card_mobile.webp
new file mode 100644
index 00000000..09db06dc
Binary files /dev/null and b/assets/images/report_card_mobile.webp differ
diff --git a/assets/images/report_card_sw.webp b/assets/images/report_card_sw.webp
new file mode 100644
index 00000000..a80b1444
Binary files /dev/null and b/assets/images/report_card_sw.webp differ
diff --git a/assets/images/reportcard-header.svg b/assets/images/reportcard-header.svg
new file mode 100644
index 00000000..f1690c45
--- /dev/null
+++ b/assets/images/reportcard-header.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/images/score-icon.png b/assets/images/score-icon.png
deleted file mode 100644
index 008a8bd4..00000000
Binary files a/assets/images/score-icon.png and /dev/null differ
diff --git a/assets/images/sidebar-icon.svg b/assets/images/sidebar-icon.svg
new file mode 100644
index 00000000..1cb73054
--- /dev/null
+++ b/assets/images/sidebar-icon.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/assets/images/slectedBox.svg b/assets/images/slectedBox.svg
deleted file mode 100644
index 3c505c89..00000000
--- a/assets/images/slectedBox.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/store_fpo.png b/assets/images/store_fpo.png
new file mode 100644
index 00000000..8ec5957b
Binary files /dev/null and b/assets/images/store_fpo.png differ
diff --git a/assets/images/teams-icon.png b/assets/images/teams-icon.png
deleted file mode 100644
index 2869d230..00000000
Binary files a/assets/images/teams-icon.png and /dev/null differ
diff --git a/assets/images/teams-screen.png b/assets/images/teams-screen.png
deleted file mode 100644
index 1c56966e..00000000
Binary files a/assets/images/teams-screen.png and /dev/null differ
diff --git a/assets/images/unChecked.png b/assets/images/unChecked.png
deleted file mode 100644
index edc369a6..00000000
Binary files a/assets/images/unChecked.png and /dev/null differ
diff --git a/assets/images/warning.svg b/assets/images/warning.svg
new file mode 100644
index 00000000..5c6e73ea
--- /dev/null
+++ b/assets/images/warning.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/assets/images/white.svg b/assets/images/white.svg
deleted file mode 100644
index 4d5e17ed..00000000
--- a/assets/images/white.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/whiteO.svg b/assets/images/whiteO.svg
deleted file mode 100644
index c2412830..00000000
--- a/assets/images/whiteO.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/pointer.png b/assets/pointer.png
new file mode 100644
index 00000000..12d60859
Binary files /dev/null and b/assets/pointer.png differ
diff --git a/assets/samsung_icon.svg b/assets/samsung_icon.svg
new file mode 100644
index 00000000..009a67cd
--- /dev/null
+++ b/assets/samsung_icon.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/assets/screenshots/mobile.png b/assets/screenshots/mobile.png
new file mode 100644
index 00000000..e8e38b2a
Binary files /dev/null and b/assets/screenshots/mobile.png differ
diff --git a/assets/screenshots/screen1.png b/assets/screenshots/screen1.png
new file mode 100644
index 00000000..5392a6d1
Binary files /dev/null and b/assets/screenshots/screen1.png differ
diff --git a/assets/screenshots/screen2.png b/assets/screenshots/screen2.png
new file mode 100644
index 00000000..d2e0f968
Binary files /dev/null and b/assets/screenshots/screen2.png differ
diff --git a/assets/screenshots/screen3.png b/assets/screenshots/screen3.png
new file mode 100644
index 00000000..ea93179e
Binary files /dev/null and b/assets/screenshots/screen3.png differ
diff --git a/assets/screenshots/screen4.png b/assets/screenshots/screen4.png
new file mode 100644
index 00000000..5141e7a1
Binary files /dev/null and b/assets/screenshots/screen4.png differ
diff --git a/assets/screenshots/screen5.png b/assets/screenshots/screen5.png
new file mode 100644
index 00000000..c7662bec
Binary files /dev/null and b/assets/screenshots/screen5.png differ
diff --git a/assets/scss/app.scss b/assets/scss/app.scss
deleted file mode 100755
index a720c17f..00000000
--- a/assets/scss/app.scss
+++ /dev/null
@@ -1,33 +0,0 @@
-// Base Helpers
-@import
- 'base/fonts',
- 'base/states',
- 'base/utilities',
- 'base/animations';
-
-// Base Files
-@import
- 'base/globals',
- 'base/icons';
-
-// Vendor
-@import
- 'vendor/normalize',
- 'vendor/pure-grid';
-
-// Layout
-@import
- 'layout/l-header',
- 'layout/l-footer',
- 'layout/l-main',
- 'layout/l-generator';
-
-// Private SASS components (without logic)
-@import
- 'components/button',
- 'components/infobox';
-
-// Global CSS for error page
-.__nuxt-error-page .description, .__nuxt-error-page a {
- color: #47494E !important;
-}
diff --git a/assets/scss/base/_fonts.scss b/assets/scss/base/_fonts.scss
deleted file mode 100755
index d06b866d..00000000
--- a/assets/scss/base/_fonts.scss
+++ /dev/null
@@ -1,9 +0,0 @@
-@import 'variables';
-@import 'mixins/fonts';
-
-// Fonts
-@include font-include(Bitter, Regular, $font-weight-regular, normal);
-@include font-include(Bitter, Bold, $font-weight-bold, normal);
-@include font-include(FiraSans, Light, $font-weight-light, normal);
-@include font-include(FiraSans, Regular, $font-weight-regular, normal);
-@include font-include(FiraSans, Bold, $font-weight-bold, normal);
diff --git a/assets/scss/base/_globals.scss b/assets/scss/base/_globals.scss
deleted file mode 100755
index 71b80bb4..00000000
--- a/assets/scss/base/_globals.scss
+++ /dev/null
@@ -1,1428 +0,0 @@
-@import 'variables';
-
-/* stylelint-disable */
-
-html,
-body,
-input {
- $font-size: 18px;
- color: #3c3c3c;
-
- font-family: $font-family-l3;
- font-size: $font-size;
- height: 100%;
- width: 100%;
-
- @media screen and (max-width: $media-screen-m) {
- font-size: $font-size * .875;
- }
-
- @media screen and (max-width: $media-screen-s) {
- font-size: $font-size * .75;
- }
-}
-
-body {
- background: #f0f0f0;
- overflow-y: auto;
-}
-
-#__nuxt, #__layout {
- height: 100%;
-}
-
-input::placeholder {
- color: #3C3C3C;
- opacity: 0.4;
-}
-
-html {
- overflow-x: hidden;
-}
-
-button {
- cursor: pointer;
- transition: box-shadow 0.3s;
-
- &:focus {
- outline: 1px dotted rgba(220,220,220, .7);
- }
-}
-
-a:focus {
- outline: 1px dotted rgba(220,220,220, .7);
-}
-
-/*button:hover {
- box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
-}*/
-
-.popover-content {
- width: 18em !important;
-}
-
-h1,
-h2,
-h3,
-h4 {
- font-size: 24px;
- font-weight: normal;
- margin: 0;
- margin-block-end: 0;
- margin-block-start: 0;
-}
-
-h1 {
- margin-bottom: 30px;
- font-family: sans-serif;
- font-size: 24px;
-}
-
-h2 {
- font-size: 24px;
-}
-
-h3 {
- color: $color-button-primary-purple-variant;
-}
-
-p {
- font-size: 16px;
- line-height: 21px;
-}
-
-a {
- color: $color-button-primary-purple-variant;
-}
-
-.modal-screen {
- .l-footer {
- filter: blur(30px);
- }
- .bgArt {
- z-index: 144;
- }
-
- .mainDiv {
- filter: blur(30px);
- }
- .done-button {
- filter: blur(30px);
- }
-
- .modal-color {
- display: flex;
- position: fixed;
- top: 0;
- bottom: 0;
- width: 100%;
- height: 100%;
- // background: white;
- z-index: 100;
- left:0;
- right: 0;
-
- }
-}
-
-.modal {
- #wrapper {
- padding-bottom: 0;
- }
-
- .cancelText {
- display: block;
- text-align: center;
- padding-bottom: 3em;
- }
-}
-
-/* Buttons */
-.work-button {
- color: $color-brand-quintary;
- background-color: $color-brand-secondary;
- background-size: 240px 41px;
- background-repeat: no-repeat;
- display: inline-block;
- width: 240px;
- line-height: 41px;
- text-align: center;
- font-size: 16px;
- border: none;
-}
-
-.monaco-editor .line-numbers {
- color: #174f61 !important;
-}
-
-.monaco-editor .current-line ~ .line-numbers {
- color: #0b216f !important;
-}
-
-// fluent web
-
-@keyframes spinAround {
- from {
- transform: rotate(0deg); }
- to {
- transform: rotate(359deg); } }
-
-::root {
- --acrylic-background-texture: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC42/Ixj3wAABsJJREFUaEN12NtRo1sQg1G/EBE5kRM5OSfG34blkf+CB52+SereLlxw5vb5+fn29fX19vHx8fb+/n5Qfb/fnzE0r9ZLV8+MXuTJp16a6tvt9pzVo8NtXl9cjvneUX1rGAwNIpkx27o5czP98qJ850UP48GnaBYX6jm823joFW/MLKpeA7l5XJoiqOPhhnrnE3vAHmiGxxtnd/MtL+4Hbe/50bKEcfka6YW41dd5ppZYGifN8prXdwyemHaP5CnnjcPjhlC0dKNjEniEGejng2+hGuxyHMTd4zzOofbH9eByO18eYjHD6lC+i5mvMX3cEKcerVl9+uq0obp+XH7VceTFv/DndwRhDxA9oNnOwSHBYfWrl2tnc/31BHPYx5Yf7OIVWla+85bUT4xbrFfUx8U3510/T/56xTxEnjhBb/Pzo4UQajpgHxd2YTke4MUxd4zavuI+ZH3SNHNLcW9rtvzDMTB0xB6FXI1bHwd2wR6xx/KrbhZ40vPjkYZu+fWqT7QgoQc03MO2xmO8ZvI48l0a1M32yDzr15MvVy/vOJuH8x0JDmUKRAQMl1e+HHN9PtXFPYAPvQf6QFbrRvoizvkTxTKDSASWMypXpyk6Arcjdl7vqq2+zvNZLzwcvJ3RnYe0mIkjgjrOHk1crEdTT+0YejkdD/3892Gheagf30P0At7D4/sLV7NoKbG6aJ5QvzyzNd0joB6f4JDyZuJve83zsWdjvPMd6UCiyLvQ8YnqF3HKm18fCC2x0GPqp60OaeNcc3WRN11xZ+H8aFlQdBwSYwdlEtShHC8Nfj5xz6KfPH5zWrju4FddzqdYn5e7z+8RaNhCJgzNgkMtXtNgafk+AHc/JJzmfOxb8JHTuPXkDJmFhvUtDziBhmmIkzHzUI7LB0e/PE+7ivrl58hHvvr6qy8/vxAJ5Akahp3rHeGPYWZ70Gr4OKK5yLMaP25ean521OOJU93u87dWpEQOYmKh5eIahnpFXrsUj+fVL/gQyt0S1mthJ+3BEuUbHVueWB3iWG5evB5k6WqvPV7F6vV0S9hH41c/fyFGMlyjUF0fj1mgs6y8fppdqFfOU88jQjmslle70/AK56aSmo60hMG1bgG+Oo7F5uU01Xrpimf5I4+/vSJPvfWkUzdrx/M7Ytkev2YOYpRBM/xidTO932AxvzQb5XHzKvJOC7vj7O0/hMwjVu8Cy6/mmzfDX4286EPwYFq9cj1edgaPwKN5xG+S5eX1ElRb4ODAlCb8NltdeQvVDqFtj8PLl8cz5FOf1q2P+PrziRSIEjQzv5qtbg8o+iDwmpcHvHKHmvPR8zg6c/e//I/VLqxXPKQ5fM3M9ct3aZGOD23RI5ttf/3xykV9ebuev9kN5A5jaFYdOiDO6nZOg1sel3doxiOtnW4Q5bz17En32PH/R6thtQWI9Zgyqm4GZqBX1Nuji3bgh5+jTh4PN9RvDrRnVsPSNdGDFVfjBB4tvT6aTz083O2V4+K4pV7wkHp5l4fy558oa1DdUAyO0UtXz4xe5Mmn3nPp4yCzenS4DhaXY753VJ8/UYKhQSQzZls3Z26mX16U77zoYTz4FM3iQj2HdxsPveKf//bLQG4el6YI6ni4od75xB6wB5rh8cbZ3XzLi/tB23t+tCxhXL5GeiFu9XWeqSWWxkmzvOb1HYMnpt0jecp54/B4/tFYtHSjYxJ4hBno54NvoRrschzE3eM8zqH2x/XgcjtfHmIxw+pQvouZrzF93BCnHq1ZffrqtKG6flx+1XHkxb/w53cEYQ8QPaDZzsEhwWH1q5drZ3P99QRz2MeWH+ziFVpWvvOW1E+MW6xX1MfFN+ddP0/+esU8RJ44QW/z86OFEGo6YB8XdmE5HuDFMXeM2r7iPmR90jRzS3Fva7b8wzEwdMQehVyNWx8HdsEescfyq24WeNLz45GGbvn1qk+0IKEHNNzDtsZjvGbyOPJdGtTN9sg869eTL1cv7zibh5c/4xsyBSIChssrX465Pp/q4h7Ah94DfSCrdSN9Eef8iWKZQSQCyxmVq9MUHYHbETuvd9VWX+f5rBceDt7O6J7/HMTEEUEdZ48mLtajqad2DL2cjod+/vuw0DzUj+8hegHv4fH9hatZtJRYXTRPqF+e2ZruEVCPT3BIeTPxt73m+dizMd75jnQgUeRd6PhE9Ys45c2vD4SWWOgx9dNWh7Rxrrm6yJuuuLPw/Nd40XFIjB2USVCHcrw0+PnEPYt+8vjNaeG6g191OZ9ifV7uPr9HoGELmTA0Cw61eE2DpeX7ANz9kHCa87FvwUdO49b7/f72D9PLRpJIZD1ZAAAAAElFTkSuQmCC); }
-
-.has-acrylic-20.is-white {
- background: rgba(255, 255, 255, 0.2);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-20.is-black {
- background: rgba(10, 10, 10, 0.2);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-20.is-light {
- background: rgba(245, 245, 245, 0.2);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-20.is-dark {
- background: rgba(54, 54, 54, 0.2);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-20.is-primary {
- background: rgba(0, 209, 178, 0.2);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-20.is-link {
- background: rgba(50, 115, 220, 0.2);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-20.is-info {
- background: rgba(32, 156, 238, 0.2);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-20.is-success {
- background: rgba(35, 209, 96, 0.2);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-20.is-warning {
- background: rgba(255, 221, 87, 0.2);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-20.is-danger {
- background: rgba(255, 56, 96, 0.2);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-40.is-white {
- background: rgba(255, 255, 255, 0.4);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-40.is-black {
- background: rgba(10, 10, 10, 0.4);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-40.is-light {
- background: rgba(245, 245, 245, 0.4);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-40.is-dark {
- background: rgba(54, 54, 54, 0.4);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-40.is-primary {
- background: rgba(0, 209, 178, 0.4);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-40.is-link {
- background: rgba(50, 115, 220, 0.4);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-40.is-info {
- background: rgba(32, 156, 238, 0.4);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-40.is-success {
- background: rgba(35, 209, 96, 0.4);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-40.is-warning {
- background: rgba(255, 221, 87, 0.4);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-40.is-danger {
- background: rgba(255, 56, 96, 0.4);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-60.is-white {
- background: rgba(255, 255, 255, 0.6);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-60.is-black {
- background: rgba(10, 10, 10, 0.6);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-60.is-light {
- background: rgba(245, 245, 245, 0.6);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-60.is-dark {
- background: rgba(54, 54, 54, 0.6);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-60.is-primary {
- background: rgba(0, 209, 178, 0.6);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-60.is-link {
- background: rgba(50, 115, 220, 0.6);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-60.is-info {
- background: rgba(32, 156, 238, 0.6);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-60.is-success {
- background: rgba(35, 209, 96, 0.6);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-60.is-warning {
- background: rgba(255, 221, 87, 0.6);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-60.is-danger {
- background: rgba(255, 56, 96, 0.6);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-80.is-white {
- background: rgba(255, 255, 255, 0.8);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-80.is-black {
- background: rgba(10, 10, 10, 0.8);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-80.is-light {
- background: rgba(245, 245, 245, 0.8);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-80.is-dark {
- background: rgba(54, 54, 54, 0.8);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-80.is-primary {
- background: rgba(0, 209, 178, 0.8);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-80.is-link {
- background: rgba(50, 115, 220, 0.8);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-80.is-info {
- background: rgba(32, 156, 238, 0.8);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-80.is-success {
- background: rgba(35, 209, 96, 0.8);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-80.is-warning {
- background: rgba(255, 221, 87, 0.8);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-acrylic-80.is-danger {
- background: rgba(255, 56, 96, 0.8);
- backdrop-filter: blur(10px) saturate(120%);
- background-image: var(--acrylic-background-texture); }
-
-.has-backgroundblur-20.is-white {
- background: rgba(255, 255, 255, 0.2);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-20.is-black {
- background: rgba(10, 10, 10, 0.2);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-20.is-light {
- background: rgba(245, 245, 245, 0.2);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-20.is-dark {
- background: rgba(54, 54, 54, 0.2);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-20.is-primary {
- background: rgba(0, 209, 178, 0.2);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-20.is-link {
- background: rgba(50, 115, 220, 0.2);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-20.is-info {
- background: rgba(32, 156, 238, 0.2);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-20.is-success {
- background: rgba(35, 209, 96, 0.2);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-20.is-warning {
- background: rgba(255, 221, 87, 0.2);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-20.is-danger {
- background: rgba(255, 56, 96, 0.2);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-40.is-white {
- background: rgba(255, 255, 255, 0.4);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-40.is-black {
- background: rgba(10, 10, 10, 0.4);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-40.is-light {
- background: rgba(245, 245, 245, 0.4);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-40.is-dark {
- background: rgba(54, 54, 54, 0.4);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-40.is-primary {
- background: rgba(0, 209, 178, 0.4);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-40.is-link {
- background: rgba(50, 115, 220, 0.4);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-40.is-info {
- background: rgba(32, 156, 238, 0.4);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-40.is-success {
- background: rgba(35, 209, 96, 0.4);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-40.is-warning {
- background: rgba(255, 221, 87, 0.4);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-40.is-danger {
- background: rgba(255, 56, 96, 0.4);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-60.is-white {
- background: rgba(255, 255, 255, 0.6);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-60.is-black {
- background: rgba(10, 10, 10, 0.6);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-60.is-light {
- background: rgba(245, 245, 245, 0.6);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-60.is-dark {
- background: rgba(54, 54, 54, 0.6);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-60.is-primary {
- background: rgba(0, 209, 178, 0.6);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-60.is-link {
- background: rgba(50, 115, 220, 0.6);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-60.is-info {
- background: rgba(32, 156, 238, 0.6);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-60.is-success {
- background: rgba(35, 209, 96, 0.6);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-60.is-warning {
- background: rgba(255, 221, 87, 0.6);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-60.is-danger {
- background: rgba(255, 56, 96, 0.6);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-80.is-white {
- background: rgba(255, 255, 255, 0.8);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-80.is-black {
- background: rgba(10, 10, 10, 0.8);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-80.is-light {
- background: rgba(245, 245, 245, 0.8);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-80.is-dark {
- background: rgba(54, 54, 54, 0.8);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-80.is-primary {
- background: rgba(0, 209, 178, 0.8);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-80.is-link {
- background: rgba(50, 115, 220, 0.8);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-80.is-info {
- background: rgba(32, 156, 238, 0.8);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-80.is-success {
- background: rgba(35, 209, 96, 0.8);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-80.is-warning {
- background: rgba(255, 221, 87, 0.8);
- backdrop-filter: blur(5px); }
-
-.has-backgroundblur-80.is-danger {
- background: rgba(255, 56, 96, 0.8);
- backdrop-filter: blur(5px); }
-
-.has-reveal-background {
- display: block;
- background-repeat: no-repeat; }
- .has-reveal-background:active, .has-reveal-background:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal-background.is-white:active, .has-reveal-background.is-white:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal-background.is-black:active, .has-reveal-background.is-black:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.4) 0, rgba(10, 10, 10, 0) 208px); }
- .has-reveal-background.is-light:active, .has-reveal-background.is-light:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.4) 0, rgba(245, 245, 245, 0) 208px); }
- .has-reveal-background.is-dark:active, .has-reveal-background.is-dark:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.4) 0, rgba(54, 54, 54, 0) 208px); }
- .has-reveal-background.is-primary:active, .has-reveal-background.is-primary:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.4) 0, rgba(0, 209, 178, 0) 208px); }
- .has-reveal-background.is-link:active, .has-reveal-background.is-link:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.4) 0, rgba(50, 115, 220, 0) 208px); }
- .has-reveal-background.is-info:active, .has-reveal-background.is-info:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.4) 0, rgba(32, 156, 238, 0) 208px); }
- .has-reveal-background.is-success:active, .has-reveal-background.is-success:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.4) 0, rgba(35, 209, 96, 0) 208px); }
- .has-reveal-background.is-warning:active, .has-reveal-background.is-warning:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.4) 0, rgba(255, 221, 87, 0) 208px); }
- .has-reveal-background.is-danger:active, .has-reveal-background.is-danger:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.4) 0, rgba(255, 56, 96, 0) 208px); }
-
-.has-reveal-border {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border.is-white {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border.is-black {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.4) 0, rgba(10, 10, 10, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border.is-light {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.4) 0, rgba(245, 245, 245, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border.is-dark {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.4) 0, rgba(54, 54, 54, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border.is-primary {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.4) 0, rgba(0, 209, 178, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border.is-link {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.4) 0, rgba(50, 115, 220, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border.is-info {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.4) 0, rgba(32, 156, 238, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border.is-success {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.4) 0, rgba(35, 209, 96, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border.is-warning {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.4) 0, rgba(255, 221, 87, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border.is-danger {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.4) 0, rgba(255, 56, 96, 0) 96px);
- border-image-slice: 1; }
-
-.has-reveal {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1;
- display: block;
- background-repeat: no-repeat; }
- .has-reveal:active, .has-reveal:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal.is-white {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal.is-white:active, .has-reveal.is-white:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal.is-black {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.4) 0, rgba(10, 10, 10, 0) 96px);
- border-image-slice: 1; }
- .has-reveal.is-black:active, .has-reveal.is-black:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.4) 0, rgba(10, 10, 10, 0) 208px); }
- .has-reveal.is-light {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.4) 0, rgba(245, 245, 245, 0) 96px);
- border-image-slice: 1; }
- .has-reveal.is-light:active, .has-reveal.is-light:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.4) 0, rgba(245, 245, 245, 0) 208px); }
- .has-reveal.is-dark {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.4) 0, rgba(54, 54, 54, 0) 96px);
- border-image-slice: 1; }
- .has-reveal.is-dark:active, .has-reveal.is-dark:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.4) 0, rgba(54, 54, 54, 0) 208px); }
- .has-reveal.is-primary {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.4) 0, rgba(0, 209, 178, 0) 96px);
- border-image-slice: 1; }
- .has-reveal.is-primary:active, .has-reveal.is-primary:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.4) 0, rgba(0, 209, 178, 0) 208px); }
- .has-reveal.is-link {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.4) 0, rgba(50, 115, 220, 0) 96px);
- border-image-slice: 1; }
- .has-reveal.is-link:active, .has-reveal.is-link:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.4) 0, rgba(50, 115, 220, 0) 208px); }
- .has-reveal.is-info {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.4) 0, rgba(32, 156, 238, 0) 96px);
- border-image-slice: 1; }
- .has-reveal.is-info:active, .has-reveal.is-info:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.4) 0, rgba(32, 156, 238, 0) 208px); }
- .has-reveal.is-success {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.4) 0, rgba(35, 209, 96, 0) 96px);
- border-image-slice: 1; }
- .has-reveal.is-success:active, .has-reveal.is-success:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.4) 0, rgba(35, 209, 96, 0) 208px); }
- .has-reveal.is-warning {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.4) 0, rgba(255, 221, 87, 0) 96px);
- border-image-slice: 1; }
- .has-reveal.is-warning:active, .has-reveal.is-warning:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.4) 0, rgba(255, 221, 87, 0) 208px); }
- .has-reveal.is-danger {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.4) 0, rgba(255, 56, 96, 0) 96px);
- border-image-slice: 1; }
- .has-reveal.is-danger:active, .has-reveal.is-danger:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.4) 0, rgba(255, 56, 96, 0) 208px); }
-
-.has-reveal-20 {
- display: block;
- background-repeat: no-repeat;
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-20:active, .has-reveal-20:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal-20.is-white {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-20.is-white:active, .has-reveal-20.is-white:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal-20.is-black {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.2) 0, rgba(10, 10, 10, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-20.is-black:active, .has-reveal-20.is-black:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.2) 0, rgba(10, 10, 10, 0) 208px); }
- .has-reveal-20.is-light {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.2) 0, rgba(245, 245, 245, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-20.is-light:active, .has-reveal-20.is-light:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.2) 0, rgba(245, 245, 245, 0) 208px); }
- .has-reveal-20.is-dark {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.2) 0, rgba(54, 54, 54, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-20.is-dark:active, .has-reveal-20.is-dark:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.2) 0, rgba(54, 54, 54, 0) 208px); }
- .has-reveal-20.is-primary {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.2) 0, rgba(0, 209, 178, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-20.is-primary:active, .has-reveal-20.is-primary:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.2) 0, rgba(0, 209, 178, 0) 208px); }
- .has-reveal-20.is-link {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.2) 0, rgba(50, 115, 220, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-20.is-link:active, .has-reveal-20.is-link:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.2) 0, rgba(50, 115, 220, 0) 208px); }
- .has-reveal-20.is-info {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.2) 0, rgba(32, 156, 238, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-20.is-info:active, .has-reveal-20.is-info:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.2) 0, rgba(32, 156, 238, 0) 208px); }
- .has-reveal-20.is-success {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.2) 0, rgba(35, 209, 96, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-20.is-success:active, .has-reveal-20.is-success:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.2) 0, rgba(35, 209, 96, 0) 208px); }
- .has-reveal-20.is-warning {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.2) 0, rgba(255, 221, 87, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-20.is-warning:active, .has-reveal-20.is-warning:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.2) 0, rgba(255, 221, 87, 0) 208px); }
- .has-reveal-20.is-danger {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.2) 0, rgba(255, 56, 96, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-20.is-danger:active, .has-reveal-20.is-danger:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.2) 0, rgba(255, 56, 96, 0) 208px); }
-
-.has-reveal-40 {
- display: block;
- background-repeat: no-repeat;
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-40:active, .has-reveal-40:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal-40.is-white {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-40.is-white:active, .has-reveal-40.is-white:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal-40.is-black {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.4) 0, rgba(10, 10, 10, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-40.is-black:active, .has-reveal-40.is-black:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.4) 0, rgba(10, 10, 10, 0) 208px); }
- .has-reveal-40.is-light {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.4) 0, rgba(245, 245, 245, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-40.is-light:active, .has-reveal-40.is-light:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.4) 0, rgba(245, 245, 245, 0) 208px); }
- .has-reveal-40.is-dark {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.4) 0, rgba(54, 54, 54, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-40.is-dark:active, .has-reveal-40.is-dark:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.4) 0, rgba(54, 54, 54, 0) 208px); }
- .has-reveal-40.is-primary {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.4) 0, rgba(0, 209, 178, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-40.is-primary:active, .has-reveal-40.is-primary:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.4) 0, rgba(0, 209, 178, 0) 208px); }
- .has-reveal-40.is-link {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.4) 0, rgba(50, 115, 220, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-40.is-link:active, .has-reveal-40.is-link:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.4) 0, rgba(50, 115, 220, 0) 208px); }
- .has-reveal-40.is-info {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.4) 0, rgba(32, 156, 238, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-40.is-info:active, .has-reveal-40.is-info:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.4) 0, rgba(32, 156, 238, 0) 208px); }
- .has-reveal-40.is-success {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.4) 0, rgba(35, 209, 96, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-40.is-success:active, .has-reveal-40.is-success:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.4) 0, rgba(35, 209, 96, 0) 208px); }
- .has-reveal-40.is-warning {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.4) 0, rgba(255, 221, 87, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-40.is-warning:active, .has-reveal-40.is-warning:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.4) 0, rgba(255, 221, 87, 0) 208px); }
- .has-reveal-40.is-danger {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.4) 0, rgba(255, 56, 96, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-40.is-danger:active, .has-reveal-40.is-danger:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.4) 0, rgba(255, 56, 96, 0) 208px); }
-
-.has-reveal-60 {
- display: block;
- background-repeat: no-repeat;
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.6) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-60:active, .has-reveal-60:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.6) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal-60.is-white {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.6) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-60.is-white:active, .has-reveal-60.is-white:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.6) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal-60.is-black {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.6) 0, rgba(10, 10, 10, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-60.is-black:active, .has-reveal-60.is-black:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.6) 0, rgba(10, 10, 10, 0) 208px); }
- .has-reveal-60.is-light {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.6) 0, rgba(245, 245, 245, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-60.is-light:active, .has-reveal-60.is-light:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.6) 0, rgba(245, 245, 245, 0) 208px); }
- .has-reveal-60.is-dark {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.6) 0, rgba(54, 54, 54, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-60.is-dark:active, .has-reveal-60.is-dark:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.6) 0, rgba(54, 54, 54, 0) 208px); }
- .has-reveal-60.is-primary {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.6) 0, rgba(0, 209, 178, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-60.is-primary:active, .has-reveal-60.is-primary:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.6) 0, rgba(0, 209, 178, 0) 208px); }
- .has-reveal-60.is-link {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.6) 0, rgba(50, 115, 220, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-60.is-link:active, .has-reveal-60.is-link:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.6) 0, rgba(50, 115, 220, 0) 208px); }
- .has-reveal-60.is-info {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.6) 0, rgba(32, 156, 238, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-60.is-info:active, .has-reveal-60.is-info:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.6) 0, rgba(32, 156, 238, 0) 208px); }
- .has-reveal-60.is-success {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.6) 0, rgba(35, 209, 96, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-60.is-success:active, .has-reveal-60.is-success:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.6) 0, rgba(35, 209, 96, 0) 208px); }
- .has-reveal-60.is-warning {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.6) 0, rgba(255, 221, 87, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-60.is-warning:active, .has-reveal-60.is-warning:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.6) 0, rgba(255, 221, 87, 0) 208px); }
- .has-reveal-60.is-danger {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.6) 0, rgba(255, 56, 96, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-60.is-danger:active, .has-reveal-60.is-danger:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.6) 0, rgba(255, 56, 96, 0) 208px); }
-
-.has-reveal-80 {
- display: block;
- background-repeat: no-repeat;
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.8) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-80:active, .has-reveal-80:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.8) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal-80.is-white {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.8) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-80.is-white:active, .has-reveal-80.is-white:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.8) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal-80.is-black {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.8) 0, rgba(10, 10, 10, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-80.is-black:active, .has-reveal-80.is-black:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.8) 0, rgba(10, 10, 10, 0) 208px); }
- .has-reveal-80.is-light {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.8) 0, rgba(245, 245, 245, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-80.is-light:active, .has-reveal-80.is-light:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.8) 0, rgba(245, 245, 245, 0) 208px); }
- .has-reveal-80.is-dark {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.8) 0, rgba(54, 54, 54, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-80.is-dark:active, .has-reveal-80.is-dark:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.8) 0, rgba(54, 54, 54, 0) 208px); }
- .has-reveal-80.is-primary {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.8) 0, rgba(0, 209, 178, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-80.is-primary:active, .has-reveal-80.is-primary:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.8) 0, rgba(0, 209, 178, 0) 208px); }
- .has-reveal-80.is-link {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.8) 0, rgba(50, 115, 220, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-80.is-link:active, .has-reveal-80.is-link:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.8) 0, rgba(50, 115, 220, 0) 208px); }
- .has-reveal-80.is-info {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.8) 0, rgba(32, 156, 238, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-80.is-info:active, .has-reveal-80.is-info:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.8) 0, rgba(32, 156, 238, 0) 208px); }
- .has-reveal-80.is-success {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.8) 0, rgba(35, 209, 96, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-80.is-success:active, .has-reveal-80.is-success:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.8) 0, rgba(35, 209, 96, 0) 208px); }
- .has-reveal-80.is-warning {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.8) 0, rgba(255, 221, 87, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-80.is-warning:active, .has-reveal-80.is-warning:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.8) 0, rgba(255, 221, 87, 0) 208px); }
- .has-reveal-80.is-danger {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.8) 0, rgba(255, 56, 96, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-80.is-danger:active, .has-reveal-80.is-danger:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.8) 0, rgba(255, 56, 96, 0) 208px); }
-
-.has-reveal-border-20 {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-20.is-white {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-20.is-black {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.2) 0, rgba(10, 10, 10, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-20.is-light {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.2) 0, rgba(245, 245, 245, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-20.is-dark {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.2) 0, rgba(54, 54, 54, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-20.is-primary {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.2) 0, rgba(0, 209, 178, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-20.is-link {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.2) 0, rgba(50, 115, 220, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-20.is-info {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.2) 0, rgba(32, 156, 238, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-20.is-success {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.2) 0, rgba(35, 209, 96, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-20.is-warning {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.2) 0, rgba(255, 221, 87, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-20.is-danger {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.2) 0, rgba(255, 56, 96, 0) 96px);
- border-image-slice: 1; }
-
-.has-reveal-border-40 {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-40.is-white {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-40.is-black {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.4) 0, rgba(10, 10, 10, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-40.is-light {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.4) 0, rgba(245, 245, 245, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-40.is-dark {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.4) 0, rgba(54, 54, 54, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-40.is-primary {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.4) 0, rgba(0, 209, 178, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-40.is-link {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.4) 0, rgba(50, 115, 220, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-40.is-info {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.4) 0, rgba(32, 156, 238, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-40.is-success {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.4) 0, rgba(35, 209, 96, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-40.is-warning {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.4) 0, rgba(255, 221, 87, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-40.is-danger {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.4) 0, rgba(255, 56, 96, 0) 96px);
- border-image-slice: 1; }
-
-.has-reveal-border-60 {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.6) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-60.is-white {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.6) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-60.is-black {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.6) 0, rgba(10, 10, 10, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-60.is-light {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.6) 0, rgba(245, 245, 245, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-60.is-dark {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.6) 0, rgba(54, 54, 54, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-60.is-primary {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.6) 0, rgba(0, 209, 178, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-60.is-link {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.6) 0, rgba(50, 115, 220, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-60.is-info {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.6) 0, rgba(32, 156, 238, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-60.is-success {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.6) 0, rgba(35, 209, 96, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-60.is-warning {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.6) 0, rgba(255, 221, 87, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-60.is-danger {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.6) 0, rgba(255, 56, 96, 0) 96px);
- border-image-slice: 1; }
-
-.has-reveal-border-80 {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.8) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-80.is-white {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.8) 0, rgba(255, 255, 255, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-80.is-black {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.8) 0, rgba(10, 10, 10, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-80.is-light {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.8) 0, rgba(245, 245, 245, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-80.is-dark {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.8) 0, rgba(54, 54, 54, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-80.is-primary {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.8) 0, rgba(0, 209, 178, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-80.is-link {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.8) 0, rgba(50, 115, 220, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-80.is-info {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.8) 0, rgba(32, 156, 238, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-80.is-success {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.8) 0, rgba(35, 209, 96, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-80.is-warning {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.8) 0, rgba(255, 221, 87, 0) 96px);
- border-image-slice: 1; }
- .has-reveal-border-80.is-danger {
- border: solid 1px transparent;
- border-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.8) 0, rgba(255, 56, 96, 0) 96px);
- border-image-slice: 1; }
-
-.has-reveal-background-20 {
- display: block;
- background-repeat: no-repeat; }
- .has-reveal-background-20:active, .has-reveal-background-20:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal-background-20.is-white:active, .has-reveal-background-20.is-white:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.2) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal-background-20.is-black:active, .has-reveal-background-20.is-black:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.2) 0, rgba(10, 10, 10, 0) 208px); }
- .has-reveal-background-20.is-light:active, .has-reveal-background-20.is-light:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.2) 0, rgba(245, 245, 245, 0) 208px); }
- .has-reveal-background-20.is-dark:active, .has-reveal-background-20.is-dark:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.2) 0, rgba(54, 54, 54, 0) 208px); }
- .has-reveal-background-20.is-primary:active, .has-reveal-background-20.is-primary:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.2) 0, rgba(0, 209, 178, 0) 208px); }
- .has-reveal-background-20.is-link:active, .has-reveal-background-20.is-link:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.2) 0, rgba(50, 115, 220, 0) 208px); }
- .has-reveal-background-20.is-info:active, .has-reveal-background-20.is-info:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.2) 0, rgba(32, 156, 238, 0) 208px); }
- .has-reveal-background-20.is-success:active, .has-reveal-background-20.is-success:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.2) 0, rgba(35, 209, 96, 0) 208px); }
- .has-reveal-background-20.is-warning:active, .has-reveal-background-20.is-warning:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.2) 0, rgba(255, 221, 87, 0) 208px); }
- .has-reveal-background-20.is-danger:active, .has-reveal-background-20.is-danger:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.2) 0, rgba(255, 56, 96, 0) 208px); }
-
-.has-reveal-background-40 {
- display: block;
- background-repeat: no-repeat; }
- .has-reveal-background-40:active, .has-reveal-background-40:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal-background-40.is-white:active, .has-reveal-background-40.is-white:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal-background-40.is-black:active, .has-reveal-background-40.is-black:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.4) 0, rgba(10, 10, 10, 0) 208px); }
- .has-reveal-background-40.is-light:active, .has-reveal-background-40.is-light:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.4) 0, rgba(245, 245, 245, 0) 208px); }
- .has-reveal-background-40.is-dark:active, .has-reveal-background-40.is-dark:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.4) 0, rgba(54, 54, 54, 0) 208px); }
- .has-reveal-background-40.is-primary:active, .has-reveal-background-40.is-primary:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.4) 0, rgba(0, 209, 178, 0) 208px); }
- .has-reveal-background-40.is-link:active, .has-reveal-background-40.is-link:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.4) 0, rgba(50, 115, 220, 0) 208px); }
- .has-reveal-background-40.is-info:active, .has-reveal-background-40.is-info:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.4) 0, rgba(32, 156, 238, 0) 208px); }
- .has-reveal-background-40.is-success:active, .has-reveal-background-40.is-success:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.4) 0, rgba(35, 209, 96, 0) 208px); }
- .has-reveal-background-40.is-warning:active, .has-reveal-background-40.is-warning:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.4) 0, rgba(255, 221, 87, 0) 208px); }
- .has-reveal-background-40.is-danger:active, .has-reveal-background-40.is-danger:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.4) 0, rgba(255, 56, 96, 0) 208px); }
-
-.has-reveal-background-60 {
- display: block;
- background-repeat: no-repeat; }
- .has-reveal-background-60:active, .has-reveal-background-60:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.6) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal-background-60.is-white:active, .has-reveal-background-60.is-white:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.6) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal-background-60.is-black:active, .has-reveal-background-60.is-black:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.6) 0, rgba(10, 10, 10, 0) 208px); }
- .has-reveal-background-60.is-light:active, .has-reveal-background-60.is-light:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.6) 0, rgba(245, 245, 245, 0) 208px); }
- .has-reveal-background-60.is-dark:active, .has-reveal-background-60.is-dark:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.6) 0, rgba(54, 54, 54, 0) 208px); }
- .has-reveal-background-60.is-primary:active, .has-reveal-background-60.is-primary:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.6) 0, rgba(0, 209, 178, 0) 208px); }
- .has-reveal-background-60.is-link:active, .has-reveal-background-60.is-link:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.6) 0, rgba(50, 115, 220, 0) 208px); }
- .has-reveal-background-60.is-info:active, .has-reveal-background-60.is-info:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.6) 0, rgba(32, 156, 238, 0) 208px); }
- .has-reveal-background-60.is-success:active, .has-reveal-background-60.is-success:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.6) 0, rgba(35, 209, 96, 0) 208px); }
- .has-reveal-background-60.is-warning:active, .has-reveal-background-60.is-warning:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.6) 0, rgba(255, 221, 87, 0) 208px); }
- .has-reveal-background-60.is-danger:active, .has-reveal-background-60.is-danger:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.6) 0, rgba(255, 56, 96, 0) 208px); }
-
-.has-reveal-background-80 {
- display: block;
- background-repeat: no-repeat; }
- .has-reveal-background-80:active, .has-reveal-background-80:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.8) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal-background-80.is-white:active, .has-reveal-background-80.is-white:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 255, 255, 0.8) 0, rgba(255, 255, 255, 0) 208px); }
- .has-reveal-background-80.is-black:active, .has-reveal-background-80.is-black:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(10, 10, 10, 0.8) 0, rgba(10, 10, 10, 0) 208px); }
- .has-reveal-background-80.is-light:active, .has-reveal-background-80.is-light:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(245, 245, 245, 0.8) 0, rgba(245, 245, 245, 0) 208px); }
- .has-reveal-background-80.is-dark:active, .has-reveal-background-80.is-dark:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(54, 54, 54, 0.8) 0, rgba(54, 54, 54, 0) 208px); }
- .has-reveal-background-80.is-primary:active, .has-reveal-background-80.is-primary:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(0, 209, 178, 0.8) 0, rgba(0, 209, 178, 0) 208px); }
- .has-reveal-background-80.is-link:active, .has-reveal-background-80.is-link:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(50, 115, 220, 0.8) 0, rgba(50, 115, 220, 0) 208px); }
- .has-reveal-background-80.is-info:active, .has-reveal-background-80.is-info:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(32, 156, 238, 0.8) 0, rgba(32, 156, 238, 0) 208px); }
- .has-reveal-background-80.is-success:active, .has-reveal-background-80.is-success:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(35, 209, 96, 0.8) 0, rgba(35, 209, 96, 0) 208px); }
- .has-reveal-background-80.is-warning:active, .has-reveal-background-80.is-warning:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 221, 87, 0.8) 0, rgba(255, 221, 87, 0) 208px); }
- .has-reveal-background-80.is-danger:active, .has-reveal-background-80.is-danger:hover {
- border-image-slice: 1;
- background-image: radial-gradient(circle at var(--first-pointer-x) var(--first-pointer-y), rgba(255, 56, 96, 0.8) 0, rgba(255, 56, 96, 0) 208px); }
-
-.has-tilt {
- cursor: pointer;
- user-select: none; }
- .has-tilt > * {
- width: 100%;
- height: 100%;
- transition: transform 0.12s ease-out; }
- .has-tilt:active > * {
- transform: perspective(400px) translateZ(var(--tilt-offset-z)) rotateY(var(--tilt-rotation-y)) rotateX(var(--tilt-rotation-x)); }
-
-/* Forms */
-form {
- font-family: $font-family-l3;
-
- .form-group {
- margin-bottom: 1rem;
-
- label {
- display: inline-block;
- }
-
- .form-control {
- display: block;
- width: 100%;
- height: calc(1.5em + .75rem + 2px);
- padding: .375rem .75rem;
- font-size: 1rem;
- font-weight: 400;
- line-height: 1.5;
- color: $color-brand-tertiary;
- background-color: #fff;
- background-clip: padding-box;
- border: 1px solid #ced4da;
- border-radius: .25rem;
- transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
- }
-
- .form-text {
- display: block;
- margin-top: .25rem;
- }
-
- .form-check {
- position: relative;
- display: block;
- padding-left: 2rem;
- }
-
- .form-check-input {
- position: absolute;
- margin-top: -3px;
- margin-left: -1.25rem;
- width: 13px;
- height: 30px;
- }
-
- .form-check-input[disabled] ~ .form-check-label,
- .form-check-input:disabled ~ .form-check-label {
- color: #6c757d;
- }
-
- .form-check-label {
- margin-bottom: 0;
- }
-
- .form-check-inline {
- display: -ms-inline-flexbox;
- display: inline-flex;
- -ms-flex-align: center;
- align-items: center;
- padding-left: 0;
- margin-right: 0.75rem;
- }
-
- .form-check-inline .form-check-input {
- position: static;
- margin-top: 0;
- margin-right: 0.3125rem;
- margin-left: 0;
- }
- }
-}
-
-.text-danger {
- color: $color-brand-warning;
-}
\ No newline at end of file
diff --git a/assets/scss/base/_icons.scss b/assets/scss/base/_icons.scss
deleted file mode 100644
index 73dcd5db..00000000
--- a/assets/scss/base/_icons.scss
+++ /dev/null
@@ -1,9 +0,0 @@
-@import 'mixins/icomoon';
-$icons: (
- times: 'f00d',
- magic: 'f0d0',
- exclamation: 'f12a',
- angle-down: 'f107'
-);
-
-@include icomoon-generate($icons);
\ No newline at end of file
diff --git a/assets/scss/base/_states.scss b/assets/scss/base/_states.scss
deleted file mode 100755
index 7e3502e1..00000000
--- a/assets/scss/base/_states.scss
+++ /dev/null
@@ -1,14 +0,0 @@
-@import 'variables';
-@import 'mixins/medias';
-
-.is {
- &-hidden {
- display: none;
- }
-
- &-disabled {
- @include medias {
- opacity: .5;
- }
- }
-}
diff --git a/assets/scss/base/_utilities.scss b/assets/scss/base/_utilities.scss
deleted file mode 100755
index e69de29b..00000000
diff --git a/assets/scss/base/_variables.scss b/assets/scss/base/_variables.scss
deleted file mode 100755
index a8216171..00000000
--- a/assets/scss/base/_variables.scss
+++ /dev/null
@@ -1,52 +0,0 @@
-/* stylelint-disable*/
-@import 'mixins/layout';
-
-//new colors for brand
-$color-brand-secondary: #2f7471;
-$color-button-primary: #9337D8;
-$color-brand-tertiary: #3C3C3C;
-$color-brand-quartary:#F49C45;
-$color-brand-quintary:white;
-$color-brand-warning: #D95050;
-$color-muted: #8c949b;
-
-// $color-button-primary-green-variant: #21ABA5;
-$color-button-primary-purple-variant: linear-gradient(to right, #7644C2, #11999E);
-// $color-button-primary-blue-variant: linear-gradient(to right, #4B76CC, #04BEFE);;
-
-// Animations
-$animation-speed-default: .35s;
-$animation-speed-slow: 1s;
-$animation-speed-fast: .15s;
-$animation-ease-default: ease-out;
-$animation-ease-minimal: linear;
-$animation-ease-vibrant: #{'cubic-bezier(.03, .77, .39, 1.21)'};
-
-// Fonts
-$font-weight-light: 200;
-$font-weight-semilight: 300;
-$font-weight-regular: 400;
-$font-weight-semibold: 600;
-$font-weight-bold: 700;
-$font-weight-black: 800;
-$font-size-xxs: .65rem; // 10px
-$font-size-xs: .75rem; // 12px
-$font-size-s: .85rem; // 13.6px
-$font-size-m: 1rem; // 16px
-$font-size-l: 1.5rem; // 24px
-$font-size-xl: 2.5rem; // 40px
-$font-family-l3: "Segoe UI",Roboto,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
-
-// Medias
-$media-screen-xxs: 22.5em; // 360px
-$media-screen-xs: 40em; // 640px
-$media-screen-s: 48em; // 768px
-$media-screen-m: 64em; // 1024px
-$media-screen-l: 80em; // 1280px
-$media-screen-xl: 71.25em; // 1440px
-$media-screen-xxl: 105em; // 1680px
-$media-screen-xxxl: 120em; // 1920px
-
-// Variables for mixins
-$medias: xxs, xs, s, m, l, xl, xxl, xxxl;
-$mediavalues: $media-screen-xxs, $media-screen-xs, $media-screen-s, $media-screen-m, $media-screen-l, $media-screen-xl, $media-screen-xxl, $media-screen-xxxl;
diff --git a/assets/scss/base/animations.scss b/assets/scss/base/animations.scss
deleted file mode 100644
index 5bcba924..00000000
--- a/assets/scss/base/animations.scss
+++ /dev/null
@@ -1,27 +0,0 @@
-/* stylelint-disable */
-
-@keyframes overlayUp {
- from {
- opacity: 0;
- transform: translateY(40px);
- }
-
- to {
- opacity: 1;
- transform: translateY(0);
- }
-}
-
-@keyframes gradient {
- 0% {
- background-position: 0% 50%
- }
-
- 50% {
- background-position: 100% 50%
- }
-
- 100% {
- background-position: 0% 50%
- }
-}
\ No newline at end of file
diff --git a/assets/scss/base/mixins/_fonts.scss b/assets/scss/base/mixins/_fonts.scss
deleted file mode 100755
index 737118f2..00000000
--- a/assets/scss/base/mixins/_fonts.scss
+++ /dev/null
@@ -1,42 +0,0 @@
-// @Author https://gist.github.com/jonathantneal/d0460e5c2d5d7f9bc5e6
-
-// =============================================================================
-// String Replace
-// =============================================================================
-
-@function str-replace($string, $search, $replace: '') {
- $index: str-index($string, $search);
-
- @if $index {
- @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
- }
-
- @return $string;
-}
-
-// =============================================================================
-// Font Face
-// =============================================================================
-
-@mixin font-face($name, $path, $weight: null, $style: null, $exts: eot woff ttf svg) {
- $src: null;
- $extmods: ( eot: '?', svg: '#' + str-replace($name, ' ', '_') );
- $formats: ( otf: 'opentype', ttf: 'truetype' );
-
- @each $ext in $exts {
- $extmod: if(map-has-key($extmods, $ext), $ext + map-get($extmods, $ext), $ext);
- $format: if(map-has-key($formats, $ext), map-get($formats, $ext), $ext);
- $src: append($src, url(quote($path + '.' + $extmod)) format(quote($format)), comma);
- }
-
- @font-face {
- font-family: quote($name);
- font-style: $style;
- font-weight: $weight;
- src: $src;
- }
-}
-
-@mixin font-include($font, $type, $weight: null, $style: null) {
- @include font-face($font, '/static/fonts/' + $font + '-' + $type, $weight, $style);
-}
diff --git a/assets/scss/base/mixins/_icomoon.scss b/assets/scss/base/mixins/_icomoon.scss
deleted file mode 100644
index ecceac6a..00000000
--- a/assets/scss/base/mixins/_icomoon.scss
+++ /dev/null
@@ -1,39 +0,0 @@
-// stylelint-disable
-@mixin icomoon {
- @font-face {
- font-family: 'Icomoon';
- font-style: normal;
- font-weight: normal;
- src: url('/static/fonts/icomoon.eot?pjsjp3');
- src: url('/static/fonts/icomoon.eot?pjsjp3#iefix') format('embedded-opentype'), url('/static/fonts/icomoon.ttf?pjsjp3') format('truetype'), url('/static/fonts/icomoon.woff?pjsjp3') format('woff'), url('/static/fonts/icomoon.svg?pjsjp3#Icomoon') format('svg');
- }
-
- [class^='icon-'], [class*=' icon-'] {
- /* use !important to prevent issues with browser extensions that change fonts */
- font-family: 'Icomoon' !important;
- font-style: normal;
- font-variant: normal;
- font-weight: normal;
- line-height: 1;
- speak: none;
- text-transform: none;
- /* Better Font Rendering =========== */
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- }
-
-}
-
-@function unicode($str){
- @return unquote('\'') + unquote(str-insert($str, '\\', 1)) + unquote('\'');
-}
-
-@mixin icomoon-generate($icons) {
- @include icomoon();
-
- @each $key, $value in $icons {
- .icon-#{$key}:before {
- content: unicode($value);
- }
- }
-}
\ No newline at end of file
diff --git a/assets/scss/base/mixins/_layout.scss b/assets/scss/base/mixins/_layout.scss
deleted file mode 100644
index 377b575d..00000000
--- a/assets/scss/base/mixins/_layout.scss
+++ /dev/null
@@ -1,338 +0,0 @@
-@mixin grid {
- display: grid;
- grid-template-columns: repeat(12, 1fr);
- column-gap: 10px;
-
- padding: 0 52px;
-
- @media (max-width: 880px) {
- padding: 0 32px;
- }
-
- @media screen and (min-width: 1336px) {
- padding-left: 154px;
- padding-right: 154px;
- }
-}
-
-/* TODO: Be able to generalize the linear equation based on the two input angles as well. */
-@mixin backgroundLeftPoint($x-break-percent, $view-height) {
- background:
- linear-gradient(-18deg, #F0F0F0, #F0F0F0 $view-height, rgba(255,0,0,0) $view-height+0.1vh),
- linear-gradient(10deg, #F0F0F0, #F0F0F0 _newHeight-backgroundLeftPoint($view-height), rgba(255,0,0,0) _newHeight-backgroundLeftPoint($view-height)+0.1vh),
- linear-gradient(-32deg, #9337D8, #1FC2C8);
- background-size: ($x-break-percent + 0.07%) 100%, (100 - $x-break-percent + 0.05%) 100%, 100% 100%;
- background-repeat: no-repeat, no-repeat, no-repeat;
- background-position: left, right, center;
-}
-
-@function _newHeight-backgroundLeftPoint($height) {
- @return $height + (0.03529362 * $height) - 0.02056302vh;
-}
-
-@mixin backgroundRightPoint($x-break-percent, $view-height) {
- background:
- linear-gradient(-8deg, #F0F0F0, #F0F0F0 $view-height, rgba(255,0,0,0) $view-height+0.1vh),
- linear-gradient(19deg, #F0F0F0, #F0F0F0 _newHeight-backgroundRightPoint($view-height), rgba(255,0,0,0) _newHeight-backgroundRightPoint($view-height)+0.1vh),
- linear-gradient(-32deg, #9337D8, #1FC2C8);
- background-size: ($x-break-percent + 0.05%) 100%, (100 - $x-break-percent + 0.05%) 100%, 100% 100%;
- background-repeat: no-repeat, no-repeat, no-repeat;
- background-position: left, right, center;
-}
-
-@function _newHeight-backgroundRightPoint($height) {
- @return $height + (-0.04438402 * $height) - 0.02623998vh;
-}
-
-@mixin flexMaxWidth($val) {
- flex: 0 0 $val;
- max-width: $val;
-}
-
-// Row and column layouts
-.row {
- display: flex;
- flex-wrap: wrap;
- margin-right: -15px;
- margin-left: -15px;
- width: 100%;
-}
-
-.no-gutters > .col,
-.no-gutters > [class*="col-"] {
- padding-right: 0;
- padding-left: 0;
-}
-
-.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,
-.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,
-.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,
-.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,
-.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,
-.col-xl-auto {
- position: relative;
- width: 100%;
- padding-right: 15px;
- padding-left: 15px;
-}
-
-.col {
- flex-basis: 0;
- flex-grow: 1;
- min-width: 0;
- max-width: 100%;
-}
-
-.col-auto {
- flex: 0 0 auto;
- width: auto;
- max-width: 100%;
-}
-
-.col-1 {
- @include flexMaxWidth(8.333333%);
-}
-
-.col-2 {
- @include flexMaxWidth(16.666667%);
-}
-
-.col-3 {
- @include flexMaxWidth(25%);
-}
-
-.col-4 {
- @include flexMaxWidth(33.333333%);
-}
-
-.col-5 {
- @include flexMaxWidth(41.666667%);
-}
-
-.col-6 {
- @include flexMaxWidth(50%);
-}
-
-.col-7 {
- @include flexMaxWidth(58.333333%);
-}
-
-.col-8 {
- @include flexMaxWidth(66.666667%);
-}
-
-.col-9 {
- @include flexMaxWidth(75%);
-}
-
-.col-10 {
- @include flexMaxWidth(83.333333%);
-}
-
-.col-11 {
- @include flexMaxWidth(91.666667%);
-}
-
-.col-12 {
- @include flexMaxWidth(100%);
-}
-
-@media (min-width: 576px) {
- .col-sm {
- flex-basis: 0;
- flex-grow: 1;
- min-width: 0;
- max-width: 100%;
- }
- .col-sm-auto {
- flex: 0 0 auto;
- width: auto;
- max-width: 100%;
- }
- .col-sm-1 {
- @include flexMaxWidth(8.333333%);
- }
- .col-sm-2 {
- @include flexMaxWidth(16.666667%);
- }
- .col-sm-3 {
- @include flexMaxWidth(25%);
- }
- .col-sm-4 {
- @include flexMaxWidth(33.333333%);
- }
- .col-sm-5 {
- @include flexMaxWidth(41.666667%);
- }
- .col-sm-6 {
- @include flexMaxWidth(50%);
- }
- .col-sm-7 {
- @include flexMaxWidth(58.333333%);
- }
- .col-sm-8 {
- @include flexMaxWidth(66.666667%);
- }
- .col-sm-9 {
- @include flexMaxWidth(75%);
- }
- .col-sm-10 {
- @include flexMaxWidth(83.333333%);
- }
- .col-sm-11 {
- @include flexMaxWidth(91.666667%);
- }
- .col-sm-12 {
- @include flexMaxWidth(100%);
- }
-}
-
-@media (min-width: 768px) {
- .col-md {
- flex-basis: 0;
- flex-grow: 1;
- min-width: 0;
- max-width: 100%;
- }
- .col-md-auto {
- flex: 0 0 auto;
- width: auto;
- max-width: 100%;
- }
- .col-md-1 {
- @include flexMaxWidth(8.333333%);
- }
- .col-md-2 {
- @include flexMaxWidth(16.666667%);
- }
- .col-md-3 {
- @include flexMaxWidth(25%);
- }
- .col-md-4 {
- @include flexMaxWidth(33.333333%);
- }
- .col-md-5 {
- @include flexMaxWidth(41.666667%);
- }
- .col-md-6 {
- @include flexMaxWidth(50%);
- }
- .col-md-7 {
- @include flexMaxWidth(58.333333%);
- }
- .col-md-8 {
- @include flexMaxWidth(66.666667%);
- }
- .col-md-9 {
- @include flexMaxWidth(75%);
- }
- .col-md-10 {
- @include flexMaxWidth(83.333333%);
- }
- .col-md-11 {
- @include flexMaxWidth(91.666667%);
- }
- .col-md-12 {
- @include flexMaxWidth(100%);
- }
-}
-
-@media (min-width: 992px) {
- .col-lg {
- flex-basis: 0;
- flex-grow: 1;
- min-width: 0;
- max-width: 100%;
- }
- .col-lg-auto {
- flex: 0 0 auto;
- width: auto;
- max-width: 100%;
- }
- .col-lg-1 {
- @include flexMaxWidth(8.333333%);
- }
- .col-lg-2 {
- @include flexMaxWidth(16.666667%);
- }
- .col-lg-3 {
- @include flexMaxWidth(25%);
- }
- .col-lg-4 {
- @include flexMaxWidth(33.333333%);
- }
- .col-lg-5 {
- @include flexMaxWidth(41.666667%);
- }
- .col-lg-6 {
- @include flexMaxWidth(50%);
- }
- .col-lg-7 {
- @include flexMaxWidth(58.333333%);
- }
- .col-lg-8 {
- @include flexMaxWidth(66.666667%);
- }
- .col-lg-9 {
- @include flexMaxWidth(75%);
- }
- .col-lg-10 {
- @include flexMaxWidth(83.333333%);
- }
- .col-lg-11 {
- @include flexMaxWidth(91.666667%);
- }
- .col-lg-12 {
- @include flexMaxWidth(100%);
- }
-}
-
-@media (min-width: 1200px) {
- .col-xl {
- flex-basis: 0;
- flex-grow: 1;
- min-width: 0;
- max-width: 100%;
- }
- .col-xl-auto {
- flex: 0 0 auto;
- width: auto;
- max-width: 100%;
- }
- .col-xl-1 {
- @include flexMaxWidth(8.333333%);
- }
- .col-xl-2 {
- @include flexMaxWidth(16.666667%);
- }
- .col-xl-3 {
- @include flexMaxWidth(25%);
- }
- .col-xl-4 {
- @include flexMaxWidth(33.333333%);
- }
- .col-xl-5 {
- @include flexMaxWidth(41.666667%);
- }
- .col-xl-6 {
- @include flexMaxWidth(50%);
- }
- .col-xl-7 {
- @include flexMaxWidth(58.333333%);
- }
- .col-xl-8 {
- @include flexMaxWidth(66.666667%);
- }
- .col-xl-9 {
- @include flexMaxWidth(75%);
- }
- .col-xl-10 {
- @include flexMaxWidth(83.333333%);
- }
- .col-xl-11 {
- @include flexMaxWidth(91.666667%);
- }
- .col-xl-12 {
- @include flexMaxWidth(100%);
- }
-}
\ No newline at end of file
diff --git a/assets/scss/base/mixins/_medias.scss b/assets/scss/base/mixins/_medias.scss
deleted file mode 100755
index 548a545c..00000000
--- a/assets/scss/base/mixins/_medias.scss
+++ /dev/null
@@ -1,13 +0,0 @@
-@import '../variables';
-
-@mixin medias {
- @content;
-
- @each $media in $medias {
- &\@#{$media} {
- @media screen and (max-width: nth($mediavalues, index($medias, $media))) {
- @content;
- }
- }
- }
-}
diff --git a/assets/scss/components/_button.scss b/assets/scss/components/_button.scss
deleted file mode 100644
index 7075068f..00000000
--- a/assets/scss/components/_button.scss
+++ /dev/null
@@ -1,140 +0,0 @@
-@import '../base/variables';
-
-@mixin button-shadow($rad) {
- // box-shadow: 0 $rad 2 * $rad 0 rgba($color-button-primary-purple-variant, .2);
- transition: all $animation-speed-default $animation-ease-default;
-}
-
-@mixin button-brand {
- background-color: $color-button-primary;
- color: $color-button-primary;
-
- &:hover {
- background-color: $color-button-primary;
- }
-
- &:active {
- background-color: $color-button-primary;
- }
-}
-
-.pwa-button {
- $button-pad: .75rem;
- $shadow: 2px;
-
- @include button-brand;
- @include button-shadow($shadow);
-
- border: 0;
- border-radius: .5rem;
- cursor: pointer;
- display: inline-block;
- font-family: Bitter;
- font-size: $font-size-l;
- overflow: hidden;
- padding: $button-pad 3rem;
- text-align: center;
-
- &:not(:disabled) {
- &:hover {
- @include button-shadow($shadow * 2);
- }
-
- &:active {
- @include button-shadow($shadow);
- }
- }
-
- @media screen and (max-width: $media-screen-l) {
- font-size: $font-size-l * .9;
- padding: $button-pad 1rem;
- }
-
- &--simple {
- background-color: $color-button-primary-purple-variant;
- font-size: $font-size-m;
-
- &:disabled {
- background-color: lighten($color-button-primary, 25%);
- cursor: default;
- }
-
- &:not(:disabled) {
- &:hover {
- background-color: lighten($color-button-primary, 5%);
- }
-
- &:active {
- background-color: $color-button-primary;
- }
- }
-
- @media screen and (max-width: $media-screen-xxl) {
- padding: $button-pad 1.5rem;
- }
- }
-
- // To use with simple
- &--brand {
- @include button-brand;
- }
-
- &--warning {
- background-color: $color-button-primary;
- color: $color-button-primary;
-
- &:hover {
- background-color: $color-button-primary;
- }
-
- &:active {
- background-color: $color-button-primary;
- }
- }
-
- &--text {
- background-color: transparent;
- border-bottom: solid .15rem $color-button-primary;
- border-radius: 0;
- box-shadow: none;
- color: $color-button-primary;
- font-size: $font-size-m;
- padding: .3rem .8rem;
-
- &:hover {
- background-color: transparent;
- box-shadow: none;
- color: $color-button-primary;
- }
-
- &:active {
- background-color: transparent;
- box-shadow: none;
- color: $color-button-primary;
- }
-
- &:disabled {
- opacity: .5;
- }
- }
-
- &--right {
- float: right;
- margin-right: 10%;
- }
-
- &--total_right {
- float: right;
- margin-right: 1%;
- }
-
- &--header {
- float: right;
- margin-right: 1%;
- margin-top: -.5rem;
- }
-
- &--margin {
- margin-right: .3rem;
- }
-}
diff --git a/assets/scss/components/_infobox.scss b/assets/scss/components/_infobox.scss
deleted file mode 100644
index fb3814e8..00000000
--- a/assets/scss/components/_infobox.scss
+++ /dev/null
@@ -1,52 +0,0 @@
-@import '../base/variables';
-/* stylelint-disable */
-
-.pwa-infobox {
-
- &--transparent {
- background-color: transparent;
- }
-
-
- &-subtitle {
- font-family: Bitter;
- font-size: $font-size-l;
- font-weight: $font-weight-bold;
- margin: .5rem 0 0 0;
-
- &--thin {
- font-weight: $font-weight-regular;
- margin-bottom: .5rem;
- }
- }
-
- &-box {
- border-radius: .5rem;
- margin: .5vw .75vw;
- padding: 2.5rem;
-
-
-
- &--flat {
- box-shadow: none;
- min-height: 25rem;
- text-align: center;
-
- }
- }
-
- &-logo {
- max-width: 4.8rem;
- width: 100%;
- }
-
- &-action {
-
- font-family: Bitter;
-
- }
-
- &-padded {
- padding-bottom: 2rem;
- }
-}
diff --git a/assets/scss/layout/_l-footer.scss b/assets/scss/layout/_l-footer.scss
deleted file mode 100755
index cfb9d0bc..00000000
--- a/assets/scss/layout/_l-footer.scss
+++ /dev/null
@@ -1,49 +0,0 @@
-
-@import '../base/variables';
-@import '../mixins/action';
-
-.l-footer {
- color: $color-button-primary-purple-variant;
- padding: 1.5vw 2vw;
-
- &-action {
- @include action-link ($color-button-primary-purple-variant, $color-brand-secondary, .2rem, false);
-
- &--block {
- display: block;
- margin-bottom: 1.5rem;
- max-width: 12rem;
- }
- }
-
- &-social {
- text-align: right;
- }
-
- &-logo_action {
- @include action-link ($color-button-primary-purple-variant, $color-brand-secondary, .2rem, false);
- }
-
- &-logo {
- margin: 0 1rem;
- width: 2rem;
-
- &--big {
- width: 3rem;
- }
-
- &--small {
- width: 1.5rem;
- }
- }
-
- &-copy {
- font-size: $font-size-s;
- margin-top: 5vw;
- text-align: center;
- }
-}
-
-.divider {
- padding: 0 5px;
-}
diff --git a/assets/scss/layout/_l-generator.scss b/assets/scss/layout/_l-generator.scss
deleted file mode 100644
index 1469947c..00000000
--- a/assets/scss/layout/_l-generator.scss
+++ /dev/null
@@ -1,235 +0,0 @@
-@import '../base/variables';
-@import '../mixins/action';
-
-/* stylelint-disable */
-
-.l-generator {
-
- &-toggle {
- display: block;
- margin: 1rem 0;
- }
-
-
- &-togglecheck ~ &-field--toggle {
- display: none;
- }
-
- &-togglecheck:checked ~ &-field--toggle {
- display: block;
- }
-
- &-step {
- font-size: 24px;
- line-height: 32px;
-
- &--big {
- min-height: 50vh;
- }
-
- }
-
- &-align {
- text-align: right;
- }
-
- &-padded {
- padding-left: 18vw;
- }
-
- &-semipadded {
- padding-left: 68px;
- }
-
- &-field {
- width: 100%;
-
- &--padded {
- padding-top: .5rem;
- }
- }
-
- &-form {
- padding-right: 4em;
- width: 50%;
-
- p {
- color: rgba(44,62,80, .6);
- margin: 0;
- font-size: 14px;
- }
- }
-
-
- &-textarea {
- width:100%;
- }
-
- &-button {
- width: 200px;
- }
-
- &-input,
- &-textarea {
- border-width: 0 0 1px 0;
- font-size: 18px;
- border-color: #f4f4f4;
- line-height: 19px;
- font-family: "Segoe UI";
- background-color: transparent;
- padding: .5em;
-
- &--select {
- cursor: pointer;
- }
-
- &--fake {
- cursor: pointer;
- display: inline-block;
- }
-
- &--small {
- width: 20%;
- }
-
- &--largest {
- width: 100%;
- }
-
- &--tiny {
-
- height: 2.5rem;
- padding: 0;
- width: 3rem;
- }
-
- }
-
- &-wrapper {
- height: 4rem;
- position: relative;
-
- &--padded {
- padding-top: 1rem;
- }
- }
-
-
- &-loading {
- display: inline-block;
- padding-left: .25rem;
- transform: translateY(-10%);
- }
-
- &-table {
- border-radius: .5rem;
- margin: 2rem 0;
- padding: 1rem;
-
- }
-
- &-tablec {
- text-transform: capitalize;
-
- img {
- max-width: 90%;
- }
-
- &--right {
- text-align: right;
- }
- }
-
- &-close {
- cursor: pointer;
-
- }
-
- &-buttons {
- margin-left: 68px;
-
- &--centered {
- padding: 0 0 2rem 0;
- text-align: center;
- }
- }
-
- &-options {
- padding: .5rem 0 1rem 0;
- }
-
- &-messages {
- padding: 1rem;
-
- &--code {
- padding: 3rem 1rem;
-
- }
- }
-
- &-message {
- padding-bottom: 2rem;
-
- &:last-of-type {
- padding-bottom: 0;
- }
- }
-
- &-code {
- margin: 0;
- min-height: 4rem;
- padding: 1rem 0 0 0;
-
- code {
- white-space: pre-wrap;
- }
-
- &.code-for-website {
- pre {
- max-height: 350px;
- }
- }
-
- &.service-worker-code {
- pre {
- max-height: 400px;
- }
- }
- }
-
- &-description {
- &--context {
- max-width: 30rem;
- }
- }
-
- &-content {
- display: inline-block;
- width: 100%;
- }
-
- &-contentright {
- display: inline-block;
- float: right;
- }
-
- &-box {
- text-align: left;
- }
-
- &-space_right {
- margin-right: 1rem;
- }
-
- &-space_top {
- padding-top: 1rem;
- }
-
-}
-
-.l-generator-error {
- color: $color-brand-warning;
-}
-
-
-
diff --git a/assets/scss/layout/_l-header.scss b/assets/scss/layout/_l-header.scss
deleted file mode 100755
index 49ba5e7e..00000000
--- a/assets/scss/layout/_l-header.scss
+++ /dev/null
@@ -1,53 +0,0 @@
-@import '../base/variables';
-@import '../mixins/action';
-
-.l-header {
- background-color: $color-brand-quintary;
- padding: 1rem 2vw;
-
- &-left {
- text-align: left;
-
- @media screen and (max-width: $media-screen-s) {
- text-align: center;
- width: 100%;
- }
- }
-
- &-right {
- text-align: right;
-
- @media screen and (max-width: $media-screen-s) {
- overflow-x: auto;
- padding-bottom: .5rem;
- width: 100%;
- }
- }
-
- &-logo {
- $size: 210px;
-
- max-width: $size;
- min-width: $size / 2;
- width: 100%;
- }
-
- &-menu {
- font-family: Bitter;
- font-size: 1.1em;
- margin-right: 1vw;
- margin-top: 1vw;
- padding: 0;
- white-space: nowrap;
- }
-
- &-item {
- display: inline-block;
- margin: 0 .5vw;
- text-align: center;
- }
-
- &-link {
- @include action-link ($color-brand-quintary, $color-brand-quintary, .2rem);
- }
-}
diff --git a/assets/scss/layout/_l-main.scss b/assets/scss/layout/_l-main.scss
deleted file mode 100644
index b1e4af04..00000000
--- a/assets/scss/layout/_l-main.scss
+++ /dev/null
@@ -1,8 +0,0 @@
-/* stylelint-disable */
-
-
-:not(pre) > code[class*='language-'],
-pre[class*='language-'] {
- background: transparent !important;
- box-shadow: none !important;
-}
diff --git a/assets/scss/mixins/_action.scss b/assets/scss/mixins/_action.scss
deleted file mode 100755
index dfab806a..00000000
--- a/assets/scss/mixins/_action.scss
+++ /dev/null
@@ -1,44 +0,0 @@
-@import '../base/variables';
-
-@mixin action-link($primary, $secondary, $size, $padded: true, $inverse: false) {
- color: $primary;
- display: inline-block;
- position: relative;
- transition: color $animation-speed-default;
-
- @if ($padded) {
- padding: 0 .5rem;
- }
-
- &::before {
- background-color: $secondary;
- border-radius: 1rem;
- bottom: -.35rem;
- content: '';
- display: block;
- height: $size;
- left: 0;
- position: absolute;
- transition: width $animation-speed-default $animation-ease-default;
- width: 0;
-
- @if ($inverse) {
- width: 100% !important;
- }
- }
-
- &.is-active,
- &:hover {
- color: darken($secondary, 10%);
- transition: color $animation-speed-default;
-
- &::before {
- transition: width $animation-speed-slow $animation-ease-vibrant;
- width: 100%;
-
- @if ($inverse) {
- width: 0 !important;
- }
- }
- }
-}
diff --git a/assets/scss/vendor/_normalize.scss b/assets/scss/vendor/_normalize.scss
deleted file mode 100755
index 66706c41..00000000
--- a/assets/scss/vendor/_normalize.scss
+++ /dev/null
@@ -1,23 +0,0 @@
-@import '../../node_modules/normalize-scss/sass/normalize/variables';
-@import '../../node_modules/normalize-scss/sass/normalize/vertical-rhythm';
-@import '../../node_modules/normalize-scss/sass/normalize/normalize-mixin';
-
-@include normalize;
-
-*,
-*::before,
-*::after {
- box-sizing: border-box;
-}
-
-a,
-a:active,
-a:hover,
-a:visited {
- text-decoration: none;
-}
-
-h1 {
- font-family: sans-serif;
- font-size: 24px;
-}
\ No newline at end of file
diff --git a/assets/scss/vendor/_pure-grid.scss b/assets/scss/vendor/_pure-grid.scss
deleted file mode 100644
index 8be721bf..00000000
--- a/assets/scss/vendor/_pure-grid.scss
+++ /dev/null
@@ -1,977 +0,0 @@
-/*!
-Pure v0.6.2
-Copyright 2013 Yahoo!
-Licensed under the BSD License.
-https://github.com/yahoo/pure/blob/master/LICENSE.md
-*/
-// stylelint-disable
-.pure-g {
- -webkit-align-content: flex-start;
- align-content: flex-start;
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-flex-flow: row wrap;
- -ms-flex-flow: row wrap;
- flex-flow: row wrap;
- -ms-flex-line-pack: start;
- xfont-family: FreeSans,Arimo,'Droid Sans',Helvetica,Arial,sans-serif;
- text-rendering: optimizespeed;
- ;
-}
-
-@media all and (-ms-high-contrast:none),(-ms-high-contrast:active) {
- table .pure-g {
- display: block;
- }
-}
-
-.opera-only :-o-prefocus,
-.pure-g {
- word-spacing: -.43em;
-}
-
-.pure-u,
-.pure-u-1,
-.pure-u-1-1,
-.pure-u-1-12,
-.pure-u-1-2,
-.pure-u-1-24,
-.pure-u-1-3,
-.pure-u-1-4,
-.pure-u-1-5,
-.pure-u-1-6,
-.pure-u-1-8,
-.pure-u-10-24,
-.pure-u-11-12,
-.pure-u-11-24,
-.pure-u-12-24,
-.pure-u-13-24,
-.pure-u-14-24,
-.pure-u-15-24,
-.pure-u-16-24,
-.pure-u-17-24,
-.pure-u-18-24,
-.pure-u-19-24,
-.pure-u-2-24,
-.pure-u-2-3,
-.pure-u-2-5,
-.pure-u-20-24,
-.pure-u-21-24,
-.pure-u-22-24,
-.pure-u-23-24,
-.pure-u-24-24,
-.pure-u-3-24,
-.pure-u-3-4,
-.pure-u-3-5,
-.pure-u-3-8,
-.pure-u-4-24,
-.pure-u-4-5,
-.pure-u-5-12,
-.pure-u-5-24,
-.pure-u-5-5,
-.pure-u-5-6,
-.pure-u-5-8,
-.pure-u-6-24,
-.pure-u-7-12,
-.pure-u-7-24,
-.pure-u-7-8,
-.pure-u-8-24,
-.pure-u-9-24 {
- display: inline-block;
- letter-spacing: normal;
- text-rendering: auto;
- vertical-align: top;
- word-spacing: normal;
- zoom: 1;
- ;
-}
-
-.pure-g [class*=pure-u] {
- xfont-family: sans-serif;
-}
-
-.pure-u-1-24 {
- width: 4.1667%;
-}
-
-.pure-u-1-12,
-.pure-u-2-24 {
- width: 8.3333%;
-}
-
-.pure-u-1-8,
-.pure-u-3-24 {
- width: 12.5%;
-}
-
-.pure-u-1-6,
-.pure-u-4-24 {
- width: 16.6667%;
-}
-
-.pure-u-1-5 {
- width: 20%;
-}
-
-.pure-u-5-24 {
- width: 20.8333%;
-}
-
-.pure-u-1-4,
-.pure-u-6-24 {
- width: 25%;
-}
-
-.pure-u-7-24 {
- width: 29.1667%;
-}
-
-.pure-u-1-3,
-.pure-u-8-24 {
- width: 33.3333%;
-}
-
-.pure-u-3-8,
-.pure-u-9-24 {
- width: 37.5%;
-}
-
-.pure-u-2-5 {
- width: 40%;
-}
-
-.pure-u-10-24,
-.pure-u-5-12 {
- width: 41.6667%;
-}
-
-.pure-u-11-24 {
- width: 45.8333%;
-}
-
-.pure-u-1-2,
-.pure-u-12-24 {
- width: 50%;
-}
-
-.pure-u-13-24 {
- width: 54.1667%;
-}
-
-.pure-u-14-24,
-.pure-u-7-12 {
- width: 58.3333%;
-}
-
-.pure-u-3-5 {
- width: 60%;
-}
-
-.pure-u-15-24,
-.pure-u-5-8 {
- width: 62.5%;
-}
-
-.pure-u-16-24,
-.pure-u-2-3 {
- width: 66.6667%;
-}
-
-.pure-u-17-24 {
- width: 70.8333%;
-}
-
-.pure-u-18-24,
-.pure-u-3-4 {
- width: 75%;
-}
-
-.pure-u-19-24 {
- width: 79.1667%;
-}
-
-.pure-u-4-5 {
- width: 80%;
-}
-
-.pure-u-20-24,
-.pure-u-5-6 {
- width: 83.3333%;
-}
-
-.pure-u-21-24,
-.pure-u-7-8 {
- width: 87.5%;
-}
-
-.pure-u-11-12,
-.pure-u-22-24 {
- width: 91.6667%;
-}
-
-.pure-u-23-24 {
- width: 95.8333%;
-}
-
-.pure-u-1,
-.pure-u-1-1,
-.pure-u-24-24,
-.pure-u-5-5 {
- width: 100%;
-}
-
-/*!
-Pure v0.6.2
-Copyright 2013 Yahoo!
-Licensed under the BSD License.
-https://github.com/yahoo/pure/blob/master/LICENSE.md
-*/
-@media screen and (min-width:35.5em) {
- .pure-u-sm-1,
- .pure-u-sm-1-1,
- .pure-u-sm-1-12,
- .pure-u-sm-1-2,
- .pure-u-sm-1-24,
- .pure-u-sm-1-3,
- .pure-u-sm-1-4,
- .pure-u-sm-1-5,
- .pure-u-sm-1-6,
- .pure-u-sm-1-8,
- .pure-u-sm-10-24,
- .pure-u-sm-11-12,
- .pure-u-sm-11-24,
- .pure-u-sm-12-24,
- .pure-u-sm-13-24,
- .pure-u-sm-14-24,
- .pure-u-sm-15-24,
- .pure-u-sm-16-24,
- .pure-u-sm-17-24,
- .pure-u-sm-18-24,
- .pure-u-sm-19-24,
- .pure-u-sm-2-24,
- .pure-u-sm-2-3,
- .pure-u-sm-2-5,
- .pure-u-sm-20-24,
- .pure-u-sm-21-24,
- .pure-u-sm-22-24,
- .pure-u-sm-23-24,
- .pure-u-sm-24-24,
- .pure-u-sm-3-24,
- .pure-u-sm-3-4,
- .pure-u-sm-3-5,
- .pure-u-sm-3-8,
- .pure-u-sm-4-24,
- .pure-u-sm-4-5,
- .pure-u-sm-5-12,
- .pure-u-sm-5-24,
- .pure-u-sm-5-5,
- .pure-u-sm-5-6,
- .pure-u-sm-5-8,
- .pure-u-sm-6-24,
- .pure-u-sm-7-12,
- .pure-u-sm-7-24,
- .pure-u-sm-7-8,
- .pure-u-sm-8-24,
- .pure-u-sm-9-24 {
- display: inline-block;
- letter-spacing: normal;
- text-rendering: auto;
- vertical-align: top;
- word-spacing: normal;
- zoom: 1;
- ;
- }
-
-.pure-u-sm-1-24 {
- width: 4.1667%;
- }
-
-.pure-u-sm-1-12,
- .pure-u-sm-2-24 {
- width: 8.3333%;
- }
-
-.pure-u-sm-1-8,
- .pure-u-sm-3-24 {
- width: 12.5%;
- }
-
-.pure-u-sm-1-6,
- .pure-u-sm-4-24 {
- width: 16.6667%;
- }
-
-.pure-u-sm-1-5 {
- width: 20%;
- }
-
-.pure-u-sm-5-24 {
- width: 20.8333%;
- }
-
-.pure-u-sm-1-4,
- .pure-u-sm-6-24 {
- width: 25%;
- }
-
-.pure-u-sm-7-24 {
- width: 29.1667%;
- }
-
-.pure-u-sm-1-3,
- .pure-u-sm-8-24 {
- width: 33.3333%;
- }
-
-.pure-u-sm-3-8,
- .pure-u-sm-9-24 {
- width: 37.5%;
- }
-
-.pure-u-sm-2-5 {
- width: 40%;
- }
-
-.pure-u-sm-10-24,
- .pure-u-sm-5-12 {
- width: 41.6667%;
- }
-
-.pure-u-sm-11-24 {
- width: 45.8333%;
- }
-
-.pure-u-sm-1-2,
- .pure-u-sm-12-24 {
- width: 50%;
- }
-
-.pure-u-sm-13-24 {
- width: 54.1667%;
- }
-
-.pure-u-sm-14-24,
- .pure-u-sm-7-12 {
- width: 58.3333%;
- }
-
-.pure-u-sm-3-5 {
- width: 60%;
- }
-
-.pure-u-sm-15-24,
- .pure-u-sm-5-8 {
- width: 62.5%;
- }
-
-.pure-u-sm-16-24,
- .pure-u-sm-2-3 {
- width: 66.6667%;
- }
-
-.pure-u-sm-17-24 {
- width: 70.8333%;
- }
-
-.pure-u-sm-18-24,
- .pure-u-sm-3-4 {
- width: 75%;
- }
-
-.pure-u-sm-19-24 {
- width: 79.1667%;
- }
-
-.pure-u-sm-4-5 {
- width: 80%;
- }
-
-.pure-u-sm-20-24,
- .pure-u-sm-5-6 {
- width: 83.3333%;
- }
-
-.pure-u-sm-21-24,
- .pure-u-sm-7-8 {
- width: 87.5%;
- }
-
-.pure-u-sm-11-12,
- .pure-u-sm-22-24 {
- width: 91.6667%;
- }
-
-.pure-u-sm-23-24 {
- width: 95.8333%;
- }
-
-.pure-u-sm-1,
- .pure-u-sm-1-1,
- .pure-u-sm-24-24,
- .pure-u-sm-5-5 {
- width: 100%;
- }
-}
-
-@media screen and (min-width:48em) {
- .pure-u-md-1,
- .pure-u-md-1-1,
- .pure-u-md-1-12,
- .pure-u-md-1-2,
- .pure-u-md-1-24,
- .pure-u-md-1-3,
- .pure-u-md-1-4,
- .pure-u-md-1-5,
- .pure-u-md-1-6,
- .pure-u-md-1-8,
- .pure-u-md-10-24,
- .pure-u-md-11-12,
- .pure-u-md-11-24,
- .pure-u-md-12-24,
- .pure-u-md-13-24,
- .pure-u-md-14-24,
- .pure-u-md-15-24,
- .pure-u-md-16-24,
- .pure-u-md-17-24,
- .pure-u-md-18-24,
- .pure-u-md-19-24,
- .pure-u-md-2-24,
- .pure-u-md-2-3,
- .pure-u-md-2-5,
- .pure-u-md-20-24,
- .pure-u-md-21-24,
- .pure-u-md-22-24,
- .pure-u-md-23-24,
- .pure-u-md-24-24,
- .pure-u-md-3-24,
- .pure-u-md-3-4,
- .pure-u-md-3-5,
- .pure-u-md-3-8,
- .pure-u-md-4-24,
- .pure-u-md-4-5,
- .pure-u-md-5-12,
- .pure-u-md-5-24,
- .pure-u-md-5-5,
- .pure-u-md-5-6,
- .pure-u-md-5-8,
- .pure-u-md-6-24,
- .pure-u-md-7-12,
- .pure-u-md-7-24,
- .pure-u-md-7-8,
- .pure-u-md-8-24,
- .pure-u-md-9-24 {
- display: inline-block;
- letter-spacing: normal;
- text-rendering: auto;
- vertical-align: top;
- word-spacing: normal;
- zoom: 1;
- ;
- }
-
-.pure-u-md-1-24 {
- width: 4.1667%;
- }
-
-.pure-u-md-1-12,
- .pure-u-md-2-24 {
- width: 8.3333%;
- }
-
-.pure-u-md-1-8,
- .pure-u-md-3-24 {
- width: 12.5%;
- }
-
-.pure-u-md-1-6,
- .pure-u-md-4-24 {
- width: 16.6667%;
- }
-
-.pure-u-md-1-5 {
- width: 20%;
- }
-
-.pure-u-md-5-24 {
- width: 20.8333%;
- }
-
-.pure-u-md-1-4,
- .pure-u-md-6-24 {
- width: 25%;
- }
-
-.pure-u-md-7-24 {
- width: 29.1667%;
- }
-
-.pure-u-md-1-3,
- .pure-u-md-8-24 {
- width: 33.3333%;
- }
-
-.pure-u-md-3-8,
- .pure-u-md-9-24 {
- width: 37.5%;
- }
-
-.pure-u-md-2-5 {
- width: 40%;
- }
-
-.pure-u-md-10-24,
- .pure-u-md-5-12 {
- width: 41.6667%;
- }
-
-.pure-u-md-11-24 {
- width: 45.8333%;
- }
-
-.pure-u-md-1-2,
- .pure-u-md-12-24 {
- width: 50%;
- }
-
-.pure-u-md-13-24 {
- width: 54.1667%;
- }
-
-.pure-u-md-14-24,
- .pure-u-md-7-12 {
- width: 58.3333%;
- }
-
-.pure-u-md-3-5 {
- width: 60%;
- }
-
-.pure-u-md-15-24,
- .pure-u-md-5-8 {
- width: 62.5%;
- }
-
-.pure-u-md-16-24,
- .pure-u-md-2-3 {
- width: 66.6667%;
- }
-
-.pure-u-md-17-24 {
- width: 70.8333%;
- }
-
-.pure-u-md-18-24,
- .pure-u-md-3-4 {
- width: 75%;
- }
-
-.pure-u-md-19-24 {
- width: 79.1667%;
- }
-
-.pure-u-md-4-5 {
- width: 80%;
- }
-
-.pure-u-md-20-24,
- .pure-u-md-5-6 {
- width: 83.3333%;
- }
-
-.pure-u-md-21-24,
- .pure-u-md-7-8 {
- width: 87.5%;
- }
-
-.pure-u-md-11-12,
- .pure-u-md-22-24 {
- width: 91.6667%;
- }
-
-.pure-u-md-23-24 {
- width: 95.8333%;
- }
-
-.pure-u-md-1,
- .pure-u-md-1-1,
- .pure-u-md-24-24,
- .pure-u-md-5-5 {
- width: 100%;
- }
-}
-
-@media screen and (min-width:64em) {
- .pure-u-lg-1,
- .pure-u-lg-1-1,
- .pure-u-lg-1-12,
- .pure-u-lg-1-2,
- .pure-u-lg-1-24,
- .pure-u-lg-1-3,
- .pure-u-lg-1-4,
- .pure-u-lg-1-5,
- .pure-u-lg-1-6,
- .pure-u-lg-1-8,
- .pure-u-lg-10-24,
- .pure-u-lg-11-12,
- .pure-u-lg-11-24,
- .pure-u-lg-12-24,
- .pure-u-lg-13-24,
- .pure-u-lg-14-24,
- .pure-u-lg-15-24,
- .pure-u-lg-16-24,
- .pure-u-lg-17-24,
- .pure-u-lg-18-24,
- .pure-u-lg-19-24,
- .pure-u-lg-2-24,
- .pure-u-lg-2-3,
- .pure-u-lg-2-5,
- .pure-u-lg-20-24,
- .pure-u-lg-21-24,
- .pure-u-lg-22-24,
- .pure-u-lg-23-24,
- .pure-u-lg-24-24,
- .pure-u-lg-3-24,
- .pure-u-lg-3-4,
- .pure-u-lg-3-5,
- .pure-u-lg-3-8,
- .pure-u-lg-4-24,
- .pure-u-lg-4-5,
- .pure-u-lg-5-12,
- .pure-u-lg-5-24,
- .pure-u-lg-5-5,
- .pure-u-lg-5-6,
- .pure-u-lg-5-8,
- .pure-u-lg-6-24,
- .pure-u-lg-7-12,
- .pure-u-lg-7-24,
- .pure-u-lg-7-8,
- .pure-u-lg-8-24,
- .pure-u-lg-9-24 {
- display: inline-block;
- letter-spacing: normal;
- text-rendering: auto;
- vertical-align: top;
- word-spacing: normal;
- zoom: 1;
- ;
- }
-
-.pure-u-lg-1-24 {
- width: 4.1667%;
- }
-
-.pure-u-lg-1-12,
- .pure-u-lg-2-24 {
- width: 8.3333%;
- }
-
-.pure-u-lg-1-8,
- .pure-u-lg-3-24 {
- width: 12.5%;
- }
-
-.pure-u-lg-1-6,
- .pure-u-lg-4-24 {
- width: 16.6667%;
- }
-
-.pure-u-lg-1-5 {
- width: 20%;
- }
-
-.pure-u-lg-5-24 {
- width: 20.8333%;
- }
-
-.pure-u-lg-1-4,
- .pure-u-lg-6-24 {
- width: 25%;
- }
-
-.pure-u-lg-7-24 {
- width: 29.1667%;
- }
-
-.pure-u-lg-1-3,
- .pure-u-lg-8-24 {
- width: 33.3333%;
- }
-
-.pure-u-lg-3-8,
- .pure-u-lg-9-24 {
- width: 37.5%;
- }
-
-.pure-u-lg-2-5 {
- width: 40%;
- }
-
-.pure-u-lg-10-24,
- .pure-u-lg-5-12 {
- width: 41.6667%;
- }
-
-.pure-u-lg-11-24 {
- width: 45.8333%;
- }
-
-.pure-u-lg-1-2,
- .pure-u-lg-12-24 {
- width: 50%;
- }
-
-.pure-u-lg-13-24 {
- width: 54.1667%;
- }
-
-.pure-u-lg-14-24,
- .pure-u-lg-7-12 {
- width: 58.3333%;
- }
-
-.pure-u-lg-3-5 {
- width: 60%;
- }
-
-.pure-u-lg-15-24,
- .pure-u-lg-5-8 {
- width: 62.5%;
- }
-
-.pure-u-lg-16-24,
- .pure-u-lg-2-3 {
- width: 66.6667%;
- }
-
-.pure-u-lg-17-24 {
- width: 70.8333%;
- }
-
-.pure-u-lg-18-24,
- .pure-u-lg-3-4 {
- width: 75%;
- }
-
-.pure-u-lg-19-24 {
- width: 79.1667%;
- }
-
-.pure-u-lg-4-5 {
- width: 80%;
- }
-
-.pure-u-lg-20-24,
- .pure-u-lg-5-6 {
- width: 83.3333%;
- }
-
-.pure-u-lg-21-24,
- .pure-u-lg-7-8 {
- width: 87.5%;
- }
-
-.pure-u-lg-11-12,
- .pure-u-lg-22-24 {
- width: 91.6667%;
- }
-
-.pure-u-lg-23-24 {
- width: 95.8333%;
- }
-
-.pure-u-lg-1,
- .pure-u-lg-1-1,
- .pure-u-lg-24-24,
- .pure-u-lg-5-5 {
- width: 100%;
- }
-}
-
-@media screen and (min-width:80em) {
- .pure-u-xl-1,
- .pure-u-xl-1-1,
- .pure-u-xl-1-12,
- .pure-u-xl-1-2,
- .pure-u-xl-1-24,
- .pure-u-xl-1-3,
- .pure-u-xl-1-4,
- .pure-u-xl-1-5,
- .pure-u-xl-1-6,
- .pure-u-xl-1-8,
- .pure-u-xl-10-24,
- .pure-u-xl-11-12,
- .pure-u-xl-11-24,
- .pure-u-xl-12-24,
- .pure-u-xl-13-24,
- .pure-u-xl-14-24,
- .pure-u-xl-15-24,
- .pure-u-xl-16-24,
- .pure-u-xl-17-24,
- .pure-u-xl-18-24,
- .pure-u-xl-19-24,
- .pure-u-xl-2-24,
- .pure-u-xl-2-3,
- .pure-u-xl-2-5,
- .pure-u-xl-20-24,
- .pure-u-xl-21-24,
- .pure-u-xl-22-24,
- .pure-u-xl-23-24,
- .pure-u-xl-24-24,
- .pure-u-xl-3-24,
- .pure-u-xl-3-4,
- .pure-u-xl-3-5,
- .pure-u-xl-3-8,
- .pure-u-xl-4-24,
- .pure-u-xl-4-5,
- .pure-u-xl-5-12,
- .pure-u-xl-5-24,
- .pure-u-xl-5-5,
- .pure-u-xl-5-6,
- .pure-u-xl-5-8,
- .pure-u-xl-6-24,
- .pure-u-xl-7-12,
- .pure-u-xl-7-24,
- .pure-u-xl-7-8,
- .pure-u-xl-8-24,
- .pure-u-xl-9-24 {
- display: inline-block;
- letter-spacing: normal;
- text-rendering: auto;
- vertical-align: top;
- word-spacing: normal;
- zoom: 1;
- ;
- }
-
-.pure-u-xl-1-24 {
- width: 4.1667%;
- }
-
-.pure-u-xl-1-12,
- .pure-u-xl-2-24 {
- width: 8.3333%;
- }
-
-.pure-u-xl-1-8,
- .pure-u-xl-3-24 {
- width: 12.5%;
- }
-
-.pure-u-xl-1-6,
- .pure-u-xl-4-24 {
- width: 16.6667%;
- }
-
-.pure-u-xl-1-5 {
- width: 20%;
- }
-
-.pure-u-xl-5-24 {
- width: 20.8333%;
- }
-
-.pure-u-xl-1-4,
- .pure-u-xl-6-24 {
- width: 25%;
- }
-
-.pure-u-xl-7-24 {
- width: 29.1667%;
- }
-
-.pure-u-xl-1-3,
- .pure-u-xl-8-24 {
- width: 33.3333%;
- }
-
-.pure-u-xl-3-8,
- .pure-u-xl-9-24 {
- width: 37.5%;
- }
-
-.pure-u-xl-2-5 {
- width: 40%;
- }
-
-.pure-u-xl-10-24,
- .pure-u-xl-5-12 {
- width: 41.6667%;
- }
-
-.pure-u-xl-11-24 {
- width: 45.8333%;
- }
-
-.pure-u-xl-1-2,
- .pure-u-xl-12-24 {
- width: 50%;
- }
-
-.pure-u-xl-13-24 {
- width: 54.1667%;
- }
-
-.pure-u-xl-14-24,
- .pure-u-xl-7-12 {
- width: 58.3333%;
- }
-
-.pure-u-xl-3-5 {
- width: 60%;
- }
-
-.pure-u-xl-15-24,
- .pure-u-xl-5-8 {
- width: 62.5%;
- }
-
-.pure-u-xl-16-24,
- .pure-u-xl-2-3 {
- width: 66.6667%;
- }
-
-.pure-u-xl-17-24 {
- width: 70.8333%;
- }
-
-.pure-u-xl-18-24,
- .pure-u-xl-3-4 {
- width: 75%;
- }
-
-.pure-u-xl-19-24 {
- width: 79.1667%;
- }
-
-.pure-u-xl-4-5 {
- width: 80%;
- }
-
-.pure-u-xl-20-24,
- .pure-u-xl-5-6 {
- width: 83.3333%;
- }
-
-.pure-u-xl-21-24,
- .pure-u-xl-7-8 {
- width: 87.5%;
- }
-
-.pure-u-xl-11-12,
- .pure-u-xl-22-24 {
- width: 91.6667%;
- }
-
-.pure-u-xl-23-24 {
- width: 95.8333%;
- }
-
-.pure-u-xl-1,
- .pure-u-xl-1-1,
- .pure-u-xl-24-24,
- .pure-u-xl-5-5 {
- width: 100%;
- }
-}
diff --git a/assets/scss/vendor/highlightjs.scss b/assets/scss/vendor/highlightjs.scss
deleted file mode 100644
index f1bfade3..00000000
--- a/assets/scss/vendor/highlightjs.scss
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
-
-Original highlight.js style (c) Ivan Sagalaev
-
-*/
-
-.hljs {
- display: block;
- overflow-x: auto;
- padding: 0.5em;
- background: #F0F0F0;
-}
-
-
-/* Base color: saturation 0; */
-
-.hljs,
-.hljs-subst {
- color: #444;
-}
-
-.hljs-comment {
- color: #888888;
-}
-
-.hljs-keyword,
-.hljs-attribute,
-.hljs-selector-tag,
-.hljs-meta-keyword,
-.hljs-doctag,
-.hljs-name {
- font-weight: bold;
-}
-
-
-/* User color: hue: 0 */
-
-.hljs-type,
-.hljs-string,
-.hljs-number,
-.hljs-selector-id,
-.hljs-selector-class,
-.hljs-quote,
-.hljs-template-tag,
-.hljs-deletion {
- color: #880000;
-}
-
-.hljs-title,
-.hljs-section {
- color: #880000;
- font-weight: bold;
-}
-
-.hljs-regexp,
-.hljs-symbol,
-.hljs-variable,
-.hljs-template-variable,
-.hljs-link,
-.hljs-selector-attr,
-.hljs-selector-pseudo {
- color: #BC6060;
-}
-
-
-/* Language color: hue: 90; */
-
-.hljs-literal {
- color: #78A960;
-}
-
-.hljs-built_in,
-.hljs-bullet,
-.hljs-code,
-.hljs-addition {
- color: #397300;
-}
-
-
-/* Meta color: hue: 200 */
-
-.hljs-meta {
- color: #1f7199;
-}
-
-.hljs-meta-string {
- color: #4d99bf;
-}
-
-
-/* Misc effects */
-
-.hljs-emphasis {
- font-style: italic;
-}
-
-.hljs-strong {
- font-weight: bold;
-}
diff --git a/assets/scss/vendor/highlightjs2.scss b/assets/scss/vendor/highlightjs2.scss
deleted file mode 100644
index 026a62fe..00000000
--- a/assets/scss/vendor/highlightjs2.scss
+++ /dev/null
@@ -1,72 +0,0 @@
-/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
-
-/* Tomorrow Comment */
-.hljs-comment,
-.hljs-quote {
- color: #8e908c;
-}
-
-/* Tomorrow Red */
-.hljs-variable,
-.hljs-template-variable,
-.hljs-tag,
-.hljs-name,
-.hljs-selector-id,
-.hljs-selector-class,
-.hljs-regexp,
-.hljs-deletion {
- color: #c82829;
-}
-
-/* Tomorrow Orange */
-.hljs-number,
-.hljs-built_in,
-.hljs-builtin-name,
-.hljs-literal,
-.hljs-type,
-.hljs-params,
-.hljs-meta,
-.hljs-link {
- color: #f5871f;
-}
-
-/* Tomorrow Yellow */
-.hljs-attribute {
- color: #eab700;
-}
-
-/* Tomorrow Green */
-.hljs-string,
-.hljs-symbol,
-.hljs-bullet,
-.hljs-addition {
- color: #718c00;
-}
-
-/* Tomorrow Blue */
-.hljs-title,
-.hljs-section {
- color: #4271ae;
-}
-
-/* Tomorrow Purple */
-.hljs-keyword,
-.hljs-selector-tag {
- color: #8959a8;
-}
-
-.hljs {
- display: block;
- overflow-x: auto;
- background: white;
- color: #4d4d4c;
- padding: 0.5em;
-}
-
-.hljs-emphasis {
- font-style: italic;
-}
-
-.hljs-strong {
- font-weight: bold;
-}
diff --git a/assets/windows_icon.svg b/assets/windows_icon.svg
new file mode 100644
index 00000000..de08d0d5
--- /dev/null
+++ b/assets/windows_icon.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/components/Card.vue b/components/Card.vue
deleted file mode 100644
index 9853452b..00000000
--- a/components/Card.vue
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
-
-
{{ this.title }}
-
{{ this.description }}
-
Learn More
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/CodeViewer.vue b/components/CodeViewer.vue
deleted file mode 100644
index 80270134..00000000
--- a/components/CodeViewer.vue
+++ /dev/null
@@ -1,539 +0,0 @@
-
-
-
- Code Copied
-
-
-
-
-
Errors
-
-
-
- Line #{{ error.startLineNumber}}:
- {{ error.message }}
-
-
-
-
-
- Close
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/ColorSelector.vue b/components/ColorSelector.vue
deleted file mode 100644
index 79ae575b..00000000
--- a/components/ColorSelector.vue
+++ /dev/null
@@ -1,179 +0,0 @@
-
-
-
-
- select the background color for your splash screen and tile
-
-
-
-
-
-
-
-
diff --git a/components/CustomMembers.vue b/components/CustomMembers.vue
deleted file mode 100644
index b6e237bc..00000000
--- a/components/CustomMembers.vue
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
-
-
- {{ $t("custom_members.name") }}
-
-
-
-
-
- {{ $t("custom_members.value") }}
-
-
-
-
-
-
- {{ $t("custom_members.add") }}
-
-
-
-
-
-
-
- {{$t(error)}}
-
-
-
-
-
- {{member.name}}
-
-
-
- ✕
-
-
-
-
-
-
-
-
diff --git a/components/Download.vue b/components/Download.vue
deleted file mode 100644
index b8cbcf05..00000000
--- a/components/Download.vue
+++ /dev/null
@@ -1,358 +0,0 @@
-
-
-
-
-
- {{ message$ }}
-
-
-
-
-
-
-
-
-
diff --git a/components/FeatureCard.vue b/components/FeatureCard.vue
deleted file mode 100644
index 4d4396ef..00000000
--- a/components/FeatureCard.vue
+++ /dev/null
@@ -1,139 +0,0 @@
-
-
-
-
{{sample.name}}
-
-
-
-
-
{{ sample.desc }}
-
-
-
-
-
-
-
-
diff --git a/components/GeneratorMenu.vue b/components/GeneratorMenu.vue
deleted file mode 100755
index 253eee32..00000000
--- a/components/GeneratorMenu.vue
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/Header.vue b/components/Header.vue
deleted file mode 100644
index fba646e3..00000000
--- a/components/Header.vue
+++ /dev/null
@@ -1,247 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/HubHeader.vue b/components/HubHeader.vue
deleted file mode 100644
index 07a0804b..00000000
--- a/components/HubHeader.vue
+++ /dev/null
@@ -1,688 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/InstallButton.vue b/components/InstallButton.vue
deleted file mode 100644
index bd1862a2..00000000
--- a/components/InstallButton.vue
+++ /dev/null
@@ -1,101 +0,0 @@
-
-
-
-
-
-
-
diff --git a/components/IssuesList.vue b/components/IssuesList.vue
deleted file mode 100644
index 8bb63261..00000000
--- a/components/IssuesList.vue
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
- {{title}}
- ({{total}} {{total === 1 ? $t("issues_list.item") : $t("issues_list.items") }})
-
-
-
-
- {{error.member}}
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/Loading.vue b/components/Loading.vue
deleted file mode 100755
index 84cef5bd..00000000
--- a/components/Loading.vue
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/Modal.vue b/components/Modal.vue
deleted file mode 100644
index 767d0e68..00000000
--- a/components/Modal.vue
+++ /dev/null
@@ -1,300 +0,0 @@
-
-
-
-
-
-
-
-
-
-
{{title}}
-
-
-
-
-
-
-
-
-
- {{$t("modal.cancel")}}
-
-
- {{button_name}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/PublishCard.vue b/components/PublishCard.vue
deleted file mode 100644
index 5a037e3c..00000000
--- a/components/PublishCard.vue
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
{{ this.platform }}
-
{{ this.description }}
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/RelatedApplications.vue b/components/RelatedApplications.vue
deleted file mode 100644
index f024e132..00000000
--- a/components/RelatedApplications.vue
+++ /dev/null
@@ -1,118 +0,0 @@
-
-
-
-
{{ $t("related_applications.platform") }}
- [?]
-
-
-
-
-
{{ $t("related_applications.url") }}
- [?]
-
-
-
-
-
-
{{ $t("related_applications.id") }}
- [?]
-
-
-
-
-
-
- {{ $t("related_applications.add") }}
-
-
-
-
-
-
-
- {{error}}
-
-
-
-
{{ $t("related_applications.platform") }}
-
{{ $t("related_applications.url") }}
-
-
-
-
- {{app.platform}}
-
-
- {{app.url}}
-
-
-
- ✕
-
-
-
-
-
-
-
- {{ $t("related_applications.prefer") }}
-
-
-
-
-
-
-
diff --git a/components/ScoreCard.vue b/components/ScoreCard.vue
deleted file mode 100644
index f20f90ad..00000000
--- a/components/ScoreCard.vue
+++ /dev/null
@@ -1,1491 +0,0 @@
-
-
-
-
-
-
-
-
Required
-
-
-
-
-
-
-
-
-
-
-
-
- Uses HTTPS URL
-
-
- 10
-
- 0
-
-
-
-
-
-
-
-
-
-
- Valid SSL certificate is used
-
-
- 5
-
- 0
-
-
-
-
-
-
-
-
-
-
-
- No "mixed" content on page
-
-
- 5
-
- 0
-
-
-
-
-
-
-
-
-
-
Required
-
-
-
-
-
-
-
-
-
-
-
- Web Manifest properly attached
-
-
- 15
-
- 0
-
-
-
-
-
-
-
-
-
-
- display property utilized
-
-
- 5
-
- 0
-
-
-
-
-
-
-
-
-
-
-
- Lists
- icons for add to home screen
-
-
-
- 5
-
- 0
-
-
-
-
-
-
-
-
-
-
-
- Contains
- name property
-
-
-
- 5
-
- 0
-
-
-
-
-
-
-
-
-
-
-
- Contains
- short_name property
-
-
-
- 5
-
- 0
-
-
-
-
-
-
-
-
-
-
-
-
- Designates a
- start_url
-
-
-
- 5
-
- 0
-
-
-
-
Recommended
-
-
-
-
Optional
-
-
-
-
-
-
-
-
-
-
- Web Manifest is properly attached
-
-
-
-
-
-
-
-
-
-
-
- display property utilized
-
-
-
-
-
-
-
-
-
-
-
-
- Lists
- icons for add to home screen
-
-
-
-
-
-
-
-
-
-
-
-
-
- Contains
- name property
-
-
-
-
-
-
-
-
-
-
-
-
-
- Contains
- short_name property
-
-
-
-
-
-
-
-
-
-
-
-
-
- Designates a
- start_url
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Web Manifest properly attached
-
-
- 0
-
-
-
-
-
-
-
- display property utilized
-
-
- 0
-
-
-
-
-
-
-
-
- Lists
- icons for add to home screen
-
-
-
- 0
-
-
-
-
-
-
-
-
- Contains
- name property
-
-
-
- 0
-
-
-
-
-
-
-
-
- Contains
- short_name property
-
-
-
- 0
-
-
-
-
-
-
-
-
- Designates a
- start_url
-
-
-
- 0
-
-
-
-
-
-
Required
-
-
-
-
-
-
-
-
-
-
-
- Has a Service Worker
-
-
- 20
-
- 0
-
-
-
-
-
-
-
-
-
-
- Works offline
-
-
- 10
-
- 0
-
-
-
-
-
-
-
-
-
-
-
- Service Worker has the correct
- scope
-
-
-
- 10
-
- 0
-
-
-
-
-
Optional
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Has a Service Worker
-
-
- 0
-
-
-
-
-
-
-
- Service Worker has cache handlers
-
-
- 0
-
-
-
-
-
-
-
-
- Service Worker has the correct
- scope
-
-
-
- 0
-
-
-
-
-
-
-
-
- Choose a Service Worker
-
-
-
-
-
- Loading your site in the background...this may take a minute
-
-
-
-
-
- We could not detect your service worker. If you are sure you have a
- Service Worker registered you may move forward, however be aware that
- your Service Worker may be caching more data than necessary.
-
-
- Loading your site in the background...this may take a minute
-
-
-
-
-
- View Manifest
-
-
-
-
- View Generated Manifest
-
-
-
-
-
-
-
HTTPS not detected.
-
-
- You can use
- LetsEncrypt
- to get a free HTTPS certificate, or
- publish to Azure
- to get HTTPS support out of the box
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/ScoreHeader.vue b/components/ScoreHeader.vue
deleted file mode 100644
index 15dde7a2..00000000
--- a/components/ScoreHeader.vue
+++ /dev/null
@@ -1,228 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/SkipLink.vue b/components/SkipLink.vue
deleted file mode 100644
index 3b8bb3f2..00000000
--- a/components/SkipLink.vue
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/StartOver.vue b/components/StartOver.vue
deleted file mode 100644
index af1884d6..00000000
--- a/components/StartOver.vue
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
- {{ $t('publish.start_over') }}
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/Toolbar.vue b/components/Toolbar.vue
deleted file mode 100644
index 62578919..00000000
--- a/components/Toolbar.vue
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/WindowsMenu.vue b/components/WindowsMenu.vue
deleted file mode 100644
index 7ebe0c8f..00000000
--- a/components/WindowsMenu.vue
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/snippitCode.vue b/components/snippitCode.vue
deleted file mode 100644
index de1ee293..00000000
--- a/components/snippitCode.vue
+++ /dev/null
@@ -1,161 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/contributing.md b/contributing.md
deleted file mode 100644
index 24c53d54..00000000
--- a/contributing.md
+++ /dev/null
@@ -1,118 +0,0 @@
-# Contributing to PWABuilder
-
-PWABuilder was founded by Microsoft as a community guided, open source project to help move PWA adoption forward. We want to make sure that as the project evolves, it remains simple to get started, maintain, and improve.
-
-Many of the guidelines of this document are focused on promoting this sustainable simplicity.
-
-## Quick tech overview
-PWABuilder is built with the following tech stack:
-
-- https://nuxtjs.org/
-- https://vuejs.org/
-- https://www.typescriptlang.org/
-
-It is helpful to be familiar with these technologies before contributing.
-
-## Get started developing
-
-### Prerequisites
-
-At a minimum, you will need the following things properly installed on your computer to get started:
-
-* [Git](http://git-scm.com/)
-* [Node.js](http://nodejs.org/) (with NPM)
-* [NPM](http://npmjs.com/)
-
-To run e2e test coverage and build your changes (in production mode) you must also install:
-
- * [Java JDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html)
- * [Docker](https://www.docker.com/)
-
-
-
-### Installation
-
-* `git clone ` this repository
-* navigate inside the new directory
-* `npm install`
-### Running in Development mode
-
-* `npm run dev`
-* visit your app at [http://localhost:3000](http://localhost:3000)
-
-## Run tests on your (development mode) contributions
-
-### Running Unit Test Coverage
-
-* `npm test`
-### Running e2e Test Coverage
-
-* `npm install selenium-standalone@latest -g` _only once_
-* `selenium-standalone install` _only once_
-* `npm run e2e`
-
-> The [Java JDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html) must be installed to perform these commands.
-
-## Run & build the production code
-
-Production mode requires the same prerequisites and installation steps as development mode above.
-
-However, production mode has a different build process outlined below:
-
-* `npm run build` (builds and compiles the production code)
->> [Docker](https://www.docker.com/) must be installed to perform the above command.
-
-* `npm start` (doesn't compile the code)
-
-# Frequently Asked Questions
-
-## Who can contribute?
-
-Anyone who wants to be part of bringing PWAs to the web can contribute to PWABuilder! Skill level doesn't matter. All contributions big and small help us out. We have reviewers who can help you through the process the first few times.
-
-## Why does Microsoft need contributors?
-
-PWABuilder was founded by Microsoft, but it's only moved forward because of the community's help. We open-sourced this because Microsoft wants to support the cross-platform development ecosystem and work with the community to direct the future of PWAs.
-
-## What kind of contributions is PWABuilder seeking?
-
-No contribution is too small or too big. Bigger tasks take longer to review while smaller ones get feedback more quickly. Most contributors start with a small update, a bug fix, or docs improvement, and then move on to bigger tasks as they gain more familiarity with PWABuilder.
-
-## Where should I start contributing?
-
-PWABuilder is split into multiple repositories. We recommend you get started with the following repos:
-
-* https://github.com/pwa-builder/PWABuilder: This is the repo for the pwabuilder.com site. The master branch is the current public stable version. The redesign branch is where all new work is at the moment and will be merged to master when released.
-* https://github.com/pwa-builder/PWABuilder-CLI: This is the repo for the PWABuilder CLI.
-* https://github.com/pwa-builder/pwabuilder-api: This is the repo for the backend API used by PWABuilder. It is a node/express server and is currently deployed on Azure.
-* https://github.com/pwa-builder/pwabuilder-serviceworkers: This is the repo for the service worker snippits used by the PWABuilder site.
-* https://github.com/pwa-builder/pwabuilder-snippits: This is the repo for the features snippits used by the PWABuilder site.
-
-## What should I check before submitting a pull request?
-
-For every contribution, you must:
-
-* Test your code
-* Target master branch (or an appropriate release branch if appropriate for a bug fix)
-* Ensure that your contribution follows [standard accessibility guidelines](https://docs.microsoft.com/en-us/microsoft-edge/accessibility/design). Use tools like https://webhint.io/ to validate your changes.
-
-If adding a new feature,
- **you should open an issue with us** on the main PWABuilder repo on Github (https://github.com/pwa-builder/PWABuilder) before you start coding.
-
-Once you have opened your PR, feel free to add a reviewer (Github should recommend people on the team). When the PR has been reviewed and is good to go, a team member will merge it.
-
-## After my pull request gets merged, when does it become part of a PWABuilder release?
-
-We will usually add fixes in the next planned release, but sometimes it makes sense to add a contribution in a later update to ensure the quality and performance of the next release.
-
-## Found bugs?
-If you find a bug, you can help us by
-[submitting an issue](https://github.com/pwa-builder/PWABuilder/issues). Even better, you can
-[submit a Pull Request](#pr) with a fix.
-
-## Have other questions?
-Please do not open issues for general support questions and keep our GitHub issues for bug reports and feature requests. There is a much better chance of getting your question answered on [StackOverflow](https://stackoverflow.com/questions/tagged/pwabuilder) where questions should be tagged with `pwabuilder`
-
-## Special thanks
-This contributing doc was inspired by our friends' version at the [Windows Community Toolkit](https://github.com/windows-toolkit/WindowsCommunityToolkit/).
-thank you!
diff --git a/dangerfile.ts b/dangerfile.ts
new file mode 100644
index 00000000..4557f755
--- /dev/null
+++ b/dangerfile.ts
@@ -0,0 +1,6 @@
+import { danger, warn } from 'danger';
+
+// No PR is too small to include a description of why you made a change
+if (danger.github.pr.body.length < 10) {
+ warn('Please include a description of your PR changes.');
+}
diff --git a/deploy.cmd b/deploy.cmd
deleted file mode 100644
index e36fb2c3..00000000
--- a/deploy.cmd
+++ /dev/null
@@ -1,147 +0,0 @@
-@if "%SCM_TRACE_LEVEL%" NEQ "4" @echo off
-
-:: ----------------------
-:: KUDU Deployment Script
-:: Version: 1.0.15
-:: ----------------------
-
-:: Prerequisites
-:: -------------
-
-:: Verify node.js installed
-where node 2>nul >nul
-IF %ERRORLEVEL% NEQ 0 (
- echo Missing node.js executable, please install node.js, if already installed make sure it can be reached from current environment.
- goto error
-)
-
-:: Setup
-:: -----
-
-setlocal enabledelayedexpansion
-
-SET ARTIFACTS=%~dp0%..\artifacts
-
-IF NOT DEFINED DEPLOYMENT_SOURCE (
- SET DEPLOYMENT_SOURCE=%~dp0%.
-)
-
-IF NOT DEFINED DEPLOYMENT_TARGET (
- SET DEPLOYMENT_TARGET=%ARTIFACTS%\wwwroot
-)
-
-IF NOT DEFINED NEXT_MANIFEST_PATH (
- SET NEXT_MANIFEST_PATH=%ARTIFACTS%\manifest
-
- IF NOT DEFINED PREVIOUS_MANIFEST_PATH (
- SET PREVIOUS_MANIFEST_PATH=%ARTIFACTS%\manifest
- )
-)
-
-IF NOT DEFINED KUDU_SYNC_CMD (
- :: Install kudu sync
- echo Installing Kudu Sync
- call npm install kudusync -g --silent
- IF !ERRORLEVEL! NEQ 0 goto error
-
- :: Locally just running "kuduSync" would also work
- SET KUDU_SYNC_CMD=%appdata%\npm\kuduSync.cmd
-)
-goto Deployment
-
-:: Utility Functions
-:: -----------------
-
-:SelectNodeVersion
-
-IF DEFINED KUDU_SELECT_NODE_VERSION_CMD (
- :: The following are done only on Windows Azure Websites environment
- call %KUDU_SELECT_NODE_VERSION_CMD% "%DEPLOYMENT_SOURCE%" "%DEPLOYMENT_TARGET%" "%DEPLOYMENT_TEMP%"
- IF !ERRORLEVEL! NEQ 0 goto error
-
- IF EXIST "%DEPLOYMENT_TEMP%\__nodeVersion.tmp" (
- SET /p NODE_EXE=<"%DEPLOYMENT_TEMP%\__nodeVersion.tmp"
- IF !ERRORLEVEL! NEQ 0 goto error
- )
-
- IF EXIST "%DEPLOYMENT_TEMP%\__npmVersion.tmp" (
- SET /p NPM_JS_PATH=<"%DEPLOYMENT_TEMP%\__npmVersion.tmp"
- IF !ERRORLEVEL! NEQ 0 goto error
- )
-
- IF NOT DEFINED NODE_EXE (
- SET NODE_EXE=node
- )
-
- SET NPM_CMD="!NODE_EXE!" "!NPM_JS_PATH!"
-) ELSE (
- SET NPM_CMD=npm
- SET NODE_EXE=node
-)
-
-goto :EOF
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: Deployment
-:: ----------
-
-:Deployment
-echo Handling node.js deployment.
-
-:: 1. KuduSync
-IF /I "%IN_PLACE_DEPLOYMENT%" NEQ "1" (
- call :ExecuteCmd "%KUDU_SYNC_CMD%" -v 50 -f "%DEPLOYMENT_SOURCE%" -t "%DEPLOYMENT_TARGET%" -n "%NEXT_MANIFEST_PATH%" -p "%PREVIOUS_MANIFEST_PATH%" -i ".git;.hg;.deployment;deploy.cmd"
- IF !ERRORLEVEL! NEQ 0 goto error
-)
-
-:: 2. Select node version
-call :SelectNodeVersion
-
-:: 3. Install npm packages
-IF EXIST "%DEPLOYMENT_TARGET%\package.json" (
- pushd "%DEPLOYMENT_TARGET%"
- call :ExecuteCmd !NPM_CMD! install
- IF !ERRORLEVEL! NEQ 0 goto error
- popd
-)
-
-:: Check if preview or production
-IF NOT DEFINED NODE_ENV (
- SET NODE_ENV=production
-)
-
-
-:: 4. Run prod script
-IF EXIST "%DEPLOYMENT_TARGET%\package.json" (
- pushd "%DEPLOYMENT_TARGET%"
- call :ExecuteCmd !NPM_CMD! run build-%NODE_ENV%
- IF !ERRORLEVEL! NEQ 0 goto error
- popd
-)
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-goto end
-
-:: Execute command routine that will echo out when error
-:ExecuteCmd
-setlocal
-set _CMD_=%*
-call %_CMD_%
-if "%ERRORLEVEL%" NEQ "0" echo Failed exitCode=%ERRORLEVEL%, command=%_CMD_%
-exit /b %ERRORLEVEL%
-
-:error
-endlocal
-echo An error has occurred during web site deployment.
-call :exitSetErrorLevel
-call :exitFromFunction 2>nul
-
-:exitSetErrorLevel
-exit /b 1
-
-:exitFromFunction
-()
-
-:end
-endlocal
-echo Finished successfully.
\ No newline at end of file
diff --git a/dockerfile b/dockerfile
deleted file mode 100644
index f75807cd..00000000
--- a/dockerfile
+++ /dev/null
@@ -1,32 +0,0 @@
-FROM node:8 as base
-WORKDIR /app
-COPY package*.json ./
-ENV HOST 0.0.0.0
-ENV PORT 80
-RUN npm install
-COPY . .
-
-# -------- DEVELOPMENT ----------
-FROM base as build-dev
-
-ENV NODE_ENV=development
-
-CMD npm run dev
-
-# --------- PREVIEW --------------
-
-FROM base as build-preview
-
-ENV NODE_ENV=preview
-RUN npm run build
-CMD ["node", "server.js"]
-
-# --------- PRODUCTION -----------
-
-FROM base as build-prod
-
-ENV NODE_ENV=production
-RUN npm run build
-CMD ["node", "server.js"]
-
-
diff --git a/environments/development.js b/environments/development.js
deleted file mode 100644
index d2ade144..00000000
--- a/environments/development.js
+++ /dev/null
@@ -1,12 +0,0 @@
-module.exports = {
- apiUrl: 'https://pwabuilder-api-pre.azurewebsites.net',
- //apiUrl: 'http://localhost:3333',
- screenshotsUrl: 'https://pwa-screenshots.azurewebsites.net',
- analytics: 'UA-111887945-1',
- imageGeneratorUrl: 'https://appimagegenerator-pre.azurewebsites.net',
- androidPackageGeneratorUrl: 'https://pwabuilder-cloudapk-pre.azurewebsites.net',
- testAPIUrl: 'https://pwabuilder-tests-dev.azurewebsites.net/api',
- manifestFinderUrl: "https://pwabuilder-manifest-finder.azurewebsites.net/api/findmanifest",
- windowsPackageGeneratorUrl: 'https://pwabuilder-win-chromium-platform.centralus.cloudapp.azure.com/msix/generatezip',
-
-};
diff --git a/environments/preview.js b/environments/preview.js
deleted file mode 100644
index ba3dc7a0..00000000
--- a/environments/preview.js
+++ /dev/null
@@ -1,10 +0,0 @@
-module.exports = {
- apiUrl: 'https://pwabuilder-api-pre.azurewebsites.net',
- screenshotsUrl: 'https://pwa-screenshots.azurewebsites.net',
- analytics: 'UA-98003629-1',
- imageGeneratorUrl: 'https://appimagegenerator-pre.azurewebsites.net',
- androidPackageGeneratorUrl: 'https://pwabuilder-cloudapk-pre.azurewebsites.net',
- testAPIUrl: 'https://pwabuilder-tests-dev.azurewebsites.net/api',
- manifestFinderUrl: "https://pwabuilder-manifest-finder.azurewebsites.net/api/findmanifest",
- windowsPackageGeneratorUrl: 'https://pwabuilder-win-chromium-platform.centralus.cloudapp.azure.com/msix/generatezip',
-};
diff --git a/environments/production.js b/environments/production.js
deleted file mode 100644
index 800cf480..00000000
--- a/environments/production.js
+++ /dev/null
@@ -1,10 +0,0 @@
-module.exports = {
- apiUrl: 'https://pwabuilder-api-prod.azurewebsites.net',
- screenshotsUrl: 'https://pwa-screenshots.azurewebsites.net',
- analytics: 'UA-98003629-1',
- imageGeneratorUrl: 'https://appimagegenerator-prod.azurewebsites.net',
- androidPackageGeneratorUrl: 'https://pwabuilder-cloudapk.azurewebsites.net',
- testAPIUrl: 'https://pwabuilder-tests.azurewebsites.net/api',
- manifestFinderUrl: "https://pwabuilder-manifest-finder.azurewebsites.net/api/findmanifest",
- windowsPackageGeneratorUrl: 'https://pwabuilder-win-chromium-platform.centralus.cloudapp.azure.com/msix/generatezip',
-};
diff --git a/environments/test.js b/environments/test.js
deleted file mode 100644
index b7e45587..00000000
--- a/environments/test.js
+++ /dev/null
@@ -1,7 +0,0 @@
-module.exports = {
- baseUrl: 'localhost',
- apiUrl: 'apiurl.com',
- imageGeneratorUrl: 'http://testimagegenerator.azurewebsites.net',
- androidPackageGeneratorUrl: 'https://pwabuilder-cloudapk-pre.azurewebsites.net',
- manifestFinderUrl: "https://pwabuilder-manifest-finder.azurewebsites.net/api/findmanifest"
-}
\ No newline at end of file
diff --git a/index.html b/index.html
new file mode 100644
index 00000000..899f396b
--- /dev/null
+++ b/index.html
@@ -0,0 +1,73 @@
+
+
+
+
+ PWABuilder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/layouts/default.vue b/layouts/default.vue
deleted file mode 100755
index 4974b626..00000000
--- a/layouts/default.vue
+++ /dev/null
@@ -1,200 +0,0 @@
-
-
-
-
-
-
-
-
PWA Builder
-
-
-
-
This site uses cookies for analytics, personalized content and ads. By continuing to browse this site, you agree to this use.
-
-
Learn More
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/layouts/error.vue b/layouts/error.vue
deleted file mode 100644
index 666a6ee9..00000000
--- a/layouts/error.vue
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
Page not found
- An error occurred
- Home page
-
-
-
-
\ No newline at end of file
diff --git a/locales/en.json b/locales/en.json
deleted file mode 100644
index 0e159029..00000000
--- a/locales/en.json
+++ /dev/null
@@ -1,231 +0,0 @@
-{
- "menu": {
- "logo": "PWA Builder logo",
- "home": "PWA Builder",
- "documentation": "Documentation",
- "generator": "PWA Image Generator",
- "github": "Github",
- "generate": "Generate",
- "windows" : "Windows APIs"
- },
- "home": {
- "mast_title":"Quickly and easily turn your website into an app!",
- "mast_tag": "Enter the URL of your website below.",
- "empty_tag":"With Progressive Web Apps (or simply PWAs) you don't have to decide between using cross-platform web technologies and providing your users with a native app-like experience.",
- "how_works_title": "What is a PWA?",
- "how_works_body": "A Progressive Web App (or simply PWA) is a web site that acts, looks, and feels like a native app. Your web app runs in a browser just like it does today, but on platforms that support it, the app can be installed on the device and have the behavior and privlages of a native app.",
- "how_works_body_2": "Why build native apps for every platform when your PWA can run on iOS, Windows, Android, and now MacOS",
- "what_makes_title":"What makes a good PWA?",
- "what_makes_body":"A good PWA is indistinguishable from a good native app. A good PWA works whether you are connected to the internet or working offline, on a phone or a powerful PC, and works great with a mouse as well as touch. But don't stop at good, we can help make your PWA great!",
- "quality_low_title":"Good",
- "quality_mid_title":"Better",
- "quality_high_title":"Best",
- "quality_low_list_1":"HTTPS",
- "quality_low_list_2":"Has a W3C manifest",
- "quality_low_list_3":"Works offline",
- "quality_mid_list_1":"Service worker for performance and offline",
- "quality_mid_list_2":"Advanced Manifest with images",
- "quality_mid_list_3":"Works with different inputs and screen sizes",
- "quality_high_list_1":"Advanced \"app like\" features",
- "quality_high_list_2":"Uses advanced \"app like\" features"
-
- },
- "footer": {
- "copyright": "PWABuilder was founded by Microsoft as a community guided, open source project to help move PWA adoption forward.",
- "privacy": "Our Privacy Statement"
- },
- "generator": {
- "title": "Provide a URL",
- "subtitle": "Provide your URL and we'll help fill in the gaps if there are any.",
- "url": "Enter a URL",
- "placeholder_url": "Enter a URL",
- "start": "Start",
- "skip": "Skip to Build Service Worker",
- "skip_description": "If you already have the Manifest and want to download the service worker source code you can skip the first step."
- },
- "generate": {
- "subtitle": "Your W3C Manifest",
- "instructions": "You can use our tools to enhance your manifest, and download or copy the results for your site.",
- "name": "Name",
- "short_name": "Short Name",
- "description": "Description",
- "icon_url": "Icon Url",
- "upload": "Upload an image",
- "add_icon": "Add icon",
- "preview": "Preview",
- "size": "Size",
- "scope": "Scope",
- "start_url": "Start Url",
- "display": "Display",
- "fullscreen": "fullscreen",
- "orientation": "Orientation",
- "any": "any",
- "language": "Language",
- "background_color": "Background Color",
- "none": "None",
- "transparent": "Transparent",
- "pick": "Custom Color",
- "specify_members": "Specify custom members to be added to the manifest.",
- "next_step": "Next Step",
- "upload_title": "Upload an image",
- "upload_image": "Upload image",
- "upload_image_error": "Image upload error",
- "upload_image_error_none_uploaded": "No image uploaded",
- "upload_image_error_incorrect_type": "Incorrect file type uploaded",
- "choose_file": "Choose File",
- "generate_missing": "Generate missing images from this image",
- "icon_autogenerated": "Autogenerated",
- "remove_icon": "Remove icon",
- "w3c_manifest": "W3C Manifest"
- },
- "serviceworker": {
- "title": "Service Worker",
- "summary": "Service workers can make your site work offline, run faster, or both. Choose the functionality from our service workers below.",
- "download": "Download",
- "building": "downloading...",
- "next_step": "Next Step",
- "code_preview_web": "Code for website",
- "code_preview_serviceworker":"Service worker code",
- "titles": {
- "offline_page": "Offline page",
- "offline_copy": "Offline copy of pages",
- "offline_copy_backup": "Offline copy with backup offline page",
- "cache_first": "Cache-first network",
- "advanced": "Advanced Pre-cache (coming soon)"
- },
- "descriptions": {
- "offline_page": "This simple but elegant solution pulls a file from your web server called \"offline.html\" (make sure that file is actually there) and serves the file whenever a network connection can not be made.",
- "offline_copy": "A solution that expands the offline capabilities of your app. A copy of each page is stored in the cache as your visitors view them. This allows a visitor to load any previously viewed page while they are offline.",
- "offline_copy_backup": "A copy of each page is stored in the cache as your visitors view them. This allows a visitor to load any previously viewed page while they are offline. This then adds the \"offline page\" that allows you to customize the message and experience if the app is offline, and the page is not in the cache.",
- "cache_first": "Use this service worker to pre-cache content. The content you add to the \"cache-array\" will be added immediately to the cache and served from the cache whenever a page requests it. At the same time it will update the cache with the version you have on the server. Configure your file array to include all your site files, or a subset that you want to be served quickly.",
- "advanced": "Use this service worker to improve the performance of your app, and make it work offline. The advanced pre-cache allows you to configure files and routes that are cached in different manners (pre-cache, server first, cache first etc). The tool can be used to build a lightning fast app (even for dynamic content) that works offline."
- }
- },
- "publish": {
- "title": "Publish PWA",
- "manifest_needed": "You need to create your manifest first.",
- "web": "Web",
- "web_description": "Download these files and add them to your website. Different browsers will detect your Progressive Web App in different ways, but the manifest and service workers are required for each of them.",
- "windows": "Windows",
- "windows_description": "Service Worker support requires RS4 or above. The Download button below will create a copy of each PWAbuilder component as well as a side-loadable version your PWA (requires win10 in dev mode). The Generate Appx button can be used to generate a PWA package to submit to the Microsoft Store.",
- "sideload_instructions": "sideload instructions",
- "generate_appx": "Generate AppX",
- "package_name": "Android Package Options",
- "label_package_name": "Package ID",
- "placeholder_package_name": "com.mycompany.myawesomepwa",
- "package_name_detail": "Customize your Android package below",
- "android_key": "Signing key",
- "placeholder_android_key": "Enter your signing key",
- "android_keycode": "Signing key country code",
- "placeholder_android_keycode": "Enter your signing key's country code",
- "android_keyorg": "Signing key organization",
- "placeholder_android_keyorg": "Enter your signing key's organization",
- "android_keyorgunit": "Signing key organization unit",
- "placeholder_android_keyorgunit": "Enter your signing key's organization unit",
- "android_keyname": "Signing key full_name",
- "placeholder_android_keyname": "Enter your signing key password",
- "android_keypass": "Signing key password",
- "placeholder_android_keypass": "Enter your key password",
- "android_keystorepass": "Signing keyStore password",
- "placeholder_android_keystorepass": "Enter your keyStore password",
- "android_keyalias": "Signing key alias",
- "placeholder_android_keyalias": "Enter your key alias",
- "android": "Android",
- "android_description": "PWAs are available through the browser on Android, however your PWA can also be submitted to the play store by submitting the package you get below.",
- "ios": "iOS Polyfill",
- "building_package": "Building package...",
- "download": "Download",
- "try_again": "Try Again?",
- "first_step": "Go to first step",
- "start_over": "Start Over",
- "enter_your": "Enter your",
- "dev_center": "Dev Center",
- "publisher_details": "details below in order to generate an AppX package you can upload to the store.",
- "label_publisher": "Publisher Display Name",
- "placeholder_publisher": "Enter a Name or Company Name",
- "label_identity": "Publisher Identity",
- "label_publisher_id": "Found under Account Settings, Windows Publisher ID.",
- "placeholder_identity": "CN=",
- "label_package": "Package Identity Name",
- "placeholder_package": "Enter a valid Package Identity Name",
- "label_version": "Version Number (E.g. 1.0.0.0)",
- "placeholder_version": "Enter a Package Version Number",
- "download_manifest": "Download manifest"
- },
- "generatormenu": {
- "title": "Generate your Progressive Web App",
- "subtitle": "PWA.tools takes data from your site and uses that to generate cross-platform Progressive Web Apps",
- "generate": "Generate Manifest",
- "serviceworker": "Build Service Worker",
- "publish": "Publish PWA"
- },
- "windowsmenu": {
- "title": "Use our window Api",
- "subtitle": "Create your own Win10 app"
- },
- "windows": {
- "add": "Add",
- "download_bundle": "Download code Bundle",
- "download_sample": "Download Sample",
- "title": "Be the Best PWA you can be with advanced APIs",
- "summary": "now that you are a pwa, you should take advantage of app-like features that will win over your users.",
- "sourceTitle": "Source Code",
- "codeTitle": "Code Configuration"
- },
- "twoways": {
- "title": "Two Ways to Work",
- "subtitle": "CLI (node based): v1.1.0",
- "web_based": "Web Based",
- "started_now": "Get started Now",
- "download": "Download now"
- },
- "modal": {
- "submit": "Submit",
- "done": "Done",
- "goBack": "I'm not done yet, take me back to editing",
- "cancel": "Cancel"
- },
- "code_viewer": {
- "copy": "Copy",
- "copied": "Copied!",
- "error": "Error",
- "warnings": "Warnings",
- "suggestions": "Suggestions"
- },
- "related_applications": {
- "platform": "Platform",
- "url": "URL",
- "id": "Id",
- "add": "Add Related Application",
- "prefer": "Prefer related applications"
- },
- "general": {
- "github_source": "You can also download the source code directly from",
- "next_page": "I'm done",
- "loading": "Please wait, Loading..."
- },
- "error": {
- "url_empty": "Url is empty",
- "provide_url": "Please provide a URL.",
- "custom_value": "A custom value with that key already exists",
- "parsing_value": "There was a problem parsing the value. Make sure it is valid JSON (strings must be wrapped in quotes)",
- "enter_platform": "You must enter the Platform.",
- "enter_url": "You must enter either the URL or ID.",
- "enter_valid_url": "You must enter a valid URL.",
- "manifest_required": "Manifest is required.",
- "platform_required": "Platform is required.",
- "fields_required": "All fields are required.",
- "serviceworker_not_defined": "Serviceworker is not defined.",
- "package_name_required": "Package name is required."
- },
- "custom_members": {
- "name": "Member Name",
- "value": "Member Value",
- "add": "Add Member"
- },
- "issues_list": {
- "platforms": "Platforms affected",
- "item": "item",
- "items": "items"
- }
-}
diff --git a/locales/es.json b/locales/es.json
deleted file mode 100644
index 366bd381..00000000
--- a/locales/es.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "menu": {
- "logo": "logo PWA Builder",
- "home": "PWA Builder",
- "documentation": "Documentación",
- "generator": "PWA Image Generator",
- "github": "Github",
- "generate": "Generate",
- "windows" : "Windows APIs"
- }
-}
\ No newline at end of file
diff --git a/manifest.json b/manifest.json
new file mode 100644
index 00000000..fe230192
--- /dev/null
+++ b/manifest.json
@@ -0,0 +1,87 @@
+{
+ "dir": "ltr",
+ "lang": "EN",
+ "name": "Progressive Web Apps Builder",
+ "display": "standalone",
+ "start_url": "/",
+ "short_name": "PWABuilder",
+ "theme_color": "#E1477E",
+ "description": "All the tools you need to build and deploy your Progressive Web Apps.",
+ "orientation": "any",
+ "background_color": "#E1477E",
+ "related_applications": [],
+ "prefer_related_applications": false,
+ "icons": [
+ {
+ "src": "/assets/icons/icon_512.png",
+ "sizes": "512x512",
+ "type": "image/png"
+ },
+ {
+ "src": "/assets/icons/icon_192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ },
+ {
+ "src": "/assets/icons/icon_120.png",
+ "sizes": "120x120",
+ "type": "image/png"
+ },
+ {
+ "src": "/assets/icons/icon_60.png",
+ "sizes": "60x60",
+ "type": "image/png"
+ },
+ {
+ "src": "/assets/icons/icon_57.png",
+ "sizes": "57x57",
+ "type": "image/png"
+ }
+ ],
+ "screenshots": [
+ {
+ "src": "/assets/screenshots/screen1.png",
+ "sizes": "2880x1800",
+ "type": "image/png",
+ "description": "PWABuilder Home Screen"
+ },
+ {
+ "src": "/assets/screenshots/screen2.png",
+ "sizes": "2880/1800",
+ "type": "image/png",
+ "description": "PWABuilder Report Card"
+ },
+ {
+ "src": "/assets/screenshots/screen3.png",
+ "sizes": "2880x1800",
+ "type": "image/png",
+ "description": "Manifest information on the Report Card"
+ },
+ {
+ "src": "/assets/screenshots/screen4.png",
+ "sizes": "2880x1800",
+ "type": "image/png",
+ "description": "Pick a pre-built Service Worker"
+ },
+ {
+ "src": "/assets/screenshots/screen5.png",
+ "sizes": "2880x1800",
+ "type": "image/png",
+ "description": "Publish your PWA to the App Stores!"
+ },
+ {
+ "src": "/assets/screenshots/mobile.png",
+ "sizes": "1439x2881",
+ "type": "image/png",
+ "description": "PWABuilder also works on your phone!"
+ }
+ ],
+ "features": [
+ "Cross Platform",
+ "fast",
+ "simple"
+ ],
+ "categories": [
+ "utility"
+ ]
+}
diff --git a/middleware/default.ts b/middleware/default.ts
deleted file mode 100644
index 41768496..00000000
--- a/middleware/default.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-// This middleware is used for preserve old routes
-export default ({ route, redirect }) => {
- if (route.path !== '/generator') {
- return;
- }
-
- return redirect('/');
-};
\ No newline at end of file
diff --git a/middleware/i18n.ts b/middleware/i18n.ts
deleted file mode 100644
index fe96ed43..00000000
--- a/middleware/i18n.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-// From: https://nuxtjs.org/examples/i18n
-import * as i18n from '~/store/modules/i18n';
-
-export default ({ isHMR, app, store, route, params, error, redirect }) => {
- // If middleware is called from hot module replacement, ignore it
- if (isHMR) return;
- // Get locale from params
- const locale = params.lang || 'en';
- if (store.state.i18n.locales.indexOf(locale) === -1) {
- return error({ message: 'This page could not be found.', statusCode: 404 });
- }
- // Set locale
- store.commit(`${i18n.name}/${i18n.types.SET}`, locale);
- app.i18n.locale = store.state.i18n.locale;
- // If route is /en/... -> redirect to /...
- if (locale === 'en' && route.fullPath.indexOf('/en') === 0) {
- return redirect(route.fullPath.replace(/^\/en/, '/'));
- }
- };
\ No newline at end of file
diff --git a/mocha.opts b/mocha.opts
deleted file mode 100644
index 29d71f1d..00000000
--- a/mocha.opts
+++ /dev/null
@@ -1,4 +0,0 @@
---require ./test/tsconfig.mocha.js
---require tsconfig-paths/register
---require ./test/setup.js
-test/**/*.ts
\ No newline at end of file
diff --git a/modules/typescript.js b/modules/typescript.js
deleted file mode 100755
index 682831e3..00000000
--- a/modules/typescript.js
+++ /dev/null
@@ -1,34 +0,0 @@
-module.exports = function () {
- // Add .ts extension for store, middleware and more
- this.nuxt.options.extensions.push('ts')
- // Extend build
- this.extendBuild(config => {
- const tsLoader = {
- loader: 'ts-loader',
- options: {
- appendTsSuffixTo: [/\.vue$/],
- transpileOnly: true
- }
- }
- // Add TypeScript loader
- config.module.rules.push(
- Object.assign(
- {
- test: /((client|server)\.js)|(\.tsx?)$/
- },
- tsLoader
- )
- )
- // Add TypeScript loader for vue files
- for (let rule of config.module.rules) {
- if (rule.loader === 'vue-loader') {
- rule.options.loaders = rule.options.loaders || {};
- rule.options.loaders.ts = tsLoader
- }
- }
- // Add .ts extension in webpack resolve
- if (config.resolve.extensions.indexOf('.ts') === -1) {
- config.resolve.extensions.push('.ts')
- }
- })
-}
diff --git a/nightwatch.js b/nightwatch.js
deleted file mode 100644
index 47ea6cf6..00000000
--- a/nightwatch.js
+++ /dev/null
@@ -1,27 +0,0 @@
-const env = require(`./environments/${process.env.NODE_ENV}`)
-module.exports = {
- src_folders : ['./test-e2e'],
- output_folder : './e2e-logs/',
- selenium : {
- start_process : false,
- log_path : '.e2e-logs'
- },
- test_settings: {
- default: {
- launch_url: env.baseUrl,
- selenium_host: 'localhost',
- selenium_port : '4444',
- silent: true,
- desiredCapabilities: {
- browserName: 'chrome',
- javascriptEnabled: true
- },
- screenshots: {
- enabled: true,
- path: '.e2e-logs',
- on_failure: true,
- on_error: true
- },
- }
- }
-};
\ No newline at end of file
diff --git a/nuxt.config.js b/nuxt.config.js
deleted file mode 100755
index 7c243a19..00000000
--- a/nuxt.config.js
+++ /dev/null
@@ -1,166 +0,0 @@
-// Info about configuration https://nuxtjs.org/guide/configuration/
-const env = require(`./environments/${process.env.NODE_ENV}`);
-
-// Webpack plugin for Monaco
-const MonacoEditorPlugin = require('monaco-editor-webpack-plugin');
-
-console.log(`Environment: ${process.env.NODE_ENV}`);
-
-module.exports = {
- env: env,
- head: {
- htmlAttrs: {
- lang: 'en'
- },
- title: 'PWABuilder',
- meta: [{
- charset: 'utf-8'
- },
- {
- name: 'viewport',
- content: 'width=device-width, initial-scale=1'
- },
- {
- hid: 'description',
- name: 'description',
- content: 'All the tools you need to build and deploy your Progressive Web Apps.'
- },
- {
- name: 'msapplication-TileImage',
- content: '/Images/assets/icons/ms-icon-144x144-487a503e5cb29bbe0df7296db4093b7e.png'
- },
- {
- name: 'msapplication-TileColor',
- content: '#3c3c3c'
- },
- {
- name: 'theme-color',
- content: '#000000'
- },
- {
- name: 'ms.appid',
- content: 'PWABuilder'
- }
-
- ],
- link: [
- // { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' },
- {
- rel: 'icon',
- type: 'image/png',
- href: 'Images/favicon-32x32.png'
- },
- {
- rel: 'manifest',
- href: '/manifest.webmanifest'
- },
- {
- rel: 'preconnect',
- href: 'https://web.vortex.data.microsoft.com'
- },
- {
- rel: "stylesheet",
- href: "/css/all.css"
- },
- {
- rel: 'apple-touch-icon',
- href: '/Images/assets/icons/apple-icon-06144a2a7b5101d447ecb4832502e73e.png'
- },
- {
- rel: 'apple-touch-icon',
- sizes: '57x57',
- href: '/Images/assets/icons/apple-icon-57x57-b82ef058b133f3197df61c326fa7cd6d.png'
- },
- {
- rel: 'apple-touch-icon',
- sizes: '72x72',
- href: '/Images/assets/icons/apple-icon-72x72-66bbf8447788cee426eebcddfa8eede8.png'
- },
- {
- rel: 'apple-touch-icon',
- sizes: '76x76',
- href: '/Images/assets/icons/apple-icon-76x76-8e88034967133f6a0454fe32e2070ffd.png'
- },
- {
- rel: 'apple-touch-icon',
- sizes: '114x114',
- href: '/Images/assets/icons/apple-icon-114x114-a2731f540851db0ed9fb4a7c74e2c6ce.png'
- },
- {
- rel: 'apple-touch-icon',
- sizes: '120x120',
- href: '/Images/assets/icons/apple-icon-120x120-06144a2a7b5101d447ecb4832502e73e.png'
- },
- {
- rel: 'apple-touch-icon',
- sizes: '144x144',
- href: '/Images/assets/icons/apple-icon-144x144-487a503e5cb29bbe0df7296db4093b7e.png'
- },
- {
- rel: 'apple-touch-icon',
- sizes: '152x152',
- href: '/Images/assets/icons/apple-icon-152x152-b600c0b40a21bbb9f8c1d18acde168e9.png'
- },
- {
- rel: 'apple-touch-icon',
- sizes: '180x180',
- href: '/Images/assets/icons/apple-icon-180x180-f0f5be1ded11c7ec66b00dd23c277a5d.png'
- }
- ],
- script: [{
- src: '/pwabuilder-sw-register.js',
- type: 'module'
- },
- {
- src: "https://az725175.vo.msecnd.net/scripts/jsll-4.js"
- },
- {
- src: '/awa-register.js'
- },
- {
- src: '/webcomponents-polyfill.js'
- },
- {
- src: '/copyButton.js',
- type: 'module'
- },
- {
- src: 'webadb.js'
- },
- {
- src: '/platformPop.js',
- type: 'module'
- },
- {
- src: '/pwa-install.js',
- type: 'module'
- }
- ]
- },
- loading: {
- color: '#1FC2C8'
- },
- css: ['~/assets/scss/app.scss'],
- build: {
- extractCSS: true,
- vendor: ['babel-polyfill', 'vuex-class', 'nuxt-class-component', 'vue-i18n'],
- plugins: [
- new MonacoEditorPlugin({
- // https://github.com/Microsoft/monaco-editor-webpack-plugin#options
- // Include a subset of languages support
- // Some language extensions like typescript are so huge that may impact build performance
- // e.g. Build full languages support with webpack 4.0 takes over 80 seconds
- // Languages are loaded on demand at runtime
- languages: ['javascript', 'typescript', 'css', 'html', 'json']
- })
- ]
- },
- router: {
- middleware: ['i18n', 'default']
- },
- plugins: ['~/plugins/i18n.js', { src: '~/plugins/vuex-persist', ssr: false }],
- modules: [
- '~/modules/typescript',
- '@nuxtjs/axios'
- ]
-}
diff --git a/package-lock.json b/package-lock.json
index 82106b7b..e7ab1bcf 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,18261 +1,22191 @@
{
- "version": "2.0.0",
- "lockfileVersion": 1,
+ "name": "PWABuilder",
+ "version": "0.0.1",
+ "lockfileVersion": 2,
"requires": true,
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
- "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
+ "packages": {
+ "": {
+ "version": "0.0.1",
+ "license": "ISC",
+ "dependencies": {
+ "@codemirror/autocomplete": "^0.18.5",
+ "@codemirror/basic-setup": "^0.18.0",
+ "@codemirror/commands": "^0.18.1",
+ "@codemirror/fold": "^0.18.0",
+ "@codemirror/gutter": "^0.18.2",
+ "@codemirror/lang-json": "^0.18.0",
+ "@codemirror/language": "^0.18.1",
+ "@codemirror/lint": "^0.18.2",
+ "@codemirror/matchbrackets": "^0.18.0",
+ "@codemirror/state": "^0.18.6",
+ "@codemirror/text": "^0.18.0",
+ "@codemirror/tooltip": "^0.18.4",
+ "@codemirror/view": "^0.18.10",
+ "@pwabuilder/pwainstall": "^1.6.6",
+ "@vaadin/router": "^1.7.4",
+ "browser-fs-access": "^0.16.2",
+ "cors": "^2.8.5",
+ "deepmerge": "^4.2.2",
+ "downloadjs": "^1.4.7",
+ "express": "^4.17.1",
+ "lit": "^2.0.0-rc.1",
+ "lodash-es": "^4.17.21",
+ "workbox-core": "^6.1.2",
+ "workbox-precaching": "^6.1.2"
+ },
+ "devDependencies": {
+ "@open-wc/rollup-plugin-html": "^1.2.5",
+ "@rollup/plugin-json": "^4.1.0",
+ "@rollup/plugin-node-resolve": "^11.2.1",
+ "@rollup/plugin-replace": "^2.4.2",
+ "@rollup/plugin-strip": "^2.0.0",
+ "@rollup/plugin-typescript": "^8.2.1",
+ "@types/lodash-es": "^4.17.4",
+ "@types/service_worker_api": "^0.0.9",
+ "@typescript-eslint/eslint-plugin": "^4.12.0",
+ "@typescript-eslint/parser": "^4.12.0",
+ "@web/dev-server": "^0.1.10",
+ "concurrently": "^6.0.0",
+ "danger": "^10.6.0",
+ "eslint": "^7.17.0",
+ "eslint-config-prettier": "^7.1.0",
+ "eslint-plugin-import": "^2.22.1",
+ "eslint-plugin-node": "^11.1.0",
+ "eslint-plugin-prettier": "^3.3.1",
+ "lit-analyzer": "^1.2.1",
+ "prettier": "^2.2.1",
+ "rimraf": "^3.0.2",
+ "rollup": "^2.44.0",
+ "rollup-plugin-copy": "^3.4.0",
+ "rollup-plugin-lit-css": "^2.1.0",
+ "rollup-plugin-terser": "^7.0.2",
+ "rollup-plugin-workbox": "^6.1.1",
+ "rollup-plugin-workbox-inject": "^2.0.0",
+ "tslib": "^2.1.0",
+ "typescript": "^4.2.3"
+ },
+ "engines": {
+ "node": "14.10.0"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
"dev": true,
- "requires": {
- "@babel/highlight": "^7.0.0"
+ "dependencies": {
+ "@babel/highlight": "^7.8.3"
}
},
- "@babel/core": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.0.tgz",
- "integrity": "sha512-Dzl7U0/T69DFOTwqz/FJdnOSWS57NpjNfCwMKHABr589Lg8uX1RrlBIJ7L5Dubt/xkLsx0xH5EBFzlBVes1ayA==",
+ "node_modules/@babel/core": {
+ "version": "7.11.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.11.6.tgz",
+ "integrity": "sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg==",
"dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/generator": "^7.4.0",
- "@babel/helpers": "^7.4.0",
- "@babel/parser": "^7.4.0",
- "@babel/template": "^7.4.0",
- "@babel/traverse": "^7.4.0",
- "@babel/types": "^7.4.0",
- "convert-source-map": "^1.1.0",
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.11.6",
+ "@babel/helper-module-transforms": "^7.11.0",
+ "@babel/helpers": "^7.10.4",
+ "@babel/parser": "^7.11.5",
+ "@babel/template": "^7.10.4",
+ "@babel/traverse": "^7.11.5",
+ "@babel/types": "^7.11.5",
+ "convert-source-map": "^1.7.0",
"debug": "^4.1.0",
- "json5": "^2.1.0",
- "lodash": "^4.17.11",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.19",
"resolve": "^1.3.2",
"semver": "^5.4.1",
"source-map": "^0.5.0"
},
- "dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "json5": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
- "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- }
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "@babel/generator": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.0.tgz",
- "integrity": "sha512-/v5I+a1jhGSKLgZDcmAUZ4K/VePi43eRkUs3yePW1HB1iANOD5tqJXwGSG4BZhSksP8J9ejSlwGeTiiOFZOrXQ==",
+ "node_modules/@babel/core/node_modules/@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
"dev": true,
- "requires": {
- "@babel/types": "^7.4.0",
- "jsesc": "^2.5.1",
- "lodash": "^4.17.11",
- "source-map": "^0.5.0",
- "trim-right": "^1.0.1"
- },
"dependencies": {
- "jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- }
+ "@babel/highlight": "^7.10.4"
}
},
- "@babel/helper-function-name": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
- "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "node_modules/@babel/core/node_modules/@babel/generator": {
+ "version": "7.11.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
+ "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
"dev": true,
- "requires": {
- "@babel/helper-get-function-arity": "^7.0.0",
- "@babel/template": "^7.1.0",
- "@babel/types": "^7.0.0"
+ "dependencies": {
+ "@babel/types": "^7.11.5",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
}
},
- "@babel/helper-get-function-arity": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
- "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "node_modules/@babel/core/node_modules/@babel/helper-function-name": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
+ "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
"dev": true,
- "requires": {
- "@babel/types": "^7.0.0"
+ "dependencies": {
+ "@babel/helper-get-function-arity": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "@babel/helper-split-export-declaration": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.0.tgz",
- "integrity": "sha512-7Cuc6JZiYShaZnybDmfwhY4UYHzI6rlqhWjaIqbsJGsIqPimEYy5uh3akSRLMg65LSdSEnJ8a8/bWQN6u2oMGw==",
+ "node_modules/@babel/core/node_modules/@babel/helper-get-function-arity": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+ "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
"dev": true,
- "requires": {
- "@babel/types": "^7.4.0"
+ "dependencies": {
+ "@babel/types": "^7.10.4"
}
},
- "@babel/helpers": {
- "version": "7.4.2",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.4.2.tgz",
- "integrity": "sha512-gQR1eQeroDzFBikhrCccm5Gs2xBjZ57DNjGbqTaHo911IpmSxflOQWMAHPw/TXk8L3isv7s9lYzUkexOeTQUYg==",
+ "node_modules/@babel/core/node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
+ "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
"dev": true,
- "requires": {
- "@babel/template": "^7.4.0",
- "@babel/traverse": "^7.4.0",
- "@babel/types": "^7.4.0"
+ "dependencies": {
+ "@babel/types": "^7.11.0"
}
},
- "@babel/highlight": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz",
- "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
+ "node_modules/@babel/core/node_modules/@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
"dev": true,
- "requires": {
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.10.4",
"chalk": "^2.0.0",
- "esutils": "^2.0.2",
"js-tokens": "^4.0.0"
- },
- "dependencies": {
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- }
}
},
- "@babel/parser": {
- "version": "7.4.2",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.2.tgz",
- "integrity": "sha512-9fJTDipQFvlfSVdD/JBtkiY0br9BtfvW2R8wo6CX/Ej2eMuV0gWPk1M67Mt3eggQvBqYW1FCEk8BN7WvGm/g5g==",
- "dev": true
- },
- "@babel/template": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.0.tgz",
- "integrity": "sha512-SOWwxxClTTh5NdbbYZ0BmaBVzxzTh2tO/TeLTbF6MO6EzVhHTnff8CdBXx3mEtazFBoysmEM6GU/wF+SuSx4Fw==",
+ "node_modules/@babel/core/node_modules/@babel/parser": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
+ "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
"dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.4.0",
- "@babel/types": "^7.4.0"
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
}
},
- "@babel/traverse": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.0.tgz",
- "integrity": "sha512-/DtIHKfyg2bBKnIN+BItaIlEg5pjAnzHOIQe5w+rHAw/rg9g0V7T4rqPX8BJPfW11kt3koyjAnTNwCzb28Y1PA==",
+ "node_modules/@babel/core/node_modules/@babel/template": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+ "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
"dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/generator": "^7.4.0",
- "@babel/helper-function-name": "^7.1.0",
- "@babel/helper-split-export-declaration": "^7.4.0",
- "@babel/parser": "^7.4.0",
- "@babel/types": "^7.4.0",
- "debug": "^4.1.0",
- "globals": "^11.1.0",
- "lodash": "^4.17.11"
- },
"dependencies": {
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "globals": {
- "version": "11.11.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz",
- "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==",
- "dev": true
- },
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true
- }
+ "@babel/code-frame": "^7.10.4",
+ "@babel/parser": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "@babel/types": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.0.tgz",
- "integrity": "sha512-aPvkXyU2SPOnztlgo8n9cEiXW755mgyvueUPcpStqdzoSPm0fjO0vQBjLkt3JKJW7ufikfcnMTTPsN1xaTsBPA==",
+ "node_modules/@babel/core/node_modules/@babel/traverse": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
+ "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
"dev": true,
- "requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.11",
- "to-fast-properties": "^2.0.0"
- },
"dependencies": {
- "to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
- "dev": true
- }
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.11.5",
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/parser": "^7.11.5",
+ "@babel/types": "^7.11.5",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.19"
}
},
- "@mrmlnc/readdir-enhanced": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
- "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
+ "node_modules/@babel/core/node_modules/debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
- "requires": {
- "call-me-maybe": "^1.0.1",
- "glob-to-regexp": "^0.3.0"
+ "dependencies": {
+ "ms": "^2.1.1"
}
},
- "@nodelib/fs.stat": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
- "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
+ "node_modules/@babel/core/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "@nuxtjs/axios": {
- "version": "4.5.2",
- "resolved": "https://registry.npmjs.org/@nuxtjs/axios/-/axios-4.5.2.tgz",
- "integrity": "sha512-Ohp69J5IhmSF45vtq/Dtx8JieQkaN05Rb7YtCpUW65ctHtG5Ier+yb3c8ZnUHkggLOx0SrEQi8+R8ApEwRZkMA==",
- "requires": {
- "axios": "^0.17.1",
- "chalk": "^2.3.0",
- "debug": "^3.1.0",
- "whatwg-url": "^6.4.0"
- },
+ "node_modules/@babel/helper-annotate-as-pure": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz",
+ "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==",
+ "dev": true,
"dependencies": {
- "axios": {
- "version": "0.17.1",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz",
- "integrity": "sha1-LY4+XQvb1zJ/kbyBT1xXZg+Bgk0=",
- "requires": {
- "follow-redirects": "^1.2.5",
- "is-buffer": "^1.1.5"
- }
- }
+ "@babel/types": "^7.8.3"
}
},
- "@nuxtjs/youch": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/@nuxtjs/youch/-/youch-4.2.3.tgz",
- "integrity": "sha512-XiTWdadTwtmL/IGkNqbVe+dOlT+IMvcBu7TvKI7plWhVQeBCQ9iKhk3jgvVWFyiwL2yHJDlEwOM5v9oVES5Xmw==",
- "requires": {
- "cookie": "^0.3.1",
- "mustache": "^2.3.0",
- "stack-trace": "0.0.10"
+ "node_modules/@babel/helper-create-class-features-plugin": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz",
+ "integrity": "sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-member-expression-to-functions": "^7.10.5",
+ "@babel/helper-optimise-call-expression": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-replace-supers": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.10.4"
+ }
+ },
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/highlight": "^7.10.4"
}
},
- "@sinonjs/commons": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.0.2.tgz",
- "integrity": "sha512-WR3dlgqJP4QNrLC4iXN/5/2WaLQQ0VijOOkmflqFGVJ6wLEpbSjo7c0ZeGIdtY8Crk7xBBp87sM6+Mkerz7alw==",
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/generator": {
+ "version": "7.11.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
+ "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
"dev": true,
- "requires": {
- "type-detect": "4.0.8"
+ "dependencies": {
+ "@babel/types": "^7.11.5",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
}
},
- "@sinonjs/formatio": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.0.0.tgz",
- "integrity": "sha512-vdjoYLDptCgvtJs57ULshak3iJe4NW3sJ3g36xVDGff5AE8P30S6A093EIEPjdi2noGhfuNOEkbxt3J3awFW1w==",
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-function-name": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
+ "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
"dev": true,
- "requires": {
- "@sinonjs/samsam": "2.1.0"
- },
"dependencies": {
- "@sinonjs/samsam": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-2.1.0.tgz",
- "integrity": "sha512-5x2kFgJYupaF1ns/RmharQ90lQkd2ELS8A9X0ymkAAdemYHGtI2KiUHG8nX2WU0T1qgnOU5YMqnBM2V7NUanNw==",
- "dev": true,
- "requires": {
- "array-from": "^2.1.1"
- }
- }
+ "@babel/helper-get-function-arity": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "@sinonjs/samsam": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-2.1.2.tgz",
- "integrity": "sha512-ZwTHAlC9akprWDinwEPD4kOuwaYZlyMwVJIANsKNC3QVp0AHB04m7RnB4eqeWfgmxw8MGTzS9uMaw93Z3QcZbw==",
- "dev": true
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-get-function-arity": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+ "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.10.4"
+ }
},
- "@sinonjs/text-encoding": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz",
- "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==",
- "dev": true
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-member-expression-to-functions": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz",
+ "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.11.0"
+ }
},
- "@types/anymatch": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz",
- "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA=="
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-optimise-call-expression": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz",
+ "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.10.4"
+ }
},
- "@types/chai": {
- "version": "4.1.6",
- "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.1.6.tgz",
- "integrity": "sha512-CBk7KTZt3FhPsEkYioG6kuCIpWISw+YI8o+3op4+NXwTpvAPxE1ES8+PY8zfaK2L98b1z5oq03UHa4VYpeUxnw==",
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
},
- "@types/chai-as-promised": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.0.tgz",
- "integrity": "sha512-MFiW54UOSt+f2bRw8J7LgQeIvE/9b4oGvwU7XW30S9QGAiHGnU/fmiOprsyMkdmH2rl8xSPc0/yrQw8juXU6bQ==",
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-replace-supers": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
+ "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
"dev": true,
- "requires": {
- "@types/chai": "*"
+ "dependencies": {
+ "@babel/helper-member-expression-to-functions": "^7.10.4",
+ "@babel/helper-optimise-call-expression": "^7.10.4",
+ "@babel/traverse": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "@types/downloadjs": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@types/downloadjs/-/downloadjs-1.4.1.tgz",
- "integrity": "sha512-Y7Ds+ne3AMvNY9TB055NCOoFewlmEpRpGGyNaPu1lw6a0reLHWESZ8KLVDBfdOvlwDUBWWQVcijkCJaoysDC4Q=="
- },
- "@types/events": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
- "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==",
- "dev": true
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
+ "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.11.0"
+ }
},
- "@types/glob": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
- "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
"dev": true,
- "requires": {
- "@types/events": "*",
- "@types/minimatch": "*",
- "@types/node": "*"
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
}
},
- "@types/json5": {
- "version": "0.0.29",
- "resolved": "http://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
- "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
- "dev": true
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/parser": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
+ "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
+ "dev": true,
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
},
- "@types/minimatch": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
- "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
- "dev": true
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/template": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+ "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/parser": "^7.10.4",
+ "@babel/types": "^7.10.4"
+ }
},
- "@types/mocha": {
- "version": "5.2.5",
- "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.5.tgz",
- "integrity": "sha512-lAVp+Kj54ui/vLUFxsJTMtWvZraZxum3w3Nwkble2dNuV5VnPA+Mi2oGX9XYJAaIvZi3tn3cbjS/qcJXRb6Bww==",
- "dev": true
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/traverse": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
+ "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.11.5",
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/parser": "^7.11.5",
+ "@babel/types": "^7.11.5",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.19"
+ }
},
- "@types/node": {
- "version": "10.12.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.0.tgz",
- "integrity": "sha512-3TUHC3jsBAB7qVRGxT6lWyYo2v96BMmD2PTcl47H25Lu7UXtFH/2qqmKiVrnel6Ne//0TFYf6uvNX+HW2FRkLQ=="
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
},
- "@types/sinon": {
- "version": "4.3.3",
- "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-4.3.3.tgz",
- "integrity": "sha512-Tt7w/ylBS/OEAlSCwzB0Db1KbxnkycP/1UkQpbvKFYoUuRn4uYsC3xh5TRPrOjTy0i8TIkSz1JdNL4GPVdf3KQ==",
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "@types/sinon-chai": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.0.tgz",
- "integrity": "sha512-VpsC3L8/ynicaLJB/aVvLCFn+c2tjo5jJ5MGiy7keoN431LSAKv9xhLO9dhx9vSVJHG8cjfshdqU4+W8Occf7w==",
+ "node_modules/@babel/helper-create-regexp-features-plugin": {
+ "version": "7.8.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz",
+ "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==",
"dev": true,
- "requires": {
- "@types/chai": "*",
- "@types/sinon": "*"
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-regex": "^7.8.3",
+ "regexpu-core": "^4.7.0"
}
},
- "@types/sinon-stub-promise": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@types/sinon-stub-promise/-/sinon-stub-promise-2.1.3.tgz",
- "integrity": "sha512-PglQBiY9xsS2AdOu494Z5w73dwme/lrfXNJmoGeMQhNrF3mdZprX8K1x32xxlRVqN75GuCRR4JVuJIzxNTdoOg==",
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.13.12",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz",
+ "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==",
"dev": true,
- "requires": {
- "@types/sinon": "*"
+ "dependencies": {
+ "@babel/types": "^7.13.12"
}
},
- "@types/tapable": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.4.tgz",
- "integrity": "sha512-78AdXtlhpCHT0K3EytMpn4JNxaf5tbqbLcbIRoQIHzpTIyjpxLQKRoxU55ujBXAtg3Nl2h/XWvfDa9dsMOd0pQ=="
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz",
+ "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.10.4",
+ "@babel/helper-replace-supers": "^7.10.4",
+ "@babel/helper-simple-access": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.11.0",
+ "lodash": "^4.17.19"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms/node_modules/@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/highlight": "^7.10.4"
+ }
},
- "@types/uglify-js": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.0.4.tgz",
- "integrity": "sha512-SudIN9TRJ+v8g5pTG8RRCqfqTMNqgWCKKd3vtynhGzkIIjxaicNAMuY5TRadJ6tzDu3Dotf3ngaMILtmOdmWEQ==",
- "requires": {
- "source-map": "^0.6.1"
+ "node_modules/@babel/helper-module-transforms/node_modules/@babel/generator": {
+ "version": "7.11.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
+ "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.11.5",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
}
},
- "@types/unist": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz",
- "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==",
- "dev": true
+ "node_modules/@babel/helper-module-transforms/node_modules/@babel/helper-function-name": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
+ "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-get-function-arity": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
+ }
},
- "@types/vfile": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/@types/vfile/-/vfile-3.0.2.tgz",
- "integrity": "sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==",
+ "node_modules/@babel/helper-module-transforms/node_modules/@babel/helper-get-function-arity": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+ "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
"dev": true,
- "requires": {
- "@types/node": "*",
- "@types/unist": "*",
- "@types/vfile-message": "*"
+ "dependencies": {
+ "@babel/types": "^7.10.4"
}
},
- "@types/vfile-message": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-1.0.1.tgz",
- "integrity": "sha512-mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA==",
+ "node_modules/@babel/helper-module-transforms/node_modules/@babel/helper-member-expression-to-functions": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz",
+ "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==",
"dev": true,
- "requires": {
- "@types/node": "*",
- "@types/unist": "*"
+ "dependencies": {
+ "@babel/types": "^7.11.0"
}
},
- "@types/webpack": {
- "version": "4.4.32",
- "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.4.32.tgz",
- "integrity": "sha512-mNARoaSJTzbiHxtZbf9NULFilu2frqD+g9Iyl9V2jPYJWXi+AC3Hz8lQWPZ5LLtgUm7iF4SDDMB/1bPrbRQgFw==",
- "requires": {
- "@types/anymatch": "*",
- "@types/node": "*",
- "@types/tapable": "*",
- "@types/uglify-js": "*",
- "source-map": "^0.6.0"
+ "node_modules/@babel/helper-module-transforms/node_modules/@babel/helper-optimise-call-expression": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz",
+ "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.10.4"
}
},
- "abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
- "dev": true
- },
- "accepts": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
- "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
- "requires": {
- "mime-types": "~2.1.18",
- "negotiator": "0.6.1"
+ "node_modules/@babel/helper-module-transforms/node_modules/@babel/helper-replace-supers": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
+ "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-member-expression-to-functions": "^7.10.4",
+ "@babel/helper-optimise-call-expression": "^7.10.4",
+ "@babel/traverse": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "acorn": {
- "version": "5.7.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
- "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw=="
- },
- "acorn-dynamic-import": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz",
- "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=",
- "requires": {
- "acorn": "^4.0.3"
- },
+ "node_modules/@babel/helper-module-transforms/node_modules/@babel/helper-simple-access": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz",
+ "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==",
+ "dev": true,
"dependencies": {
- "acorn": {
- "version": "4.0.13",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
- "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c="
- }
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "agent-base": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz",
- "integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=",
+ "node_modules/@babel/helper-module-transforms/node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
+ "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
"dev": true,
- "requires": {
- "extend": "~3.0.0",
- "semver": "~5.0.1"
- },
"dependencies": {
- "semver": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz",
- "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=",
- "dev": true
- }
+ "@babel/types": "^7.11.0"
}
},
- "ajv": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz",
- "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==",
- "requires": {
- "fast-deep-equal": "^2.0.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
+ "node_modules/@babel/helper-module-transforms/node_modules/@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
}
},
- "ajv-errors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
- "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
- "dev": true
+ "node_modules/@babel/helper-module-transforms/node_modules/@babel/parser": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
+ "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
+ "dev": true,
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
},
- "ajv-keywords": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz",
- "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw=="
+ "node_modules/@babel/helper-module-transforms/node_modules/@babel/template": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+ "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/parser": "^7.10.4",
+ "@babel/types": "^7.10.4"
+ }
},
- "align-text": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
- "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
- "requires": {
- "kind-of": "^3.0.2",
- "longest": "^1.0.1",
- "repeat-string": "^1.5.2"
- },
+ "node_modules/@babel/helper-module-transforms/node_modules/@babel/traverse": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
+ "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
+ "dev": true,
"dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.11.5",
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/parser": "^7.11.5",
+ "@babel/types": "^7.11.5",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.19"
}
},
- "alphanum-sort": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
- "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM="
+ "node_modules/@babel/helper-module-transforms/node_modules/debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
},
- "amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "node_modules/@babel/helper-module-transforms/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "ansi-colors": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
- "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
"dev": true
},
- "ansi-escapes": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz",
- "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4="
+ "node_modules/@babel/helper-regex": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz",
+ "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==",
+ "dev": true,
+ "dependencies": {
+ "lodash": "^4.17.13"
+ }
},
- "ansi-html": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
- "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4="
+ "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz",
+ "integrity": "sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.11.0"
+ }
},
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
+ "dev": true
},
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "requires": {
- "color-convert": "^1.9.0"
+ "node_modules/@babel/helpers": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz",
+ "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.10.4",
+ "@babel/traverse": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "anymatch": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
- "requires": {
- "micromatch": "^3.1.4",
- "normalize-path": "^2.1.1"
+ "node_modules/@babel/helpers/node_modules/@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/highlight": "^7.10.4"
}
},
- "aproba": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+ "node_modules/@babel/helpers/node_modules/@babel/generator": {
+ "version": "7.11.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
+ "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.11.5",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
+ }
},
- "are-we-there-yet": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
- "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+ "node_modules/@babel/helpers/node_modules/@babel/helper-function-name": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
+ "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
"dev": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
+ "dependencies": {
+ "@babel/helper-get-function-arity": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
- "requires": {
- "sprintf-js": "~1.0.2"
+ "node_modules/@babel/helpers/node_modules/@babel/helper-get-function-arity": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+ "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.10.4"
}
},
- "arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
+ "node_modules/@babel/helpers/node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
+ "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.11.0"
+ }
},
- "arr-flatten": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
+ "node_modules/@babel/helpers/node_modules/@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
},
- "arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
+ "node_modules/@babel/helpers/node_modules/@babel/parser": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
+ "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
+ "dev": true,
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
},
- "array-filter": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz",
- "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw="
+ "node_modules/@babel/helpers/node_modules/@babel/template": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+ "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/parser": "^7.10.4",
+ "@babel/types": "^7.10.4"
+ }
},
- "array-find-index": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
- "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E="
+ "node_modules/@babel/helpers/node_modules/@babel/traverse": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
+ "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.11.5",
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/parser": "^7.11.5",
+ "@babel/types": "^7.11.5",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.19"
+ }
},
- "array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
+ "node_modules/@babel/helpers/node_modules/debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
},
- "array-from": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz",
- "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=",
+ "node_modules/@babel/helpers/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "array-map": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz",
- "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI="
- },
- "array-reduce": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz",
- "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys="
+ "node_modules/@babel/highlight": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+ "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
},
- "array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "node_modules/@babel/plugin-proposal-class-properties": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz",
+ "integrity": "sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==",
"dev": true,
- "requires": {
- "array-uniq": "^1.0.1"
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+ "node_modules/@babel/plugin-proposal-class-properties/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
},
- "array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
+ "node_modules/@babel/plugin-proposal-export-namespace-from": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.10.4.tgz",
+ "integrity": "sha512-aNdf0LY6/3WXkhh0Fdb6Zk9j1NMD8ovj3F6r0+3j837Pn1S1PdNtcwJ5EG9WkVPNHPxyJDaxMaAOVq4eki0qbg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+ }
},
- "arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "node_modules/@babel/plugin-proposal-export-namespace-from/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
},
- "asn1": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
- "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "node_modules/@babel/plugin-proposal-logical-assignment-operators": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.11.0.tgz",
+ "integrity": "sha512-/f8p4z+Auz0Uaf+i8Ekf1iM7wUNLcViFUGiPxKeXvxTSl63B875YPiVdUDdem7hREcI0E0kSpEhS8tF5RphK7Q==",
"dev": true,
- "requires": {
- "safer-buffer": "~2.1.0"
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
}
},
- "asn1.js": {
- "version": "4.10.1",
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
- "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
- "requires": {
- "bn.js": "^4.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
- }
+ "node_modules/@babel/plugin-proposal-logical-assignment-operators/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "dev": true
},
- "assert": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
- "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
- "requires": {
- "util": "0.10.3"
- },
+ "node_modules/@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz",
+ "integrity": "sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA==",
+ "dev": true,
"dependencies": {
- "inherits": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
- "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
- },
- "util": {
- "version": "0.10.3",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
- "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
- "requires": {
- "inherits": "2.0.1"
- }
- }
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+ "@babel/plugin-transform-parameters": "^7.10.4"
}
},
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
- },
- "assertion-error": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
- "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
+ "node_modules/@babel/plugin-proposal-object-rest-spread/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
},
- "assign-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
+ "node_modules/@babel/plugin-proposal-optional-chaining": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz",
+ "integrity": "sha512-v9fZIu3Y8562RRwhm1BbMRxtqZNFmFA2EG+pT2diuU8PT3H6T/KXoZ54KgYisfOFZHV6PfvAiBIZ9Rcz+/JCxA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0"
+ }
},
- "ast-types": {
- "version": "0.11.6",
- "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.11.6.tgz",
- "integrity": "sha512-nHiuV14upVGl7MWwFUYbzJ6YlfwWS084CU9EA8HajfYQjMSli5TQi3UTRygGF58LFWVkXxS1rbgRhROEqlQkXg==",
+ "node_modules/@babel/plugin-proposal-optional-chaining/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
},
- "astral-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
- "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "node_modules/@babel/plugin-proposal-private-methods": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz",
+ "integrity": "sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-private-methods/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
},
- "async": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
- "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
- "requires": {
- "lodash": "^4.17.10"
+ "node_modules/@babel/plugin-proposal-unicode-property-regex": {
+ "version": "7.8.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz",
+ "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.8.8",
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "async-each": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
- "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0="
- },
- "async-foreach": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
- "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
- "dev": true
+ "node_modules/@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
},
- "async-limiter": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
- "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg=="
+ "node_modules/@babel/plugin-syntax-dynamic-import": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+ "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
},
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
+ "node_modules/@babel/plugin-syntax-export-namespace-from": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
+ "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
},
- "atob": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
+ "node_modules/@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
},
- "autoprefixer": {
- "version": "7.2.6",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz",
- "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==",
- "requires": {
- "browserslist": "^2.11.3",
- "caniuse-lite": "^1.0.30000805",
- "normalize-range": "^0.1.2",
- "num2fraction": "^1.2.2",
- "postcss": "^6.0.17",
- "postcss-value-parser": "^3.2.3"
+ "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+ "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "node_modules/@babel/plugin-syntax-logical-assignment-operators/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
},
- "aws4": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
- "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
- "dev": true
+ "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
},
- "axios": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz",
- "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=",
- "requires": {
- "follow-redirects": "^1.3.0",
- "is-buffer": "^1.1.5"
+ "node_modules/@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
}
},
- "axios-mock-adapter": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/axios-mock-adapter/-/axios-mock-adapter-1.15.0.tgz",
- "integrity": "sha1-+8BoJdgwLJXDM00hAju6mWJV1F0=",
+ "node_modules/@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
"dev": true,
- "requires": {
- "deep-equal": "^1.0.1"
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
}
},
- "babel-code-frame": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
- "requires": {
- "chalk": "^1.1.3",
- "esutils": "^2.0.2",
- "js-tokens": "^3.0.2"
- },
+ "node_modules/@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "dev": true,
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
+ "@babel/helper-plugin-utils": "^7.8.0"
}
},
- "babel-core": {
- "version": "6.26.3",
- "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
- "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
- "requires": {
- "babel-code-frame": "^6.26.0",
- "babel-generator": "^6.26.0",
- "babel-helpers": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-register": "^6.26.0",
- "babel-runtime": "^6.26.0",
- "babel-template": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "convert-source-map": "^1.5.1",
- "debug": "^2.6.9",
- "json5": "^0.5.1",
- "lodash": "^4.17.4",
- "minimatch": "^3.0.4",
- "path-is-absolute": "^1.0.1",
- "private": "^0.1.8",
- "slash": "^1.0.0",
- "source-map": "^0.5.7"
- },
+ "node_modules/@babel/plugin-transform-classes": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz",
+ "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==",
+ "dev": true,
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- }
+ "@babel/helper-annotate-as-pure": "^7.10.4",
+ "@babel/helper-define-map": "^7.10.4",
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-optimise-call-expression": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-replace-supers": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.10.4",
+ "globals": "^11.1.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-classes/node_modules/@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/highlight": "^7.10.4"
}
},
- "babel-generator": {
- "version": "6.26.1",
- "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
- "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
- "requires": {
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "detect-indent": "^4.0.0",
- "jsesc": "^1.3.0",
- "lodash": "^4.17.4",
- "source-map": "^0.5.7",
- "trim-right": "^1.0.1"
- },
+ "node_modules/@babel/plugin-transform-classes/node_modules/@babel/generator": {
+ "version": "7.11.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
+ "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
+ "dev": true,
"dependencies": {
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- }
+ "@babel/types": "^7.11.5",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
}
},
- "babel-helper-builder-binary-assignment-operator-visitor": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
- "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
- "requires": {
- "babel-helper-explode-assignable-expression": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
+ "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-annotate-as-pure": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz",
+ "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.10.4"
}
},
- "babel-helper-call-delegate": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
- "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
- "requires": {
- "babel-helper-hoist-variables": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
+ "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-define-map": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz",
+ "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/types": "^7.10.5",
+ "lodash": "^4.17.19"
}
},
- "babel-helper-define-map": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
- "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
- "requires": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
+ "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-function-name": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
+ "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-get-function-arity": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "babel-helper-explode-assignable-expression": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz",
- "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
+ "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-get-function-arity": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+ "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.10.4"
}
},
- "babel-helper-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
- "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
- "requires": {
- "babel-helper-get-function-arity": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
+ "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-member-expression-to-functions": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz",
+ "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.11.0"
}
},
- "babel-helper-get-function-arity": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
- "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
+ "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-optimise-call-expression": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz",
+ "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.10.4"
}
},
- "babel-helper-hoist-variables": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
- "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
+ "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "dev": true
},
- "babel-helper-optimise-call-expression": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
- "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
+ "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-replace-supers": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
+ "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-member-expression-to-functions": "^7.10.4",
+ "@babel/helper-optimise-call-expression": "^7.10.4",
+ "@babel/traverse": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "babel-helper-regex": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
- "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
- "requires": {
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
+ "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
+ "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.11.0"
}
},
- "babel-helper-remap-async-to-generator": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
- "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
- "requires": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
+ "node_modules/@babel/plugin-transform-classes/node_modules/@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
}
},
- "babel-helper-replace-supers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
- "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
- "requires": {
- "babel-helper-optimise-call-expression": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
+ "node_modules/@babel/plugin-transform-classes/node_modules/@babel/parser": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
+ "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
+ "dev": true,
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
}
},
- "babel-helper-vue-jsx-merge-props": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
- "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg=="
- },
- "babel-helpers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
- "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
+ "node_modules/@babel/plugin-transform-classes/node_modules/@babel/template": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+ "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/parser": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "babel-loader": {
- "version": "7.1.5",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz",
- "integrity": "sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw==",
- "requires": {
- "find-cache-dir": "^1.0.0",
- "loader-utils": "^1.0.2",
- "mkdirp": "^0.5.1"
+ "node_modules/@babel/plugin-transform-classes/node_modules/@babel/traverse": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
+ "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.11.5",
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/parser": "^7.11.5",
+ "@babel/types": "^7.11.5",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.19"
}
},
- "babel-messages": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
- "requires": {
- "babel-runtime": "^6.22.0"
+ "node_modules/@babel/plugin-transform-classes/node_modules/debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.1"
}
},
- "babel-plugin-check-es2015-constants": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
- "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
- "requires": {
- "babel-runtime": "^6.22.0"
+ "node_modules/@babel/plugin-transform-classes/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "node_modules/@babel/plugin-transform-destructuring": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz",
+ "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "babel-plugin-jsx-event-modifiers": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/babel-plugin-jsx-event-modifiers/-/babel-plugin-jsx-event-modifiers-2.0.5.tgz",
- "integrity": "sha512-tWGnCk0whZ+nZcj9tYLw4+y08tPJXqaEjIxRJZS6DkUUae72Kz4BsoGpxt/Kow7mmgQJpvFCw8IPLSNh5rkZCg=="
+ "node_modules/@babel/plugin-transform-destructuring/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "dev": true
},
- "babel-plugin-jsx-v-model": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/babel-plugin-jsx-v-model/-/babel-plugin-jsx-v-model-2.0.3.tgz",
- "integrity": "sha512-SIx3Y3XxwGEz56Q1atwr5GaZsxJ2IRYmn5dl38LFkaTAvjnbNQxsZHO+ylJPsd+Hmv+ixJBYYFEekPBTHwiGfQ==",
- "requires": {
- "babel-plugin-syntax-jsx": "^6.18.0",
- "html-tags": "^2.0.0",
- "svg-tags": "^1.0.0"
+ "node_modules/@babel/plugin-transform-dotall-regex": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz",
+ "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
}
},
- "babel-plugin-syntax-async-functions": {
- "version": "6.13.0",
- "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
- "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU="
+ "node_modules/@babel/plugin-transform-for-of": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz",
+ "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
},
- "babel-plugin-syntax-dynamic-import": {
- "version": "6.18.0",
- "resolved": "http://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
- "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo="
+ "node_modules/@babel/plugin-transform-for-of/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "dev": true
},
- "babel-plugin-syntax-exponentiation-operator": {
- "version": "6.13.0",
- "resolved": "http://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
- "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4="
+ "node_modules/@babel/plugin-transform-modules-amd": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz",
+ "integrity": "sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.10.5",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ }
},
- "babel-plugin-syntax-jsx": {
- "version": "6.18.0",
- "resolved": "http://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
- "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY="
+ "node_modules/@babel/plugin-transform-modules-amd/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "dev": true
},
- "babel-plugin-syntax-object-rest-spread": {
- "version": "6.13.0",
- "resolved": "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
- "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U="
+ "node_modules/@babel/plugin-transform-modules-amd/node_modules/babel-plugin-dynamic-import-node": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
+ "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
+ "dev": true,
+ "dependencies": {
+ "object.assign": "^4.1.0"
+ }
},
- "babel-plugin-syntax-trailing-function-commas": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
- "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM="
+ "node_modules/@babel/plugin-transform-modules-commonjs": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz",
+ "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-simple-access": "^7.10.4",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ }
},
- "babel-plugin-transform-async-to-generator": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
- "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
- "requires": {
- "babel-helper-remap-async-to-generator": "^6.24.1",
- "babel-plugin-syntax-async-functions": "^6.8.0",
- "babel-runtime": "^6.22.0"
+ "node_modules/@babel/plugin-transform-modules-commonjs/node_modules/@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/highlight": "^7.10.4"
}
},
- "babel-plugin-transform-es2015-arrow-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
- "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
- "requires": {
- "babel-runtime": "^6.22.0"
+ "node_modules/@babel/plugin-transform-modules-commonjs/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "dev": true
+ },
+ "node_modules/@babel/plugin-transform-modules-commonjs/node_modules/@babel/helper-simple-access": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz",
+ "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "babel-plugin-transform-es2015-block-scoped-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
- "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
- "requires": {
- "babel-runtime": "^6.22.0"
+ "node_modules/@babel/plugin-transform-modules-commonjs/node_modules/@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
}
},
- "babel-plugin-transform-es2015-block-scoping": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
- "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
- "requires": {
- "babel-runtime": "^6.26.0",
- "babel-template": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
+ "node_modules/@babel/plugin-transform-modules-commonjs/node_modules/@babel/parser": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
+ "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
+ "dev": true,
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
}
},
- "babel-plugin-transform-es2015-classes": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
- "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
- "requires": {
- "babel-helper-define-map": "^6.24.1",
- "babel-helper-function-name": "^6.24.1",
- "babel-helper-optimise-call-expression": "^6.24.1",
- "babel-helper-replace-supers": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
+ "node_modules/@babel/plugin-transform-modules-commonjs/node_modules/@babel/template": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+ "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/parser": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "babel-plugin-transform-es2015-computed-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
- "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
+ "node_modules/@babel/plugin-transform-modules-commonjs/node_modules/babel-plugin-dynamic-import-node": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
+ "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
+ "dev": true,
+ "dependencies": {
+ "object.assign": "^4.1.0"
}
},
- "babel-plugin-transform-es2015-destructuring": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
- "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
- "requires": {
- "babel-runtime": "^6.22.0"
+ "node_modules/@babel/plugin-transform-modules-systemjs": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz",
+ "integrity": "sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-hoist-variables": "^7.10.4",
+ "@babel/helper-module-transforms": "^7.10.5",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
}
},
- "babel-plugin-transform-es2015-duplicate-keys": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
- "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
+ "node_modules/@babel/plugin-transform-modules-systemjs/node_modules/@babel/helper-hoist-variables": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz",
+ "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.10.4"
}
},
- "babel-plugin-transform-es2015-for-of": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
- "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
- "requires": {
- "babel-runtime": "^6.22.0"
+ "node_modules/@babel/plugin-transform-modules-systemjs/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "dev": true
+ },
+ "node_modules/@babel/plugin-transform-modules-systemjs/node_modules/babel-plugin-dynamic-import-node": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
+ "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
+ "dev": true,
+ "dependencies": {
+ "object.assign": "^4.1.0"
}
},
- "babel-plugin-transform-es2015-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
- "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
- "requires": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
+ "node_modules/@babel/plugin-transform-modules-umd": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz",
+ "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "babel-plugin-transform-es2015-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
- "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
- "requires": {
- "babel-runtime": "^6.22.0"
+ "node_modules/@babel/plugin-transform-modules-umd/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "dev": true
+ },
+ "node_modules/@babel/plugin-transform-parameters": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz",
+ "integrity": "sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-get-function-arity": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "babel-plugin-transform-es2015-modules-amd": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
- "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
- "requires": {
- "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
+ "node_modules/@babel/plugin-transform-parameters/node_modules/@babel/helper-get-function-arity": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+ "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.10.4"
}
},
- "babel-plugin-transform-es2015-modules-commonjs": {
- "version": "6.26.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz",
- "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==",
- "requires": {
- "babel-plugin-transform-strict-mode": "^6.24.1",
- "babel-runtime": "^6.26.0",
- "babel-template": "^6.26.0",
- "babel-types": "^6.26.0"
+ "node_modules/@babel/plugin-transform-parameters/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "dev": true
+ },
+ "node_modules/@babel/plugin-transform-unicode-escapes": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz",
+ "integrity": "sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "babel-plugin-transform-es2015-modules-systemjs": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
- "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
- "requires": {
- "babel-helper-hoist-variables": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
+ "node_modules/@babel/plugin-transform-unicode-escapes/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "dev": true
+ },
+ "node_modules/@babel/polyfill": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz",
+ "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==",
+ "dev": true,
+ "dependencies": {
+ "core-js": "^2.6.5",
+ "regenerator-runtime": "^0.13.4"
}
},
- "babel-plugin-transform-es2015-modules-umd": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
- "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
- "requires": {
- "babel-plugin-transform-es2015-modules-amd": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
+ "node_modules/@babel/preset-env": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.11.5.tgz",
+ "integrity": "sha512-kXqmW1jVcnB2cdueV+fyBM8estd5mlNfaQi6lwLgRwCby4edpavgbFhiBNjmWA3JpB/yZGSISa7Srf+TwxDQoA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/compat-data": "^7.11.0",
+ "@babel/helper-compilation-targets": "^7.10.4",
+ "@babel/helper-module-imports": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-proposal-async-generator-functions": "^7.10.4",
+ "@babel/plugin-proposal-class-properties": "^7.10.4",
+ "@babel/plugin-proposal-dynamic-import": "^7.10.4",
+ "@babel/plugin-proposal-export-namespace-from": "^7.10.4",
+ "@babel/plugin-proposal-json-strings": "^7.10.4",
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.11.0",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4",
+ "@babel/plugin-proposal-numeric-separator": "^7.10.4",
+ "@babel/plugin-proposal-object-rest-spread": "^7.11.0",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.10.4",
+ "@babel/plugin-proposal-optional-chaining": "^7.11.0",
+ "@babel/plugin-proposal-private-methods": "^7.10.4",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.10.4",
+ "@babel/plugin-syntax-async-generators": "^7.8.0",
+ "@babel/plugin-syntax-class-properties": "^7.10.4",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.0",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0",
+ "@babel/plugin-syntax-top-level-await": "^7.10.4",
+ "@babel/plugin-transform-arrow-functions": "^7.10.4",
+ "@babel/plugin-transform-async-to-generator": "^7.10.4",
+ "@babel/plugin-transform-block-scoped-functions": "^7.10.4",
+ "@babel/plugin-transform-block-scoping": "^7.10.4",
+ "@babel/plugin-transform-classes": "^7.10.4",
+ "@babel/plugin-transform-computed-properties": "^7.10.4",
+ "@babel/plugin-transform-destructuring": "^7.10.4",
+ "@babel/plugin-transform-dotall-regex": "^7.10.4",
+ "@babel/plugin-transform-duplicate-keys": "^7.10.4",
+ "@babel/plugin-transform-exponentiation-operator": "^7.10.4",
+ "@babel/plugin-transform-for-of": "^7.10.4",
+ "@babel/plugin-transform-function-name": "^7.10.4",
+ "@babel/plugin-transform-literals": "^7.10.4",
+ "@babel/plugin-transform-member-expression-literals": "^7.10.4",
+ "@babel/plugin-transform-modules-amd": "^7.10.4",
+ "@babel/plugin-transform-modules-commonjs": "^7.10.4",
+ "@babel/plugin-transform-modules-systemjs": "^7.10.4",
+ "@babel/plugin-transform-modules-umd": "^7.10.4",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.10.4",
+ "@babel/plugin-transform-new-target": "^7.10.4",
+ "@babel/plugin-transform-object-super": "^7.10.4",
+ "@babel/plugin-transform-parameters": "^7.10.4",
+ "@babel/plugin-transform-property-literals": "^7.10.4",
+ "@babel/plugin-transform-regenerator": "^7.10.4",
+ "@babel/plugin-transform-reserved-words": "^7.10.4",
+ "@babel/plugin-transform-shorthand-properties": "^7.10.4",
+ "@babel/plugin-transform-spread": "^7.11.0",
+ "@babel/plugin-transform-sticky-regex": "^7.10.4",
+ "@babel/plugin-transform-template-literals": "^7.10.4",
+ "@babel/plugin-transform-typeof-symbol": "^7.10.4",
+ "@babel/plugin-transform-unicode-escapes": "^7.10.4",
+ "@babel/plugin-transform-unicode-regex": "^7.10.4",
+ "@babel/preset-modules": "^0.1.3",
+ "@babel/types": "^7.11.5",
+ "browserslist": "^4.12.0",
+ "core-js-compat": "^3.6.2",
+ "invariant": "^2.2.2",
+ "levenary": "^1.1.1",
+ "semver": "^5.5.0"
}
},
- "babel-plugin-transform-es2015-object-super": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
- "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
- "requires": {
- "babel-helper-replace-supers": "^6.24.1",
- "babel-runtime": "^6.22.0"
+ "node_modules/@babel/preset-env/node_modules/@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/highlight": "^7.10.4"
}
},
- "babel-plugin-transform-es2015-parameters": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
- "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
- "requires": {
- "babel-helper-call-delegate": "^6.24.1",
- "babel-helper-get-function-arity": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
+ "node_modules/@babel/preset-env/node_modules/@babel/compat-data": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.11.0.tgz",
+ "integrity": "sha512-TPSvJfv73ng0pfnEOh17bYMPQbI95+nGWc71Ss4vZdRBHTDqmM9Z8ZV4rYz8Ks7sfzc95n30k6ODIq5UGnXcYQ==",
+ "dev": true,
+ "dependencies": {
+ "browserslist": "^4.12.0",
+ "invariant": "^2.2.4",
+ "semver": "^5.5.0"
}
},
- "babel-plugin-transform-es2015-shorthand-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
- "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
+ "node_modules/@babel/preset-env/node_modules/@babel/generator": {
+ "version": "7.11.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
+ "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.11.5",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
}
},
- "babel-plugin-transform-es2015-spread": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
- "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
- "requires": {
- "babel-runtime": "^6.22.0"
+ "node_modules/@babel/preset-env/node_modules/@babel/helper-annotate-as-pure": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz",
+ "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.10.4"
}
},
- "babel-plugin-transform-es2015-sticky-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
- "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
- "requires": {
- "babel-helper-regex": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
+ "node_modules/@babel/preset-env/node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz",
+ "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-explode-assignable-expression": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "babel-plugin-transform-es2015-template-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
- "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
- "requires": {
- "babel-runtime": "^6.22.0"
+ "node_modules/@babel/preset-env/node_modules/@babel/helper-compilation-targets": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz",
+ "integrity": "sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/compat-data": "^7.10.4",
+ "browserslist": "^4.12.0",
+ "invariant": "^2.2.4",
+ "levenary": "^1.1.1",
+ "semver": "^5.5.0"
}
},
- "babel-plugin-transform-es2015-typeof-symbol": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
- "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
- "requires": {
- "babel-runtime": "^6.22.0"
+ "node_modules/@babel/preset-env/node_modules/@babel/helper-create-regexp-features-plugin": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz",
+ "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.10.4",
+ "@babel/helper-regex": "^7.10.4",
+ "regexpu-core": "^4.7.0"
}
},
- "babel-plugin-transform-es2015-unicode-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
- "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
- "requires": {
- "babel-helper-regex": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "regexpu-core": "^2.0.0"
+ "node_modules/@babel/preset-env/node_modules/@babel/helper-explode-assignable-expression": {
+ "version": "7.11.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz",
+ "integrity": "sha512-ux9hm3zR4WV1Y3xXxXkdG/0gxF9nvI0YVmKVhvK9AfMoaQkemL3sJpXw+Xbz65azo8qJiEz2XVDUpK3KYhH3ZQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.10.4"
}
},
- "babel-plugin-transform-exponentiation-operator": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
- "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
- "requires": {
- "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1",
- "babel-plugin-syntax-exponentiation-operator": "^6.8.0",
- "babel-runtime": "^6.22.0"
+ "node_modules/@babel/preset-env/node_modules/@babel/helper-function-name": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
+ "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-get-function-arity": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "babel-plugin-transform-object-rest-spread": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
- "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
- "requires": {
- "babel-plugin-syntax-object-rest-spread": "^6.8.0",
- "babel-runtime": "^6.26.0"
+ "node_modules/@babel/preset-env/node_modules/@babel/helper-get-function-arity": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+ "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.10.4"
}
},
- "babel-plugin-transform-regenerator": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
- "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
- "requires": {
- "regenerator-transform": "^0.10.0"
+ "node_modules/@babel/preset-env/node_modules/@babel/helper-member-expression-to-functions": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz",
+ "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.11.0"
}
},
- "babel-plugin-transform-runtime": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz",
- "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=",
- "requires": {
- "babel-runtime": "^6.22.0"
+ "node_modules/@babel/preset-env/node_modules/@babel/helper-optimise-call-expression": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz",
+ "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.10.4"
}
},
- "babel-plugin-transform-strict-mode": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
- "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
+ "node_modules/@babel/preset-env/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "dev": true
+ },
+ "node_modules/@babel/preset-env/node_modules/@babel/helper-regex": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz",
+ "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==",
+ "dev": true,
+ "dependencies": {
+ "lodash": "^4.17.19"
}
},
- "babel-plugin-transform-vue-jsx": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-3.7.0.tgz",
- "integrity": "sha512-W39X07/n3oJMQd8tALBO+440NraGSF//Lo1ydd/9Nme3+QiRGFBb1Q39T9iixh0jZPPbfv3so18tNoIgLatymw==",
- "requires": {
- "esutils": "^2.0.2"
+ "node_modules/@babel/preset-env/node_modules/@babel/helper-remap-async-to-generator": {
+ "version": "7.11.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.11.4.tgz",
+ "integrity": "sha512-tR5vJ/vBa9wFy3m5LLv2faapJLnDFxNWff2SAYkSE4rLUdbp7CdObYFgI7wK4T/Mj4UzpjPwzR8Pzmr5m7MHGA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.10.4",
+ "@babel/helper-wrap-function": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "babel-polyfill": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz",
- "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=",
- "requires": {
- "babel-runtime": "^6.26.0",
- "core-js": "^2.5.0",
- "regenerator-runtime": "^0.10.5"
+ "node_modules/@babel/preset-env/node_modules/@babel/helper-replace-supers": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
+ "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-member-expression-to-functions": "^7.10.4",
+ "@babel/helper-optimise-call-expression": "^7.10.4",
+ "@babel/traverse": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "babel-preset-env": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz",
- "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==",
- "requires": {
- "babel-plugin-check-es2015-constants": "^6.22.0",
- "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
- "babel-plugin-transform-async-to-generator": "^6.22.0",
- "babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
- "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0",
- "babel-plugin-transform-es2015-block-scoping": "^6.23.0",
- "babel-plugin-transform-es2015-classes": "^6.23.0",
- "babel-plugin-transform-es2015-computed-properties": "^6.22.0",
- "babel-plugin-transform-es2015-destructuring": "^6.23.0",
- "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0",
- "babel-plugin-transform-es2015-for-of": "^6.23.0",
- "babel-plugin-transform-es2015-function-name": "^6.22.0",
- "babel-plugin-transform-es2015-literals": "^6.22.0",
- "babel-plugin-transform-es2015-modules-amd": "^6.22.0",
- "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0",
- "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0",
- "babel-plugin-transform-es2015-modules-umd": "^6.23.0",
- "babel-plugin-transform-es2015-object-super": "^6.22.0",
- "babel-plugin-transform-es2015-parameters": "^6.23.0",
- "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0",
- "babel-plugin-transform-es2015-spread": "^6.22.0",
- "babel-plugin-transform-es2015-sticky-regex": "^6.22.0",
- "babel-plugin-transform-es2015-template-literals": "^6.22.0",
- "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0",
- "babel-plugin-transform-es2015-unicode-regex": "^6.22.0",
- "babel-plugin-transform-exponentiation-operator": "^6.22.0",
- "babel-plugin-transform-regenerator": "^6.22.0",
- "browserslist": "^3.2.6",
- "invariant": "^2.2.2",
- "semver": "^5.3.0"
- },
+ "node_modules/@babel/preset-env/node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
+ "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
+ "dev": true,
"dependencies": {
- "browserslist": {
- "version": "3.2.8",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz",
- "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==",
- "requires": {
- "caniuse-lite": "^1.0.30000844",
- "electron-to-chromium": "^1.3.47"
- }
- }
+ "@babel/types": "^7.11.0"
}
},
- "babel-preset-vue": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/babel-preset-vue/-/babel-preset-vue-2.0.2.tgz",
- "integrity": "sha1-z63xvXNhJTl0gbX4UlztAEmgxx8=",
- "requires": {
- "babel-helper-vue-jsx-merge-props": "^2.0.2",
- "babel-plugin-jsx-event-modifiers": "^2.0.2",
- "babel-plugin-jsx-v-model": "^2.0.1",
- "babel-plugin-syntax-jsx": "^6.18.0",
- "babel-plugin-transform-vue-jsx": "^3.5.0"
+ "node_modules/@babel/preset-env/node_modules/@babel/helper-wrap-function": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz",
+ "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/traverse": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "babel-preset-vue-app": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/babel-preset-vue-app/-/babel-preset-vue-app-2.0.0.tgz",
- "integrity": "sha512-w81q5FMPvD+VNC1Sc1vXeSkNb8hVehQzhoUrESt4edzghuBgb3twLWkknbNxh5W4SN5Cz75b/rUPOvxDuh2low==",
- "requires": {
- "babel-plugin-syntax-dynamic-import": "^6.18.0",
- "babel-plugin-transform-object-rest-spread": "^6.26.0",
- "babel-plugin-transform-runtime": "^6.15.0",
- "babel-preset-env": "^1.6.0",
- "babel-preset-vue": "^2.0.0",
- "babel-runtime": "^6.20.0"
+ "node_modules/@babel/preset-env/node_modules/@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
}
},
- "babel-register": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
- "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
- "requires": {
- "babel-core": "^6.26.0",
- "babel-runtime": "^6.26.0",
- "core-js": "^2.5.0",
- "home-or-tmp": "^2.0.0",
- "lodash": "^4.17.4",
- "mkdirp": "^0.5.1",
- "source-map-support": "^0.4.15"
+ "node_modules/@babel/preset-env/node_modules/@babel/parser": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
+ "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
+ "dev": true,
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
}
},
- "babel-runtime": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
- "requires": {
- "core-js": "^2.4.0",
- "regenerator-runtime": "^0.11.0"
- },
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-async-generator-functions": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz",
+ "integrity": "sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg==",
+ "dev": true,
"dependencies": {
- "regenerator-runtime": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
- }
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-remap-async-to-generator": "^7.10.4",
+ "@babel/plugin-syntax-async-generators": "^7.8.0"
}
},
- "babel-template": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
- "requires": {
- "babel-runtime": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "lodash": "^4.17.4"
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-dynamic-import": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz",
+ "integrity": "sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0"
}
},
- "babel-traverse": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
- "requires": {
- "babel-code-frame": "^6.26.0",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "debug": "^2.6.8",
- "globals": "^9.18.0",
- "invariant": "^2.2.2",
- "lodash": "^4.17.4"
- },
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-json-strings": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz",
+ "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==",
+ "dev": true,
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- }
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-json-strings": "^7.8.0"
}
},
- "babel-types": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
- "requires": {
- "babel-runtime": "^6.26.0",
- "esutils": "^2.0.2",
- "lodash": "^4.17.4",
- "to-fast-properties": "^1.0.3"
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz",
+ "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
}
},
- "babylon": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
- },
- "bail": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.3.tgz",
- "integrity": "sha512-1X8CnjFVQ+a+KW36uBNMTU5s8+v5FzeqrP7hTG5aTb4aPreSbZJlhwPon9VKMuEVgV++JM+SQrALY3kr7eswdg==",
- "dev": true
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-numeric-separator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz",
+ "integrity": "sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ }
},
- "balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-optional-catch-binding": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz",
+ "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
+ }
},
- "base": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
- "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
- "requires": {
- "cache-base": "^1.0.1",
- "class-utils": "^0.3.5",
- "component-emitter": "^1.2.1",
- "define-property": "^1.0.0",
- "isobject": "^3.0.1",
- "mixin-deep": "^1.2.0",
- "pascalcase": "^0.1.1"
- },
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-unicode-property-regex": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz",
+ "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==",
+ "dev": true,
"dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
+ "@babel/helper-create-regexp-features-plugin": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "base64-js": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz",
- "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw=="
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-syntax-class-properties": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz",
+ "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
},
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
- "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-syntax-numeric-separator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+ "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
"dev": true,
- "requires": {
- "tweetnacl": "^0.14.3"
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "bfj-node4": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/bfj-node4/-/bfj-node4-5.3.1.tgz",
- "integrity": "sha512-SOmOsowQWfXc7ybFARsK3C4MCOWzERaOMV/Fl3Tgjs+5dJWyzo3oa127jL44eMbQiAN17J7SvAs2TRxEScTUmg==",
- "requires": {
- "bluebird": "^3.5.1",
- "check-types": "^7.3.0",
- "tryer": "^1.0.0"
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-syntax-top-level-await": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz",
+ "integrity": "sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "big.js": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
- "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q=="
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-arrow-functions": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz",
+ "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
},
- "binary-extensions": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz",
- "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg=="
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-async-to-generator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz",
+ "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-remap-async-to-generator": "^7.10.4"
+ }
},
- "bl": {
- "version": "1.2.2",
- "resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
- "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-block-scoped-functions": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz",
+ "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==",
"dev": true,
- "requires": {
- "readable-stream": "^2.3.5",
- "safe-buffer": "^5.1.1"
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "block-stream": {
- "version": "0.0.9",
- "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
- "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-block-scoping": {
+ "version": "7.11.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz",
+ "integrity": "sha512-00dYeDE0EVEHuuM+26+0w/SCL0BH2Qy7LwHuI4Hi4MH5gkC8/AqMN5uWFJIsoXZrAphiMm1iXzBw6L2T+eA0ew==",
"dev": true,
- "requires": {
- "inherits": "~2.0.0"
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "bluebird": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz",
- "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw=="
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-computed-properties": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz",
+ "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
},
- "bn.js": {
- "version": "4.11.8",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA=="
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-dotall-regex": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz",
+ "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
},
- "body-parser": {
- "version": "1.18.3",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz",
- "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=",
- "requires": {
- "bytes": "3.0.0",
- "content-type": "~1.0.4",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "http-errors": "~1.6.3",
- "iconv-lite": "0.4.23",
- "on-finished": "~2.3.0",
- "qs": "6.5.2",
- "raw-body": "2.3.3",
- "type-is": "~1.6.16"
- },
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-duplicate-keys": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz",
+ "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==",
+ "dev": true,
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "iconv-lite": {
- "version": "0.4.23",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
- "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- }
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "boolbase": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-exponentiation-operator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz",
+ "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
},
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-function-name": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz",
+ "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "requires": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
- },
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-literals": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz",
+ "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==",
+ "dev": true,
"dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "brorand": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
- "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-member-expression-literals": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz",
+ "integrity": "sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
},
- "browser-stdout": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz",
- "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=",
- "dev": true
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz",
+ "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.10.4"
+ }
},
- "browserify-aes": {
- "version": "1.2.0",
- "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
- "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
- "requires": {
- "buffer-xor": "^1.0.3",
- "cipher-base": "^1.0.0",
- "create-hash": "^1.1.0",
- "evp_bytestokey": "^1.0.3",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-new-target": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz",
+ "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "browserify-cipher": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
- "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
- "requires": {
- "browserify-aes": "^1.0.4",
- "browserify-des": "^1.0.0",
- "evp_bytestokey": "^1.0.0"
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-object-super": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz",
+ "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-replace-supers": "^7.10.4"
}
},
- "browserify-des": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
- "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
- "requires": {
- "cipher-base": "^1.0.1",
- "des.js": "^1.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-property-literals": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz",
+ "integrity": "sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "browserify-rsa": {
- "version": "4.0.1",
- "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
- "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
- "requires": {
- "bn.js": "^4.1.0",
- "randombytes": "^2.0.1"
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-regenerator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz",
+ "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==",
+ "dev": true,
+ "dependencies": {
+ "regenerator-transform": "^0.14.2"
}
},
- "browserify-sign": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
- "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
- "requires": {
- "bn.js": "^4.1.1",
- "browserify-rsa": "^4.0.0",
- "create-hash": "^1.1.0",
- "create-hmac": "^1.1.2",
- "elliptic": "^6.0.0",
- "inherits": "^2.0.1",
- "parse-asn1": "^5.0.0"
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-reserved-words": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz",
+ "integrity": "sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "browserify-zlib": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
- "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
- "requires": {
- "pako": "~1.0.5"
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-shorthand-properties": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz",
+ "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "browserslist": {
- "version": "2.11.3",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz",
- "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==",
- "requires": {
- "caniuse-lite": "^1.0.30000792",
- "electron-to-chromium": "^1.3.30"
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-spread": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz",
+ "integrity": "sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0"
}
},
- "buffer": {
- "version": "4.9.1",
- "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
- "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
- "requires": {
- "base64-js": "^1.0.2",
- "ieee754": "^1.1.4",
- "isarray": "^1.0.0"
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-sticky-regex": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz",
+ "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-regex": "^7.10.4"
}
},
- "buffer-alloc": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
- "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-template-literals": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz",
+ "integrity": "sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw==",
"dev": true,
- "requires": {
- "buffer-alloc-unsafe": "^1.1.0",
- "buffer-fill": "^1.0.0"
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "buffer-alloc-unsafe": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
- "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
- "dev": true
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-typeof-symbol": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz",
+ "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
},
- "buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
- "dev": true
+ "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-unicode-regex": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz",
+ "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
},
- "buffer-fill": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
- "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
- "dev": true
+ "node_modules/@babel/preset-env/node_modules/@babel/template": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+ "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/parser": "^7.10.4",
+ "@babel/types": "^7.10.4"
+ }
},
- "buffer-from": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
+ "node_modules/@babel/preset-env/node_modules/@babel/traverse": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
+ "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.11.5",
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/parser": "^7.11.5",
+ "@babel/types": "^7.11.5",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.19"
+ }
},
- "buffer-xor": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
- "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk="
+ "node_modules/@babel/preset-env/node_modules/debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
},
- "builtin-modules": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8="
+ "node_modules/@babel/preset-env/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
},
- "builtin-status-codes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
- "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
+ "node_modules/@babel/preset-modules": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz",
+ "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
+ "@babel/plugin-transform-dotall-regex": "^7.4.4",
+ "@babel/types": "^7.4.4",
+ "esutils": "^2.0.2"
+ }
},
- "bytes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
- },
- "cacache": {
- "version": "10.0.4",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz",
- "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==",
- "requires": {
- "bluebird": "^3.5.1",
- "chownr": "^1.0.1",
- "glob": "^7.1.2",
- "graceful-fs": "^4.1.11",
- "lru-cache": "^4.1.1",
- "mississippi": "^2.0.0",
- "mkdirp": "^0.5.1",
- "move-concurrently": "^1.0.1",
- "promise-inflight": "^1.0.1",
- "rimraf": "^2.6.2",
- "ssri": "^5.2.4",
- "unique-filename": "^1.1.0",
- "y18n": "^4.0.0"
+ "node_modules/@babel/runtime": {
+ "version": "7.13.10",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz",
+ "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==",
+ "dev": true,
+ "dependencies": {
+ "regenerator-runtime": "^0.13.4"
}
},
- "cache-base": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
- "requires": {
- "collection-visit": "^1.0.0",
- "component-emitter": "^1.2.1",
- "get-value": "^2.0.6",
- "has-value": "^1.0.0",
- "isobject": "^3.0.1",
- "set-value": "^2.0.0",
- "to-object-path": "^0.3.0",
- "union-value": "^1.0.0",
- "unset-value": "^1.0.0"
+ "node_modules/@babel/types": {
+ "version": "7.13.14",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.14.tgz",
+ "integrity": "sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.12.11",
+ "lodash": "^4.17.19",
+ "to-fast-properties": "^2.0.0"
}
},
- "call-me-maybe": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
- "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
- "dev": true
+ "node_modules/@codemirror/autocomplete": {
+ "version": "0.18.5",
+ "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-0.18.5.tgz",
+ "integrity": "sha512-Zp/HMTwvaP4B01HQx+5Ga0xBBLAwNaAlbALip355NPRBkYX9PZheX5b/F5IUAdI6kIrF2eYz1xAOChXgYg9maw==",
+ "dependencies": {
+ "@codemirror/language": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/text": "^0.18.0",
+ "@codemirror/tooltip": "^0.18.4",
+ "@codemirror/view": "^0.18.0",
+ "lezer-tree": "^0.13.0"
+ }
},
- "caller-callsite": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
- "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
- "dev": true,
- "requires": {
- "callsites": "^2.0.0"
+ "node_modules/@codemirror/basic-setup": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/basic-setup/-/basic-setup-0.18.0.tgz",
+ "integrity": "sha512-3IU6gBIkVVCF+ZtKqzCmYU1GLfbA12OsPYPWWq9rSzEb5G/FrWCA51ERYJpS3CzOI7TfBFjZZYc5j0OiNIF2VQ==",
+ "dependencies": {
+ "@codemirror/autocomplete": "^0.18.0",
+ "@codemirror/closebrackets": "^0.18.0",
+ "@codemirror/commands": "^0.18.0",
+ "@codemirror/comment": "^0.18.0",
+ "@codemirror/fold": "^0.18.0",
+ "@codemirror/gutter": "^0.18.0",
+ "@codemirror/highlight": "^0.18.0",
+ "@codemirror/history": "^0.18.0",
+ "@codemirror/language": "^0.18.0",
+ "@codemirror/lint": "^0.18.0",
+ "@codemirror/matchbrackets": "^0.18.0",
+ "@codemirror/rectangular-selection": "^0.18.0",
+ "@codemirror/search": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/view": "^0.18.0"
+ }
+ },
+ "node_modules/@codemirror/closebrackets": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/closebrackets/-/closebrackets-0.18.0.tgz",
+ "integrity": "sha512-O1RAgUkzF4nq/B8IyXenZKZ1rJi2Mc7I6y4IhWhELiTnjyQy7YdAthTsJ40mNr8kZ6gRbasYe3K7TraITElZJA==",
+ "dependencies": {
+ "@codemirror/language": "^0.18.0",
+ "@codemirror/rangeset": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/text": "^0.18.0",
+ "@codemirror/view": "^0.18.0"
}
},
- "caller-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
- "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
- "dev": true,
- "requires": {
- "caller-callsite": "^2.0.0"
+ "node_modules/@codemirror/commands": {
+ "version": "0.18.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-0.18.1.tgz",
+ "integrity": "sha512-JBdGjRTCHi/eVsj5oL1S4kzhepyUVW0EnmOvwh1IYH9iN6FnRkEgaxJBryRgbos7Or8RomOKK01pprGjfqN6oA==",
+ "dependencies": {
+ "@codemirror/language": "^0.18.0",
+ "@codemirror/matchbrackets": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/text": "^0.18.0",
+ "@codemirror/view": "^0.18.0",
+ "lezer-tree": "^0.13.0"
}
},
- "callsites": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
- "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
- "dev": true
+ "node_modules/@codemirror/comment": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/comment/-/comment-0.18.0.tgz",
+ "integrity": "sha512-yb/8dz/zIzXIa00L0Ed7/R8m2FupPZux/EMquwzbAOnTNcXeeaPVcp9kEMPf85b9D82csunXXdiOSalBVGjKWQ==",
+ "dependencies": {
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/text": "^0.18.0",
+ "@codemirror/view": "^0.18.0"
+ }
},
- "camel-case": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
- "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
- "requires": {
- "no-case": "^2.2.0",
- "upper-case": "^1.1.1"
+ "node_modules/@codemirror/fold": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/fold/-/fold-0.18.0.tgz",
+ "integrity": "sha512-qZsl85rp1Wm2ifaw1E25paDRVGr0m2vKRIoUG5mv+G2NxJx6lsuMLgU7MKIJQ+3iDHUR2is2yU8d6lOwwp5IEg==",
+ "dependencies": {
+ "@codemirror/gutter": "^0.18.0",
+ "@codemirror/language": "^0.18.0",
+ "@codemirror/rangeset": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/view": "^0.18.0"
}
},
- "camelcase": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk="
+ "node_modules/@codemirror/gutter": {
+ "version": "0.18.2",
+ "resolved": "https://registry.npmjs.org/@codemirror/gutter/-/gutter-0.18.2.tgz",
+ "integrity": "sha512-mrmzt6TG9sXSKOjL5LRLv/yPbVdQqVDNSUrisq9OpIHXwZgb2pg9jYhlhw8zdgB952BmENIMr2624I13uy568Q==",
+ "dependencies": {
+ "@codemirror/rangeset": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/view": "^0.18.0"
+ }
},
- "camelcase-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
- "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
- "dev": true,
- "requires": {
- "camelcase": "^2.0.0",
- "map-obj": "^1.0.0"
- },
+ "node_modules/@codemirror/highlight": {
+ "version": "0.18.3",
+ "resolved": "https://registry.npmjs.org/@codemirror/highlight/-/highlight-0.18.3.tgz",
+ "integrity": "sha512-NmRmkmWl8ht6Y6Y39ghov84AMPCqhUPIH9fmILs2NaWxZFZf4jGCTzrULnmREGsTie+26+LbKUncIU+PBu1Qng==",
"dependencies": {
- "camelcase": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
- "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
- "dev": true
- }
+ "@codemirror/language": "^0.18.0",
+ "@codemirror/rangeset": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/view": "^0.18.0",
+ "lezer-tree": "^0.13.0",
+ "style-mod": "^4.0.0"
+ }
+ },
+ "node_modules/@codemirror/history": {
+ "version": "0.18.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/history/-/history-0.18.1.tgz",
+ "integrity": "sha512-Aad3p4zs6UYKCUMXYjh7cvPK0ajuL+rMib9yBZ61w81LLl6OkM31Xrn9J6CLJmPxCwP3OJFiqBmNSBQ05oIsTw==",
+ "dependencies": {
+ "@codemirror/state": "^0.18.3",
+ "@codemirror/view": "^0.18.0"
}
},
- "caniuse-api": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz",
- "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=",
- "requires": {
- "browserslist": "^1.3.6",
- "caniuse-db": "^1.0.30000529",
- "lodash.memoize": "^4.1.2",
- "lodash.uniq": "^4.5.0"
- },
+ "node_modules/@codemirror/lang-json": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/lang-json/-/lang-json-0.18.0.tgz",
+ "integrity": "sha512-1xquwhwrocZEcURmccMYk1C3g2oj6mu0np1LT1dDGmvd/VVXC0Z9j6NV78zCSyJCIdL2y+RRBh4LVWW6J6NU6Q==",
"dependencies": {
- "browserslist": {
- "version": "1.7.7",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
- "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
- "requires": {
- "caniuse-db": "^1.0.30000639",
- "electron-to-chromium": "^1.2.7"
- }
- }
+ "@codemirror/highlight": "^0.18.0",
+ "@codemirror/language": "^0.18.0",
+ "lezer-json": "^0.13.0"
}
},
- "caniuse-db": {
- "version": "1.0.30000953",
- "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000953.tgz",
- "integrity": "sha512-MP00apZPeFphU+Ecm/9eBIvg38oyNsmoSl8Nzws3e4BpGT0EZi2q9MZhu+PZzSoPQ06JsJyTnjJfM9QeMpC4Xg=="
+ "node_modules/@codemirror/language": {
+ "version": "0.18.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-0.18.1.tgz",
+ "integrity": "sha512-j/TWV8sNmzU79kk/hPLb9NqSPoH59850kQSpgY11LxOEBlKVRKgaWabgNtUCSeVCAnfisGekupk3aq2ftILqug==",
+ "dependencies": {
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/text": "^0.18.0",
+ "@codemirror/view": "^0.18.0",
+ "lezer": "^0.13.4",
+ "lezer-tree": "^0.13.0"
+ }
},
- "caniuse-lite": {
- "version": "1.0.30000953",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000953.tgz",
- "integrity": "sha512-2stdF/q5MZTDhQ6uC65HWbSgI9UMKbc7+HKvlwH5JBIslKoD/J9dvabP4J4Uiifu3NljbHj3iMpfYflLSNt09A=="
+ "node_modules/@codemirror/lint": {
+ "version": "0.18.2",
+ "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-0.18.2.tgz",
+ "integrity": "sha512-WUZdlWNqwF6OIJFD/n3Pfsi1R3eIYrAmnnFhfEBUI/ftBh8RqjqOoPJvctHm++re85cwWzXSSZgSWxzse11PSA==",
+ "dependencies": {
+ "@codemirror/panel": "^0.18.1",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/tooltip": "^0.18.4",
+ "@codemirror/view": "^0.18.0",
+ "crelt": "^1.0.5"
+ }
},
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true
+ "node_modules/@codemirror/matchbrackets": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/matchbrackets/-/matchbrackets-0.18.0.tgz",
+ "integrity": "sha512-dPDopnZVkD54sSYdmQbyQbPdiuIA83p7XxX6Hp1ScEkOjukwCiFXiA/84x10FUTsQpUYp8bDzm7gwII119bGIw==",
+ "dependencies": {
+ "@codemirror/language": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/view": "^0.18.0",
+ "lezer-tree": "^0.13.0"
+ }
},
- "ccount": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.3.tgz",
- "integrity": "sha512-Jt9tIBkRc9POUof7QA/VwWd+58fKkEEfI+/t1/eOlxKM7ZhrczNzMFefge7Ai+39y1pR/pP6cI19guHy3FSLmw==",
- "dev": true
+ "node_modules/@codemirror/panel": {
+ "version": "0.18.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/panel/-/panel-0.18.1.tgz",
+ "integrity": "sha512-5Zo9cUw0QDlFzX4nhIDYjTARPOnPk5rzxAUQo1O35kTLV+6zRh7wsGlvU7VrZnBcIoaAmHfKrZ4lt6+h7fbFGw==",
+ "dependencies": {
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/view": "^0.18.0"
+ }
},
- "center-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
- "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
- "requires": {
- "align-text": "^0.1.3",
- "lazy-cache": "^1.0.3"
+ "node_modules/@codemirror/rangeset": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/rangeset/-/rangeset-0.18.0.tgz",
+ "integrity": "sha512-+dpK3T6EFv2vkoAc3sTZld0N5SHZDjD3YowFYuMWn0Xw3t+u6k+JZlGBuaFTXdsLeF0auclsm0XhRUpMVuXhTg==",
+ "dependencies": {
+ "@codemirror/state": "^0.18.0"
}
},
- "chai": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
- "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==",
- "dev": true,
- "requires": {
- "assertion-error": "^1.1.0",
- "check-error": "^1.0.2",
- "deep-eql": "^3.0.1",
- "get-func-name": "^2.0.0",
- "pathval": "^1.1.0",
- "type-detect": "^4.0.5"
+ "node_modules/@codemirror/rectangular-selection": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/rectangular-selection/-/rectangular-selection-0.18.0.tgz",
+ "integrity": "sha512-BQ4pp2zhXCVZNqct5LtLR3AOWVseENBF/3oOgBmwsCKH7c11NfTqIqgWG5EW8NLOXp8HP8cDm3np8eWez0VkGQ==",
+ "dependencies": {
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/text": "^0.18.0",
+ "@codemirror/view": "^0.18.0"
+ }
+ },
+ "node_modules/@codemirror/search": {
+ "version": "0.18.2",
+ "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-0.18.2.tgz",
+ "integrity": "sha512-t90Ra34piJDF589hNDmuA1fVKCFDh0FTuTZTHDmmSaWS5OWq2++zAwRTQnOdQD+uGfEUwLQPiLJzu60NDhA5xw==",
+ "dependencies": {
+ "@codemirror/panel": "^0.18.1",
+ "@codemirror/rangeset": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/text": "^0.18.0",
+ "@codemirror/view": "^0.18.0",
+ "crelt": "^1.0.5"
+ }
+ },
+ "node_modules/@codemirror/state": {
+ "version": "0.18.6",
+ "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-0.18.6.tgz",
+ "integrity": "sha512-jBY4KFY6RGPkuRUFXSZtgxpKebju8CJq7SkKYf+NsD8OZzDSauxPPYAL7V2z8ubvw74qLPIKIX2hERvY6WBdbg==",
+ "dependencies": {
+ "@codemirror/text": "^0.18.0"
+ }
+ },
+ "node_modules/@codemirror/text": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/text/-/text-0.18.0.tgz",
+ "integrity": "sha512-HMzHNIAbjCiCf3tEJMRg6ul01KPuXxQGNiHlHgAnqPguq/CX+L4Nvj5JlWQAI91Pupk18zhmM1c6eaazX4YeTg=="
+ },
+ "node_modules/@codemirror/tooltip": {
+ "version": "0.18.4",
+ "resolved": "https://registry.npmjs.org/@codemirror/tooltip/-/tooltip-0.18.4.tgz",
+ "integrity": "sha512-LDlDOSEfjoG24uapLN7exK3Z3JchYFKUwWqo1x/9YdlAkmD1ik7cMSQZboCquP1uJVcXhtbpKmaO6vENGVaarg==",
+ "dependencies": {
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/view": "^0.18.0"
+ }
+ },
+ "node_modules/@codemirror/view": {
+ "version": "0.18.10",
+ "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-0.18.10.tgz",
+ "integrity": "sha512-TEeR9YdEr0YwL8BTrd4ILSupv9dnU0yphf8cfG+I/EN92EwtMrJG2xaJ+b6/jS6XuPgCm7sI0ad/ml9RCmVvGQ==",
+ "dependencies": {
+ "@codemirror/rangeset": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/text": "^0.18.0",
+ "style-mod": "^4.0.0",
+ "w3c-keyname": "^2.2.4"
}
},
- "chai-as-promised": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz",
- "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==",
+ "node_modules/@eslint/eslintrc": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
+ "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
"dev": true,
- "requires": {
- "check-error": "^1.0.2"
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.1.1",
+ "espree": "^7.3.0",
+ "globals": "^12.1.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^3.13.1",
+ "lodash": "^4.17.19",
+ "minimatch": "^3.0.4",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
}
},
- "chai-nightwatch": {
- "version": "0.1.1",
- "resolved": "http://registry.npmjs.org/chai-nightwatch/-/chai-nightwatch-0.1.1.tgz",
- "integrity": "sha1-HKVt52jTwIaP5/wvTTLC/olOa+k=",
+ "node_modules/@eslint/eslintrc/node_modules/debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"dev": true,
- "requires": {
- "assertion-error": "1.0.0",
- "deep-eql": "0.1.3"
+ "dependencies": {
+ "ms": "2.1.2"
},
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/globals": {
+ "version": "12.4.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
+ "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
+ "dev": true,
"dependencies": {
- "assertion-error": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz",
- "integrity": "sha1-x/hUOP3UZrx8oWq5DIFRN5el0js=",
- "dev": true
- },
- "deep-eql": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
- "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=",
- "dev": true,
- "requires": {
- "type-detect": "0.1.1"
- }
- },
- "type-detect": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
- "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=",
- "dev": true
- }
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
+ "node_modules/@eslint/eslintrc/node_modules/ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
}
},
- "character-entities": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.2.tgz",
- "integrity": "sha512-sMoHX6/nBiy3KKfC78dnEalnpn0Az0oSNvqUWYTtYrhRI5iUIYsROU48G+E+kMFQzqXaJ8kHJZ85n7y6/PHgwQ==",
+ "node_modules/@eslint/eslintrc/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "character-entities-html4": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.2.tgz",
- "integrity": "sha512-sIrXwyna2+5b0eB9W149izTPJk/KkJTg6mEzDGibwBUkyH1SbDa+nf515Ppdi3MaH35lW0JFJDWeq9Luzes1Iw==",
- "dev": true
+ "node_modules/@eslint/eslintrc/node_modules/type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "character-entities-legacy": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.2.tgz",
- "integrity": "sha512-9NB2VbXtXYWdXzqrvAHykE/f0QJxzaKIpZ5QzNZrrgQ7Iyxr2vnfS8fCBNVW9nUEZE0lo57nxKRqnzY/dKrwlA==",
+ "node_modules/@hapi/address": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
+ "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==",
"dev": true
},
- "character-reference-invalid": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.2.tgz",
- "integrity": "sha512-7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ==",
+ "node_modules/@hapi/bourne": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz",
+ "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==",
"dev": true
},
- "chardet": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
- "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I="
- },
- "check-error": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
- "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
+ "node_modules/@hapi/formula": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-1.2.0.tgz",
+ "integrity": "sha512-UFbtbGPjstz0eWHb+ga/GM3Z9EzqKXFWIbSOFURU0A/Gku0Bky4bCk9/h//K2Xr3IrCfjFNhMm4jyZ5dbCewGA==",
"dev": true
},
- "check-types": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/check-types/-/check-types-7.4.0.tgz",
- "integrity": "sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg=="
+ "node_modules/@hapi/hoek": {
+ "version": "8.5.1",
+ "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz",
+ "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==",
+ "dev": true
},
- "chokidar": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
- "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
- "requires": {
- "anymatch": "^2.0.0",
- "async-each": "^1.0.0",
- "braces": "^2.3.0",
- "fsevents": "^1.2.2",
- "glob-parent": "^3.1.0",
- "inherits": "^2.0.1",
- "is-binary-path": "^1.0.0",
- "is-glob": "^4.0.0",
- "lodash.debounce": "^4.0.8",
- "normalize-path": "^2.1.1",
- "path-is-absolute": "^1.0.0",
- "readdirp": "^2.0.0",
- "upath": "^1.0.5"
+ "node_modules/@hapi/joi": {
+ "version": "15.1.1",
+ "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz",
+ "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==",
+ "dev": true,
+ "dependencies": {
+ "@hapi/address": "2.x.x",
+ "@hapi/bourne": "1.x.x",
+ "@hapi/hoek": "8.x.x",
+ "@hapi/topo": "3.x.x"
}
},
- "chownr": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz",
- "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g=="
+ "node_modules/@hapi/pinpoint": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-1.0.2.tgz",
+ "integrity": "sha512-dtXC/WkZBfC5vxscazuiJ6iq4j9oNx1SHknmIr8hofarpKUZKmlUVYVIhNVzIEgK5Wrc4GMHL5lZtt1uS2flmQ==",
+ "dev": true
},
- "cipher-base": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
- "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
+ "node_modules/@hapi/topo": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz",
+ "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==",
+ "dev": true,
+ "dependencies": {
+ "@hapi/hoek": "^8.3.0"
}
},
- "clap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz",
- "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==",
- "requires": {
- "chalk": "^1.1.3"
- },
+ "node_modules/@lit/reactive-element": {
+ "version": "1.0.0-rc.1",
+ "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.0.0-rc.1.tgz",
+ "integrity": "sha512-TLRPKOhQLNOMcpCXHiTKrNKX5eNzhf9y07jp27MXkjTH1IbXFvcT9/mVdOG/3qfMkip+iO6CEfv5a+y0wFhQig=="
+ },
+ "node_modules/@mrmlnc/readdir-enhanced": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
+ "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
+ "dev": true,
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
+ "call-me-maybe": "^1.0.1",
+ "glob-to-regexp": "^0.3.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "class-utils": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
- "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
- "requires": {
- "arr-union": "^3.1.0",
- "define-property": "^0.2.5",
- "isobject": "^3.0.0",
- "static-extend": "^0.1.1"
- },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
+ "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
+ "dev": true,
"dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- }
+ "@nodelib/fs.stat": "2.0.3",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
}
},
- "clean-css": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz",
- "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==",
- "requires": {
- "source-map": "~0.6.0"
+ "node_modules/@nodelib/fs.scandir/node_modules/@nodelib/fs.stat": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
}
},
- "cli-cursor": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
- "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
- "requires": {
- "restore-cursor": "^2.0.0"
+ "node_modules/@nodelib/fs.stat": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
+ "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
}
},
- "cli-width": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
- "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk="
- },
- "clipboard": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.1.tgz",
- "integrity": "sha512-7yhQBmtN+uYZmfRjjVjKa0dZdWuabzpSKGtyQZN+9C8xlC788SSJjOHWh7tzurfwTqTD5UDYAhIv5fRJg3sHjQ==",
- "requires": {
- "good-listener": "^1.2.2",
- "select": "^1.1.2",
- "tiny-emitter": "^2.0.0"
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
+ "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.3",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
}
},
- "cliui": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
- "requires": {
- "center-align": "^0.1.1",
- "right-align": "^0.1.1",
- "wordwrap": "0.0.2"
+ "node_modules/@octokit/auth-token": {
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.4.tgz",
+ "integrity": "sha512-LNfGu3Ro9uFAYh10MUZVaT7X2CnNm2C8IDQmabx+3DygYIQjs9FwzFAHN/0t6mu5HEPhxcb1XOuxdpY82vCg2Q==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/types": "^6.0.0"
}
},
- "clone": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
- "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
- },
- "clone-deep": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz",
- "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==",
+ "node_modules/@octokit/endpoint": {
+ "version": "6.0.10",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.10.tgz",
+ "integrity": "sha512-9+Xef8nT7OKZglfkOMm7IL6VwxXUQyR7DUSU0LH/F7VNqs8vyd7es5pTfz9E7DwUIx7R3pGscxu1EBhYljyu7Q==",
"dev": true,
- "requires": {
- "for-own": "^1.0.0",
- "is-plain-object": "^2.0.4",
- "kind-of": "^6.0.0",
- "shallow-clone": "^1.0.0"
- },
"dependencies": {
- "for-own": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
- "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
- "dev": true,
- "requires": {
- "for-in": "^1.0.1"
- }
- }
+ "@octokit/types": "^6.0.0",
+ "is-plain-object": "^5.0.0",
+ "universal-user-agent": "^6.0.0"
}
},
- "clone-regexp": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.1.tgz",
- "integrity": "sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==",
+ "node_modules/@octokit/endpoint/node_modules/is-plain-object": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
"dev": true,
- "requires": {
- "is-regexp": "^1.0.0",
- "is-supported-regexp-flag": "^1.0.0"
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "co": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
- },
- "coa": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz",
- "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=",
- "requires": {
- "q": "^1.1.2"
+ "node_modules/@octokit/endpoint/node_modules/universal-user-agent": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
+ "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==",
+ "dev": true
+ },
+ "node_modules/@octokit/openapi-types": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-2.2.0.tgz",
+ "integrity": "sha512-274lNUDonw10kT8wHg8fCcUc1ZjZHbWv0/TbAwb0ojhBQqZYc1cQ/4yqTVTtPMDeZ//g7xVEYe/s3vURkRghPg==",
+ "dev": true
+ },
+ "node_modules/@octokit/plugin-paginate-rest": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz",
+ "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/types": "^2.0.1"
}
},
- "code-point-at": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
+ "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": {
+ "version": "2.16.2",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz",
+ "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": ">= 8"
+ }
},
- "collapse-white-space": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.4.tgz",
- "integrity": "sha512-YfQ1tAUZm561vpYD+5eyWN8+UsceQbSrqqlc/6zDY2gtAE+uZLSdkkovhnGpmCThsvKBFakq4EdY/FF93E8XIw==",
+ "node_modules/@octokit/plugin-request-log": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.2.tgz",
+ "integrity": "sha512-oTJSNAmBqyDR41uSMunLQKMX0jmEXbwD1fpz8FG27lScV3RhtGfBa1/BBLym+PxcC16IBlF7KH9vP1BUYxA+Eg==",
"dev": true
},
- "collection-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
- "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
- "requires": {
- "map-visit": "^1.0.0",
- "object-visit": "^1.0.0"
+ "node_modules/@octokit/plugin-rest-endpoint-methods": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz",
+ "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/types": "^2.0.1",
+ "deprecation": "^2.3.1"
}
},
- "color": {
- "version": "0.11.4",
- "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz",
- "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=",
- "requires": {
- "clone": "^1.0.2",
- "color-convert": "^1.3.0",
- "color-string": "^0.3.0"
- },
+ "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": {
+ "version": "2.16.2",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz",
+ "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==",
+ "dev": true,
"dependencies": {
- "clone": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
- "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
- }
+ "@types/node": ">= 8"
}
},
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "requires": {
- "color-name": "1.1.3"
+ "node_modules/@octokit/request": {
+ "version": "5.4.12",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.12.tgz",
+ "integrity": "sha512-MvWYdxengUWTGFpfpefBBpVmmEYfkwMoxonIB3sUGp5rhdgwjXL1ejo6JbgzG/QD9B/NYt/9cJX1pxXeSIUCkg==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/endpoint": "^6.0.1",
+ "@octokit/request-error": "^2.0.0",
+ "@octokit/types": "^6.0.3",
+ "deprecation": "^2.0.0",
+ "is-plain-object": "^5.0.0",
+ "node-fetch": "^2.6.1",
+ "once": "^1.4.0",
+ "universal-user-agent": "^6.0.0"
}
},
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
- },
- "color-string": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz",
- "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=",
- "requires": {
- "color-name": "^1.0.0"
+ "node_modules/@octokit/request-error": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz",
+ "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/types": "^2.0.0",
+ "deprecation": "^2.0.0",
+ "once": "^1.4.0"
}
},
- "colormin": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz",
- "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=",
- "requires": {
- "color": "^0.11.0",
- "css-color-names": "0.0.4",
- "has": "^1.0.1"
+ "node_modules/@octokit/request-error/node_modules/@octokit/types": {
+ "version": "2.16.2",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz",
+ "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": ">= 8"
}
},
- "colors": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
- "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM="
+ "node_modules/@octokit/request/node_modules/@octokit/request-error": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.4.tgz",
+ "integrity": "sha512-LjkSiTbsxIErBiRh5wSZvpZqT4t0/c9+4dOe0PII+6jXR+oj/h66s7E4a/MghV7iT8W9ffoQ5Skoxzs96+gBPA==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/types": "^6.0.0",
+ "deprecation": "^2.0.0",
+ "once": "^1.4.0"
+ }
},
- "combined-stream": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
- "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
+ "node_modules/@octokit/request/node_modules/is-plain-object": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
"dev": true,
- "requires": {
- "delayed-stream": "~1.0.0"
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "commander": {
- "version": "2.12.2",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz",
- "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==",
+ "node_modules/@octokit/request/node_modules/universal-user-agent": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
+ "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==",
"dev": true
},
- "commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
- },
- "component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
+ "node_modules/@octokit/rest": {
+ "version": "16.43.2",
+ "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz",
+ "integrity": "sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/auth-token": "^2.4.0",
+ "@octokit/plugin-paginate-rest": "^1.1.1",
+ "@octokit/plugin-request-log": "^1.0.0",
+ "@octokit/plugin-rest-endpoint-methods": "2.4.0",
+ "@octokit/request": "^5.2.0",
+ "@octokit/request-error": "^1.0.2",
+ "atob-lite": "^2.0.0",
+ "before-after-hook": "^2.0.0",
+ "btoa-lite": "^1.0.0",
+ "deprecation": "^2.0.0",
+ "lodash.get": "^4.4.2",
+ "lodash.set": "^4.3.2",
+ "lodash.uniq": "^4.5.0",
+ "octokit-pagination-methods": "^1.1.0",
+ "once": "^1.4.0",
+ "universal-user-agent": "^4.0.0"
+ }
},
- "compressible": {
- "version": "2.0.16",
- "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.16.tgz",
- "integrity": "sha512-JQfEOdnI7dASwCuSPWIeVYwc/zMsu/+tRhoUvEfXz2gxOA2DNjmG5vhtFdBlhWPPGo+RdT9S3tgc/uH5qgDiiA==",
- "requires": {
- "mime-db": ">= 1.38.0 < 2"
- },
+ "node_modules/@octokit/types": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.2.1.tgz",
+ "integrity": "sha512-jHs9OECOiZxuEzxMZcXmqrEO8GYraHF+UzNVH2ACYh8e/Y7YoT+hUf9ldvVd6zIvWv4p3NdxbQ0xx3ku5BnSiA==",
+ "dev": true,
"dependencies": {
- "mime-db": {
- "version": "1.38.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz",
- "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg=="
- }
+ "@octokit/openapi-types": "^2.2.0",
+ "@types/node": ">= 8"
}
},
- "compression": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
- "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
- "requires": {
- "accepts": "~1.3.5",
- "bytes": "3.0.0",
- "compressible": "~2.0.16",
- "debug": "2.6.9",
- "on-headers": "~1.0.2",
- "safe-buffer": "5.1.2",
- "vary": "~1.1.2"
- },
+ "node_modules/@open-wc/building-utils": {
+ "version": "2.18.4",
+ "resolved": "https://registry.npmjs.org/@open-wc/building-utils/-/building-utils-2.18.4.tgz",
+ "integrity": "sha512-wjNp9oE1SFsiBEqaI67ff60KHDpDbGMNF+82pvCHe412SFY4q8DNy8A+hesj1nZsuZHH1/olDfzBDbYKAnmgMg==",
+ "dev": true,
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- }
+ "@babel/core": "^7.11.1",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@webcomponents/shadycss": "^1.10.2",
+ "@webcomponents/webcomponentsjs": "^2.5.0",
+ "arrify": "^2.0.1",
+ "browserslist": "^4.16.0",
+ "chokidar": "^3.4.3",
+ "clean-css": "^4.2.3",
+ "clone": "^2.1.2",
+ "core-js-bundle": "^3.8.1",
+ "deepmerge": "^4.2.2",
+ "es-module-shims": "^0.4.7",
+ "html-minifier-terser": "^5.1.1",
+ "lru-cache": "^5.1.1",
+ "minimatch": "^3.0.4",
+ "parse5": "^5.1.1",
+ "path-is-inside": "^1.0.2",
+ "regenerator-runtime": "^0.13.7",
+ "resolve": "^1.19.0",
+ "rimraf": "^3.0.2",
+ "shady-css-scoped-element": "^0.0.2",
+ "systemjs": "^6.8.3",
+ "terser": "^4.6.7",
+ "valid-url": "^1.0.9",
+ "whatwg-fetch": "^3.5.0",
+ "whatwg-url": "^7.1.0"
+ }
+ },
+ "node_modules/@open-wc/building-utils/node_modules/parse5": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
+ "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
+ "dev": true
+ },
+ "node_modules/@open-wc/rollup-plugin-html": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/@open-wc/rollup-plugin-html/-/rollup-plugin-html-1.2.5.tgz",
+ "integrity": "sha512-iW/sP/zLEjRN8DuHgAkUg3A3eOYoMgY+dJs7kiVhpKTLSKA5ETybrPeM4i/VS3q2D2wc3hwhnzvEmc8hN4mFQQ==",
+ "dev": true,
+ "dependencies": {
+ "@open-wc/building-utils": "^2.18.3",
+ "@types/html-minifier": "^3.5.3",
+ "fs-extra": "^8.1.0",
+ "glob": "^7.1.3",
+ "html-minifier-terser": "^5.1.1",
+ "parse5": "^5.1.1"
}
},
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ "node_modules/@open-wc/rollup-plugin-html/node_modules/parse5": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
+ "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
+ "dev": true
},
- "concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "requires": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
+ "node_modules/@pwabuilder/pwainstall": {
+ "version": "1.6.6",
+ "resolved": "https://registry.npmjs.org/@pwabuilder/pwainstall/-/pwainstall-1.6.6.tgz",
+ "integrity": "sha512-7IAmrQsQEi+mhBT6gLSFzk4mAKm6SACTTeFDJqErG3c/8p+4NVxoXPj5NtdiIVSM89ua2XBLwtet/gat94HFGw==",
+ "dependencies": {
+ "lit-element": "^2.4.0"
}
},
- "concurrently": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-4.0.1.tgz",
- "integrity": "sha512-D8UI+mlI/bfvrA57SeKOht6sEpb01dKk+8Yee4fbnkk1Ue8r3S+JXoEdFZIpzQlXJGtnxo47Wvvg/kG4ba3U6Q==",
+ "node_modules/@rollup/plugin-babel": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz",
+ "integrity": "sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw==",
"dev": true,
- "requires": {
- "chalk": "^2.4.1",
- "date-fns": "^1.23.0",
- "lodash": "^4.17.10",
- "read-pkg": "^4.0.1",
- "rxjs": "6.2.2",
- "spawn-command": "^0.0.2-1",
- "supports-color": "^4.5.0",
- "tree-kill": "^1.1.0",
- "yargs": "^12.0.1"
- },
"dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "camelcase": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
- "dev": true
- },
- "cliui": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
- "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
- "dev": true,
- "requires": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0",
- "wrap-ansi": "^2.0.0"
- }
- },
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "decamelize": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz",
- "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==",
- "dev": true,
- "requires": {
- "xregexp": "4.0.0"
- }
- },
- "execa": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz",
- "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==",
- "dev": true,
- "requires": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^3.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- }
- },
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "has-flag": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
- "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
- "dev": true
- },
- "invert-kv": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
- "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
- "dev": true
- },
- "lcid": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
- "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
- "dev": true,
- "requires": {
- "invert-kv": "^2.0.0"
- }
- },
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dev": true,
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "mem": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-4.0.0.tgz",
- "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==",
- "dev": true,
- "requires": {
- "map-age-cleaner": "^0.1.1",
- "mimic-fn": "^1.0.0",
- "p-is-promise": "^1.1.0"
- }
- },
- "os-locale": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz",
- "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==",
- "dev": true,
- "requires": {
- "execa": "^0.10.0",
- "lcid": "^2.0.0",
- "mem": "^4.0.0"
- }
- },
- "p-limit": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz",
- "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "dev": true,
- "requires": {
- "p-limit": "^2.0.0"
- }
- },
- "p-try": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
- "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
- "dev": true
- },
- "read-pkg": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz",
- "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=",
- "dev": true,
- "requires": {
- "normalize-package-data": "^2.3.2",
- "parse-json": "^4.0.0",
- "pify": "^3.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- },
- "supports-color": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
- "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
- "dev": true,
- "requires": {
- "has-flag": "^2.0.0"
- }
- },
- "xregexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz",
- "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==",
- "dev": true
- },
- "yargs": {
- "version": "12.0.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz",
- "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==",
- "dev": true,
- "requires": {
- "cliui": "^4.0.0",
- "decamelize": "^2.0.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^1.0.1",
- "os-locale": "^3.0.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
- "which-module": "^2.0.0",
- "y18n": "^3.2.1 || ^4.0.0",
- "yargs-parser": "^10.1.0"
- }
- },
- "yargs-parser": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
- "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
- "dev": true,
- "requires": {
- "camelcase": "^4.1.0"
- }
- }
+ "@babel/helper-module-imports": "^7.10.4",
+ "@rollup/pluginutils": "^3.1.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
}
},
- "connect": {
- "version": "3.6.6",
- "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz",
- "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=",
- "requires": {
- "debug": "2.6.9",
- "finalhandler": "1.1.0",
- "parseurl": "~1.3.2",
- "utils-merge": "1.0.1"
- },
+ "node_modules/@rollup/plugin-json": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz",
+ "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==",
+ "dev": true,
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- }
+ "@rollup/pluginutils": "^3.0.8"
}
},
- "console-browserify": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
- "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
- "requires": {
- "date-now": "^0.1.4"
+ "node_modules/@rollup/plugin-node-resolve": {
+ "version": "11.2.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz",
+ "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^3.1.0",
+ "@types/resolve": "1.17.1",
+ "builtin-modules": "^3.1.0",
+ "deepmerge": "^4.2.2",
+ "is-module": "^1.0.0",
+ "resolve": "^1.19.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
}
},
- "console-control-strings": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
- "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
- "dev": true
+ "node_modules/@rollup/plugin-node-resolve/node_modules/@types/resolve": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
+ "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
},
- "consolidate": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz",
- "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=",
- "requires": {
- "bluebird": "^3.1.1"
+ "node_modules/@rollup/plugin-replace": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz",
+ "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^3.1.0",
+ "magic-string": "^0.25.7"
}
},
- "constants-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
- "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U="
+ "node_modules/@rollup/plugin-strip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-strip/-/plugin-strip-2.0.0.tgz",
+ "integrity": "sha512-1xtE2FDk7Wwr2dEPugkQp3M2FGtSVYeRQaJnHJIkHzcXpBlxT/z+jJoVUvm8LGXso+bLWgO65WrmQ6bC6e/x+A==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^3.0.4",
+ "estree-walker": "^1.0.1",
+ "magic-string": "^0.25.5"
+ }
},
- "content-disposition": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
- "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
- },
- "content-type": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
- },
- "convert-source-map": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
- "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
- "requires": {
- "safe-buffer": "~5.1.1"
+ "node_modules/@rollup/plugin-typescript": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-8.2.1.tgz",
+ "integrity": "sha512-Qd2E1pleDR4bwyFxqbjt4eJf+wB0UKVMLc7/BAFDGVdAXQMCsD4DUv5/7/ww47BZCYxWtJqe1Lo0KVNswBJlRw==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^3.1.0",
+ "resolve": "^1.17.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
}
},
- "cookie": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
- "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
+ "node_modules/@rollup/pluginutils": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
+ "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "0.0.39",
+ "estree-walker": "^1.0.1",
+ "picomatch": "^2.2.2"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ }
},
- "cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
+ "node_modules/@surma/rollup-plugin-off-main-thread": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.1.tgz",
+ "integrity": "sha512-ZPBWYQDdO4JZiTmTP3DABsHhIPA7bEJk9Znk7tZsrbPGanoGo8YxMv//WLx5Cvb+lRgS42+6yiOIYYHCKDmkpQ==",
+ "dev": true,
+ "dependencies": {
+ "ejs": "^2.6.1",
+ "magic-string": "^0.25.0"
+ }
},
- "copy-concurrently": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
- "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
- "requires": {
- "aproba": "^1.1.1",
- "fs-write-stream-atomic": "^1.0.8",
- "iferr": "^0.1.5",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.5.4",
- "run-queue": "^1.0.0"
+ "node_modules/@types/accepts": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz",
+ "integrity": "sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
}
},
- "copy-descriptor": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
+ "node_modules/@types/body-parser": {
+ "version": "1.19.0",
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz",
+ "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/connect": "*",
+ "@types/node": "*"
+ }
},
- "copy-webpack-plugin": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.0.3.tgz",
- "integrity": "sha512-PlZRs9CUMnAVylZq+vg2Juew662jWtwOXOqH4lbQD9ZFhRG9R7tVStOgHt21CBGVq7k5yIJaz8TXDLSjV+Lj8Q==",
+ "node_modules/@types/clean-css": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.2.tgz",
+ "integrity": "sha512-xiTJn3bmDh1lA8c6iVJs4ZhHw+pcmxXlJQXOB6G1oULaak8rmarIeFKI4aTJ7849dEhaO612wgIualZfbxTJwA==",
"dev": true,
- "requires": {
- "cacache": "^11.3.2",
- "find-cache-dir": "^2.1.0",
- "glob-parent": "^3.1.0",
- "globby": "^7.1.1",
- "is-glob": "^4.0.1",
- "loader-utils": "^1.2.3",
- "minimatch": "^3.0.4",
- "normalize-path": "^3.0.0",
- "p-limit": "^2.2.0",
- "schema-utils": "^1.0.0",
- "serialize-javascript": "^1.7.0",
- "webpack-log": "^2.0.0"
- },
"dependencies": {
- "big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
- "dev": true
- },
- "cacache": {
- "version": "11.3.2",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz",
- "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==",
- "dev": true,
- "requires": {
- "bluebird": "^3.5.3",
- "chownr": "^1.1.1",
- "figgy-pudding": "^3.5.1",
- "glob": "^7.1.3",
- "graceful-fs": "^4.1.15",
- "lru-cache": "^5.1.1",
- "mississippi": "^3.0.0",
- "mkdirp": "^0.5.1",
- "move-concurrently": "^1.0.1",
- "promise-inflight": "^1.0.1",
- "rimraf": "^2.6.2",
- "ssri": "^6.0.1",
- "unique-filename": "^1.1.1",
- "y18n": "^4.0.0"
- }
- },
- "find-cache-dir": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
- "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
- "dev": true,
- "requires": {
- "commondir": "^1.0.1",
- "make-dir": "^2.0.0",
- "pkg-dir": "^3.0.0"
- }
- },
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "globby": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
- "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
- "dev": true,
- "requires": {
- "array-union": "^1.0.1",
- "dir-glob": "^2.0.0",
- "glob": "^7.1.2",
- "ignore": "^3.3.5",
- "pify": "^3.0.0",
- "slash": "^1.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true
- }
- }
- },
- "graceful-fs": {
- "version": "4.1.15",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
- "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
- "dev": true
- },
- "ignore": {
- "version": "3.3.10",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
- "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
- "dev": true
- },
- "is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "json5": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
- "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "loader-utils": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
- "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
- "dev": true,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^2.0.0",
- "json5": "^1.0.1"
- }
- },
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dev": true,
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
- "dev": true,
- "requires": {
- "yallist": "^3.0.2"
- }
- },
- "make-dir": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
- "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
- "dev": true,
- "requires": {
- "pify": "^4.0.1",
- "semver": "^5.6.0"
- }
- },
- "mississippi": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
- "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
- "dev": true,
- "requires": {
- "concat-stream": "^1.5.0",
- "duplexify": "^3.4.2",
- "end-of-stream": "^1.1.0",
- "flush-write-stream": "^1.0.0",
- "from2": "^2.1.0",
- "parallel-transform": "^1.1.0",
- "pump": "^3.0.0",
- "pumpify": "^1.3.3",
- "stream-each": "^1.1.0",
- "through2": "^2.0.0"
- }
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true
- },
- "p-limit": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz",
- "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "dev": true,
- "requires": {
- "p-limit": "^2.0.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true
- },
- "pkg-dir": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
- "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
- "dev": true,
- "requires": {
- "find-up": "^3.0.0"
- }
- },
- "pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- },
- "schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
- "dev": true,
- "requires": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
- }
- },
- "serialize-javascript": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.7.0.tgz",
- "integrity": "sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==",
- "dev": true
- },
- "ssri": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
- "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
- "dev": true,
- "requires": {
- "figgy-pudding": "^3.5.1"
- }
- },
- "webpack-log": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
- "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
- "dev": true,
- "requires": {
- "ansi-colors": "^3.0.0",
- "uuid": "^3.3.2"
- }
- },
- "yallist": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
- "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
- "dev": true
- }
+ "@types/node": "*"
}
},
- "core-js": {
- "version": "2.5.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
- "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw=="
+ "node_modules/@types/color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
+ "dev": true
},
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ "node_modules/@types/command-line-args": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.0.0.tgz",
+ "integrity": "sha512-4eOPXyn5DmP64MCMF8ePDvdlvlzt2a+F8ZaVjqmh2yFCpGjc1kI3kGnCFYX9SCsGTjQcWIyVZ86IHCEyjy/MNg==",
+ "dev": true
},
- "cosmiconfig": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz",
- "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==",
- "requires": {
- "is-directory": "^0.3.1",
- "js-yaml": "^3.9.0",
- "parse-json": "^4.0.0",
- "require-from-string": "^2.0.1"
- },
+ "node_modules/@types/connect": {
+ "version": "3.4.34",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz",
+ "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==",
+ "dev": true,
"dependencies": {
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
- },
- "js-yaml": {
- "version": "3.13.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.0.tgz",
- "integrity": "sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ==",
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- }
- }
+ "@types/node": "*"
}
},
- "create-ecdh": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
- "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
- "requires": {
- "bn.js": "^4.1.0",
- "elliptic": "^6.0.0"
- }
+ "node_modules/@types/content-disposition": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.3.tgz",
+ "integrity": "sha512-P1bffQfhD3O4LW0ioENXUhZ9OIa0Zn+P7M+pWgkCKaT53wVLSq0mrKksCID/FGHpFhRSxRGhgrQmfhRuzwtKdg==",
+ "dev": true
},
- "create-hash": {
- "version": "1.2.0",
- "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
- "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
- "requires": {
- "cipher-base": "^1.0.1",
- "inherits": "^2.0.1",
- "md5.js": "^1.3.4",
- "ripemd160": "^2.0.1",
- "sha.js": "^2.4.0"
+ "node_modules/@types/cookies": {
+ "version": "0.7.6",
+ "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.6.tgz",
+ "integrity": "sha512-FK4U5Qyn7/Sc5ih233OuHO0qAkOpEcD/eG6584yEiLKizTFRny86qHLe/rej3HFQrkBuUjF4whFliAdODbVN/w==",
+ "dev": true,
+ "dependencies": {
+ "@types/connect": "*",
+ "@types/express": "*",
+ "@types/keygrip": "*",
+ "@types/node": "*"
}
},
- "create-hmac": {
- "version": "1.1.7",
- "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
- "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
- "requires": {
- "cipher-base": "^1.0.3",
- "create-hash": "^1.1.0",
- "inherits": "^2.0.1",
- "ripemd160": "^2.0.0",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
+ "node_modules/@types/estree": {
+ "version": "0.0.39",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
+ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
+ "dev": true
+ },
+ "node_modules/@types/express": {
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz",
+ "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==",
+ "dev": true,
+ "dependencies": {
+ "@types/body-parser": "*",
+ "@types/express-serve-static-core": "^4.17.18",
+ "@types/qs": "*",
+ "@types/serve-static": "*"
}
},
- "cross-env": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.0.tgz",
- "integrity": "sha512-jtdNFfFW1hB7sMhr/H6rW1Z45LFqyI431m3qU6bFXcQ3Eh7LtBuG3h74o7ohHZ3crrRkkqHlo4jYHFPcjroANg==",
+ "node_modules/@types/express-serve-static-core": {
+ "version": "4.17.19",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz",
+ "integrity": "sha512-DJOSHzX7pCiSElWaGR8kCprwibCB/3yW6vcT8VG3P0SJjnv19gnWG/AZMfM60Xj/YJIp/YCaDHyvzsFVeniARA==",
"dev": true,
- "requires": {
- "cross-spawn": "^6.0.5",
- "is-windows": "^1.0.0"
- },
"dependencies": {
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- }
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*"
}
},
- "cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
- "requires": {
- "lru-cache": "^4.0.1",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
+ "node_modules/@types/fs-extra": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.1.tgz",
+ "integrity": "sha512-TcUlBem321DFQzBNuz8p0CLLKp0VvF/XH9E4KHNmgwyp4E3AfgI5cjiIVZWlbfThBop2qxFIh4+LeY6hVWWZ2w==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
}
},
- "crypto-browserify": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
- "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
- "requires": {
- "browserify-cipher": "^1.0.0",
- "browserify-sign": "^4.0.0",
- "create-ecdh": "^4.0.0",
- "create-hash": "^1.1.0",
- "create-hmac": "^1.1.0",
- "diffie-hellman": "^5.0.0",
- "inherits": "^2.0.1",
- "pbkdf2": "^3.0.3",
- "public-encrypt": "^4.0.0",
- "randombytes": "^2.0.0",
- "randomfill": "^1.0.3"
+ "node_modules/@types/glob": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==",
+ "dev": true,
+ "dependencies": {
+ "@types/minimatch": "*",
+ "@types/node": "*"
}
},
- "css-color-function": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/css-color-function/-/css-color-function-1.3.3.tgz",
- "integrity": "sha1-jtJMLAIFBzM5+voAS8jBQfzLKC4=",
- "requires": {
- "balanced-match": "0.1.0",
- "color": "^0.11.0",
- "debug": "^3.1.0",
- "rgb": "~0.1.0"
- },
+ "node_modules/@types/html-minifier": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/@types/html-minifier/-/html-minifier-3.5.3.tgz",
+ "integrity": "sha512-j1P/4PcWVVCPEy5lofcHnQ6BtXz9tHGiFPWzqm7TtGuWZEfCHEP446HlkSNc9fQgNJaJZ6ewPtp2aaFla/Uerg==",
+ "dev": true,
"dependencies": {
- "balanced-match": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.1.0.tgz",
- "integrity": "sha1-tQS9BYabOSWd0MXvw12EMXbczEo="
- }
+ "@types/clean-css": "*",
+ "@types/relateurl": "*",
+ "@types/uglify-js": "*"
}
},
- "css-color-names": {
- "version": "0.0.4",
- "resolved": "http://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
- "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA="
+ "node_modules/@types/http-assert": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz",
+ "integrity": "sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==",
+ "dev": true
},
- "css-hot-loader": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/css-hot-loader/-/css-hot-loader-1.4.4.tgz",
- "integrity": "sha512-J/qXHz+r7FOT92qMIJfxUk0LC9fecQNZVr0MswQ4FOpKLyOCBjofVMfc6R268bh/5ktkTShrweMr0wWqerC92g==",
- "requires": {
- "loader-utils": "^1.1.0",
- "lodash": "^4.17.5",
- "normalize-url": "^1.9.1"
- }
+ "node_modules/@types/http-errors": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-1.8.0.tgz",
+ "integrity": "sha512-2aoSC4UUbHDj2uCsCxcG/vRMXey/m17bC7UwitVm5hn22nI8O8Y9iDpA76Orc+DWkQ4zZrOKEshCqR/jSuXAHA==",
+ "dev": true
},
- "css-loader": {
- "version": "0.28.11",
- "resolved": "http://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz",
- "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==",
- "requires": {
- "babel-code-frame": "^6.26.0",
- "css-selector-tokenizer": "^0.7.0",
- "cssnano": "^3.10.0",
- "icss-utils": "^2.1.0",
- "loader-utils": "^1.0.2",
- "lodash.camelcase": "^4.3.0",
- "object-assign": "^4.1.1",
- "postcss": "^5.0.6",
- "postcss-modules-extract-imports": "^1.2.0",
- "postcss-modules-local-by-default": "^1.2.0",
- "postcss-modules-scope": "^1.1.0",
- "postcss-modules-values": "^1.3.0",
- "postcss-value-parser": "^3.3.0",
- "source-list-map": "^2.0.0"
- },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
+ "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
+ "dev": true
+ },
+ "node_modules/@types/json5": {
+ "version": "0.0.29",
+ "resolved": "http://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
+ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
+ "dev": true
+ },
+ "node_modules/@types/keygrip": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.2.tgz",
+ "integrity": "sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==",
+ "dev": true
+ },
+ "node_modules/@types/koa": {
+ "version": "2.13.1",
+ "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.13.1.tgz",
+ "integrity": "sha512-Qbno7FWom9nNqu0yHZ6A0+RWt4mrYBhw3wpBAQ3+IuzGcLlfeYkzZrnMq5wsxulN2np8M4KKeUpTodsOsSad5Q==",
+ "dev": true,
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
+ "@types/accepts": "*",
+ "@types/content-disposition": "*",
+ "@types/cookies": "*",
+ "@types/http-assert": "*",
+ "@types/http-errors": "*",
+ "@types/keygrip": "*",
+ "@types/koa-compose": "*",
+ "@types/node": "*"
}
},
- "css-select": {
- "version": "1.2.0",
- "resolved": "http://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
- "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
- "requires": {
- "boolbase": "~1.0.0",
- "css-what": "2.1",
- "domutils": "1.5.1",
- "nth-check": "~1.0.1"
+ "node_modules/@types/koa-compose": {
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.5.tgz",
+ "integrity": "sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/koa": "*"
}
},
- "css-selector-tokenizer": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz",
- "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==",
- "requires": {
- "cssesc": "^0.1.0",
- "fastparse": "^1.1.1",
- "regexpu-core": "^1.0.0"
- },
+ "node_modules/@types/lodash": {
+ "version": "4.14.169",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.169.tgz",
+ "integrity": "sha512-DvmZHoHTFJ8zhVYwCLWbQ7uAbYQEk52Ev2/ZiQ7Y7gQGeV9pjBqjnQpECMHfKS1rCYAhMI7LHVxwyZLZinJgdw==",
+ "dev": true
+ },
+ "node_modules/@types/lodash-es": {
+ "version": "4.17.4",
+ "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.4.tgz",
+ "integrity": "sha512-BBz79DCJbD2CVYZH67MBeHZRX++HF+5p8Mo5MzjZi64Wac39S3diedJYHZtScbRVf4DjZyN6LzA0SB0zy+HSSQ==",
+ "dev": true,
"dependencies": {
- "regexpu-core": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
- "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
- "requires": {
- "regenerate": "^1.2.1",
- "regjsgen": "^0.2.0",
- "regjsparser": "^0.1.4"
- }
- }
+ "@types/lodash": "*"
}
},
- "css-unit-converter": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz",
- "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY="
+ "node_modules/@types/mime": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
+ "dev": true
},
- "css-what": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz",
- "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg=="
+ "node_modules/@types/minimatch": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
+ "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
+ "dev": true
},
- "cssesc": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
- "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q="
+ "node_modules/@types/node": {
+ "version": "13.9.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.2.tgz",
+ "integrity": "sha512-bnoqK579sAYrQbp73wwglccjJ4sfRdKU7WNEZ5FW4K2U6Kc0/eZ5kvXG0JKsEKFB50zrFmfFt52/cvBbZa7eXg==",
+ "dev": true
},
- "cssnano": {
- "version": "3.10.0",
- "resolved": "http://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz",
- "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=",
- "requires": {
- "autoprefixer": "^6.3.1",
- "decamelize": "^1.1.2",
- "defined": "^1.0.0",
- "has": "^1.0.1",
- "object-assign": "^4.0.1",
- "postcss": "^5.0.14",
- "postcss-calc": "^5.2.0",
- "postcss-colormin": "^2.1.8",
- "postcss-convert-values": "^2.3.4",
- "postcss-discard-comments": "^2.0.4",
- "postcss-discard-duplicates": "^2.0.1",
- "postcss-discard-empty": "^2.0.1",
- "postcss-discard-overridden": "^0.1.1",
- "postcss-discard-unused": "^2.2.1",
- "postcss-filter-plugins": "^2.0.0",
- "postcss-merge-idents": "^2.1.5",
- "postcss-merge-longhand": "^2.0.1",
- "postcss-merge-rules": "^2.0.3",
- "postcss-minify-font-values": "^1.0.2",
- "postcss-minify-gradients": "^1.0.1",
- "postcss-minify-params": "^1.0.4",
- "postcss-minify-selectors": "^2.0.4",
- "postcss-normalize-charset": "^1.1.0",
- "postcss-normalize-url": "^3.0.7",
- "postcss-ordered-values": "^2.1.0",
- "postcss-reduce-idents": "^2.2.2",
- "postcss-reduce-initial": "^1.0.0",
- "postcss-reduce-transforms": "^1.0.3",
- "postcss-svgo": "^2.1.1",
- "postcss-unique-selectors": "^2.0.2",
- "postcss-value-parser": "^3.2.3",
- "postcss-zindex": "^2.0.1"
- },
+ "node_modules/@types/normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==",
+ "dev": true
+ },
+ "node_modules/@types/parse5": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz",
+ "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==",
+ "dev": true
+ },
+ "node_modules/@types/qs": {
+ "version": "6.9.6",
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz",
+ "integrity": "sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==",
+ "dev": true
+ },
+ "node_modules/@types/range-parser": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz",
+ "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==",
+ "dev": true
+ },
+ "node_modules/@types/relateurl": {
+ "version": "0.2.28",
+ "resolved": "https://registry.npmjs.org/@types/relateurl/-/relateurl-0.2.28.tgz",
+ "integrity": "sha1-a9p9uGU/piZD9e5p6facEaOS46Y=",
+ "dev": true
+ },
+ "node_modules/@types/resolve": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz",
+ "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==",
+ "dev": true,
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "autoprefixer": {
- "version": "6.7.7",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz",
- "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
- "requires": {
- "browserslist": "^1.7.6",
- "caniuse-db": "^1.0.30000634",
- "normalize-range": "^0.1.2",
- "num2fraction": "^1.2.2",
- "postcss": "^5.2.16",
- "postcss-value-parser": "^3.2.3"
- }
- },
- "browserslist": {
- "version": "1.7.7",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
- "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
- "requires": {
- "caniuse-db": "^1.0.30000639",
- "electron-to-chromium": "^1.2.7"
- }
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
+ "@types/node": "*"
}
},
- "csso": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz",
- "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=",
- "requires": {
- "clap": "^1.0.9",
- "source-map": "^0.5.3"
- },
+ "node_modules/@types/serve-static": {
+ "version": "1.13.9",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz",
+ "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==",
+ "dev": true,
"dependencies": {
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- }
+ "@types/mime": "^1",
+ "@types/node": "*"
}
},
- "cuint": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz",
- "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs="
- },
- "currently-unhandled": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
- "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
- "requires": {
- "array-find-index": "^1.0.1"
+ "node_modules/@types/service_worker_api": {
+ "version": "0.0.9",
+ "resolved": "https://registry.npmjs.org/@types/service_worker_api/-/service_worker_api-0.0.9.tgz",
+ "integrity": "sha1-cmn/L6DifiOjiiLokJU09jgj3ug=",
+ "dev": true,
+ "dependencies": {
+ "@types/whatwg-fetch": "*"
}
},
- "cyclist": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
- "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA="
+ "node_modules/@types/trusted-types": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-1.0.6.tgz",
+ "integrity": "sha512-230RC8sFeHoT6sSUlRO6a8cAnclO06eeiq1QDfiv2FGCLWFvvERWgwIQD4FWqD9A69BN7Lzee4OXwoMVnnsWDw=="
},
- "d": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
- "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
- "requires": {
- "es5-ext": "^0.10.9"
+ "node_modules/@types/uglify-js": {
+ "version": "3.9.3",
+ "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.9.3.tgz",
+ "integrity": "sha512-KswB5C7Kwduwjj04Ykz+AjvPcfgv/37Za24O2EDzYNbwyzOo8+ydtvzUfZ5UMguiVu29Gx44l1A6VsPPcmYu9w==",
+ "dev": true,
+ "dependencies": {
+ "source-map": "^0.6.1"
}
},
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "node_modules/@types/uglify-js/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "data-uri-to-buffer": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz",
- "integrity": "sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==",
- "dev": true
- },
- "date-fns": {
- "version": "1.29.0",
- "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz",
- "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==",
- "dev": true
- },
- "date-now": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
- "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs="
- },
- "de-indent": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
- "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0="
+ "node_modules/@types/whatwg-fetch": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-fetch/-/whatwg-fetch-0.0.33.tgz",
+ "integrity": "sha1-GcDShjyMsjgPIaHHNrecv3iVuxM=",
+ "dev": true,
+ "dependencies": {
+ "@types/whatwg-streams": "*"
+ }
},
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "requires": {
- "ms": "^2.1.1"
- },
+ "node_modules/@types/whatwg-streams": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-streams/-/whatwg-streams-3.2.1.tgz",
+ "integrity": "sha512-Syv05sRL25b8cC8tqgXSQgLZZmqGq2GO+NafrtHbjPJccP6gWBXmHvo2Trw3AWXQ4QLIkVuOB7uStCuhzswyiw==",
+ "dev": true,
"dependencies": {
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
- }
+ "whatwg-streams": "*"
}
},
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
+ "node_modules/@types/ws": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.1.tgz",
+ "integrity": "sha512-ISCK1iFnR+jYv7+jLNX0wDqesZ/5RAeY3wUx6QaphmocphU61h+b+PHjS18TF4WIPTu/MMzxIq2PHr32o2TS5Q==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
},
- "decamelize-keys": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
- "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.12.0.tgz",
+ "integrity": "sha512-wHKj6q8s70sO5i39H2g1gtpCXCvjVszzj6FFygneNFyIAxRvNSVz9GML7XpqrB9t7hNutXw+MHnLN/Ih6uyB8Q==",
"dev": true,
- "requires": {
- "decamelize": "^1.1.0",
- "map-obj": "^1.0.0"
+ "dependencies": {
+ "@typescript-eslint/experimental-utils": "4.12.0",
+ "@typescript-eslint/scope-manager": "4.12.0",
+ "debug": "^4.1.1",
+ "functional-red-black-tree": "^1.0.1",
+ "regexpp": "^3.0.0",
+ "semver": "^7.3.2",
+ "tsutils": "^3.17.1"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
}
},
- "decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ }
},
- "deep-eql": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
- "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
- "requires": {
- "type-detect": "^4.0.0"
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "deep-equal": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
- "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "deep-is": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
- "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
- "dev": true
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
},
- "deepmerge": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz",
- "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==",
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
- "define-properties": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
- "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
- "requires": {
- "object-keys": "^1.0.12"
+ "node_modules/@typescript-eslint/experimental-utils": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.12.0.tgz",
+ "integrity": "sha512-MpXZXUAvHt99c9ScXijx7i061o5HEjXltO+sbYfZAAHxv3XankQkPaNi5myy0Yh0Tyea3Hdq1pi7Vsh0GJb0fA==",
+ "dev": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.3",
+ "@typescript-eslint/scope-manager": "4.12.0",
+ "@typescript-eslint/types": "4.12.0",
+ "@typescript-eslint/typescript-estree": "4.12.0",
+ "eslint-scope": "^5.0.0",
+ "eslint-utils": "^2.0.0"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
}
},
- "define-property": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
- "requires": {
- "is-descriptor": "^1.0.2",
- "isobject": "^3.0.1"
- },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.12.0.tgz",
+ "integrity": "sha512-9XxVADAo9vlfjfoxnjboBTxYOiNY93/QuvcPgsiKvHxW6tOZx1W4TvkIQ2jB3k5M0pbFP5FlXihLK49TjZXhuQ==",
+ "dev": true,
"dependencies": {
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
+ "@typescript-eslint/scope-manager": "4.12.0",
+ "@typescript-eslint/types": "4.12.0",
+ "@typescript-eslint/typescript-estree": "4.12.0",
+ "debug": "^4.1.1"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
}
},
- "defined": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
- "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM="
- },
- "degenerator": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-1.0.4.tgz",
- "integrity": "sha1-/PSQo37OJmRk2cxDGrmMWBnO0JU=",
+ "node_modules/@typescript-eslint/parser/node_modules/debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"dev": true,
- "requires": {
- "ast-types": "0.x.x",
- "escodegen": "1.x.x",
- "esprima": "3.x.x"
- },
"dependencies": {
- "esprima": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
- "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
- "dev": true
- }
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
}
},
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true
- },
- "delegate": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
- "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw=="
- },
- "delegates": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "node_modules/@typescript-eslint/parser/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.12.0.tgz",
+ "integrity": "sha512-QVf9oCSVLte/8jvOsxmgBdOaoe2J0wtEmBr13Yz0rkBNkl5D8bfnf6G4Vhox9qqMIoG7QQoVwd2eG9DM/ge4Qg==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "4.12.0",
+ "@typescript-eslint/visitor-keys": "4.12.0"
+ },
+ "engines": {
+ "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
+ }
},
- "des.js": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
- "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
- "requires": {
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
+ "node_modules/@typescript-eslint/types": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.12.0.tgz",
+ "integrity": "sha512-N2RhGeheVLGtyy+CxRmxdsniB7sMSCfsnbh8K/+RUIXYYq3Ub5+sukRCjVE80QerrUBvuEvs4fDhz5AW/pcL6g==",
+ "dev": true,
+ "engines": {
+ "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
}
},
- "destroy": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
- "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
- },
- "detect-indent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
- "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
- "requires": {
- "repeating": "^2.0.0"
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.12.0.tgz",
+ "integrity": "sha512-gZkFcmmp/CnzqD2RKMich2/FjBTsYopjiwJCroxqHZIY11IIoN0l5lKqcgoAPKHt33H2mAkSfvzj8i44Jm7F4w==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "4.12.0",
+ "@typescript-eslint/visitor-keys": "4.12.0",
+ "debug": "^4.1.1",
+ "globby": "^11.0.1",
+ "is-glob": "^4.0.1",
+ "lodash": "^4.17.15",
+ "semver": "^7.3.2",
+ "tsutils": "^3.17.1"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
}
},
- "diff": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz",
- "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==",
- "dev": true
- },
- "diffie-hellman": {
- "version": "5.0.3",
- "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
- "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
- "requires": {
- "bn.js": "^4.1.0",
- "miller-rabin": "^4.0.0",
- "randombytes": "^2.0.0"
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/@nodelib/fs.stat": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz",
+ "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
}
},
- "dir-glob": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
- "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==",
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dev": true,
- "requires": {
- "path-type": "^3.0.0"
- },
"dependencies": {
- "path-type": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
- "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
- "dev": true,
- "requires": {
- "pify": "^3.0.0"
- }
- }
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "dom-converter": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
- "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==",
- "requires": {
- "utila": "~0.4"
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
}
},
- "dom-serializer": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
- "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
- "requires": {
- "domelementtype": "~1.1.1",
- "entities": "~1.1.1"
- },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/fast-glob": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
+ "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
+ "dev": true,
"dependencies": {
- "domelementtype": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
- "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs="
- }
+ "@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"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "domain-browser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
- "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA=="
- },
- "domelementtype": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.2.1.tgz",
- "integrity": "sha512-SQVCLFS2E7G5CRCMdn6K9bIhRj1bS6QBWZfF0TUPh4V/BbqrQ619IdSS3/izn0FZ+9l+uODzaZjb08fjOfablA=="
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
},
- "domhandler": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
- "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
- "requires": {
- "domelementtype": "1"
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
}
},
- "domutils": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
- "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
- "requires": {
- "dom-serializer": "0",
- "domelementtype": "1"
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": {
+ "version": "11.0.2",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz",
+ "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==",
+ "dev": true,
+ "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"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "dont-sniff-mimetype": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/dont-sniff-mimetype/-/dont-sniff-mimetype-1.1.0.tgz",
- "integrity": "sha512-ZjI4zqTaxveH2/tTlzS1wFp+7ncxNZaIEWYg3lzZRHkKf5zPT/MnEG6WL0BhHMJUabkh8GeU5NL5j+rEUCb7Ug=="
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
},
- "dot-prop": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
- "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
- "requires": {
- "is-obj": "^1.0.0"
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "downloadjs": {
- "version": "1.4.7",
- "resolved": "https://registry.npmjs.org/downloadjs/-/downloadjs-1.4.7.tgz",
- "integrity": "sha1-9p+W+UDg0FU9rCkROYZaPNAQHjw="
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ },
+ "engines": {
+ "node": ">=8"
+ }
},
- "duplexer": {
- "version": "0.1.1",
- "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
- "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E="
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
},
- "duplexify": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
- "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
- "requires": {
- "end-of-stream": "^1.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0",
- "stream-shift": "^1.0.0"
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
- "requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
}
},
- "ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
- },
- "ejs": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz",
- "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ=="
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
},
- "electron-to-chromium": {
- "version": "1.3.119",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.119.tgz",
- "integrity": "sha512-3mtqcAWa4HgG+Djh/oNXlPH0cOH6MmtwxN1nHSaReb9P0Vn51qYPqYwLeoSuAX9loU1wrOBhFbiX3CkeIxPfgg=="
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.12.0.tgz",
+ "integrity": "sha512-hVpsLARbDh4B9TKYz5cLbcdMIOAoBYgFPCSP9FFS/liSF+b33gVNq8JHY3QGhHNVz85hObvL7BEYLlgx553WCw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "4.12.0",
+ "eslint-visitor-keys": "^2.0.0"
+ },
+ "engines": {
+ "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
+ }
},
- "elliptic": {
- "version": "6.5.3",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz",
- "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==",
- "requires": {
- "bn.js": "^4.4.0",
- "brorand": "^1.0.1",
- "hash.js": "^1.0.0",
- "hmac-drbg": "^1.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.0"
+ "node_modules/@vaadin/router": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@vaadin/router/-/router-1.7.4.tgz",
+ "integrity": "sha512-B4JVtzFVUMlsjuJHNXEMfNZrM4QDrdeOMc6EEigiHYxwF82py6yDdP6SWP0aPoP3f6aQHt51tLWdXSpkKpWf7A==",
+ "dependencies": {
+ "@vaadin/vaadin-usage-statistics": "^2.1.0",
+ "path-to-regexp": "2.4.0"
}
},
- "emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
- "dev": true
+ "node_modules/@vaadin/vaadin-development-mode-detector": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@vaadin/vaadin-development-mode-detector/-/vaadin-development-mode-detector-2.0.4.tgz",
+ "integrity": "sha512-S+PaFrZpK8uBIOnIHxjntTrgumd5ztuCnZww96ydGKXgo9whXfZsbMwDuD/102a/IuPUMyF+dh/n3PbWzJ6igA=="
},
- "emojis-list": {
+ "node_modules/@vaadin/vaadin-usage-statistics": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k="
- },
- "encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
+ "resolved": "https://registry.npmjs.org/@vaadin/vaadin-usage-statistics/-/vaadin-usage-statistics-2.1.0.tgz",
+ "integrity": "sha512-e81nbqY5zsaYhLJuOVkJkB/Um1pGK5POIqIlTNhUfjeoyGaJ63tiX8+D5n6F+GgVxUTLUarsKa6SKRcQel0AzA==",
+ "dependencies": {
+ "@vaadin/vaadin-development-mode-detector": "^2.0.0"
+ }
},
- "encoding": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
- "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
- "requires": {
- "iconv-lite": "~0.4.13"
+ "node_modules/@web/config-loader": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@web/config-loader/-/config-loader-0.1.3.tgz",
+ "integrity": "sha512-XVKH79pk4d3EHRhofete8eAnqto1e8mCRAqPV00KLNFzCWSe8sWmLnqKCqkPNARC6nksMaGrATnA5sPDRllMpQ==",
+ "dev": true,
+ "dependencies": {
+ "semver": "^7.3.4"
+ },
+ "engines": {
+ "node": ">=10.0.0"
}
},
- "end-of-stream": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
- "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
- "requires": {
- "once": "^1.4.0"
+ "node_modules/@web/config-loader/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "enhanced-resolve": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
- "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=",
- "requires": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.4.0",
- "object-assign": "^4.0.1",
- "tapable": "^0.2.7"
+ "node_modules/@web/config-loader/node_modules/semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "entities": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
- "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
+ "node_modules/@web/config-loader/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
},
- "errno": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
- "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
- "requires": {
- "prr": "~1.0.1"
+ "node_modules/@web/dev-server": {
+ "version": "0.1.10",
+ "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.1.10.tgz",
+ "integrity": "sha512-5Pj2GPNKO6Uq2aQCq1+/fkXdZ5guALevUb6M324oiTr1srBXHod6QunbzqXovO5Bcgmo79ZOneHMgoQNwxtIYA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.12.11",
+ "@rollup/plugin-node-resolve": "^11.0.1",
+ "@types/command-line-args": "^5.0.0",
+ "@web/config-loader": "^0.1.3",
+ "@web/dev-server-core": "^0.3.8",
+ "@web/dev-server-rollup": "^0.3.2",
+ "camelcase": "^6.2.0",
+ "chalk": "^4.1.0",
+ "command-line-args": "^5.1.1",
+ "command-line-usage": "^6.1.1",
+ "debounce": "^1.2.0",
+ "deepmerge": "^4.2.2",
+ "ip": "^1.1.5",
+ "open": "^8.0.2",
+ "portfinder": "^1.0.28"
+ },
+ "bin": {
+ "wds": "dist/bin.js",
+ "web-dev-server": "dist/bin.js"
+ },
+ "engines": {
+ "node": ">=10.0.0"
}
},
- "error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "requires": {
- "is-arrayish": "^0.2.1"
+ "node_modules/@web/dev-server-core": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.3.8.tgz",
+ "integrity": "sha512-Qbo2ZVUopmjEP8ZDc8v0N/nTW9LbmycuC+uoTwp62PfHfqSN9RgXGzuGMmp5sBPRXi/E1oi1GQ+lMoDWXLjKYA==",
+ "dev": true,
+ "dependencies": {
+ "@types/koa": "^2.11.6",
+ "@types/ws": "^7.4.0",
+ "@web/parse5-utils": "^1.2.0",
+ "chokidar": "^3.4.3",
+ "clone": "^2.1.2",
+ "es-module-lexer": "^0.4.0",
+ "get-stream": "^6.0.0",
+ "is-stream": "^2.0.0",
+ "isbinaryfile": "^4.0.6",
+ "koa": "^2.13.0",
+ "koa-etag": "^4.0.0",
+ "koa-send": "^5.0.1",
+ "koa-static": "^5.0.0",
+ "lru-cache": "^6.0.0",
+ "mime-types": "^2.1.27",
+ "parse5": "^6.0.1",
+ "picomatch": "^2.2.2",
+ "ws": "^7.4.2"
},
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/@web/dev-server-core/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
"dependencies": {
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
- }
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "error-stack-parser": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.2.tgz",
- "integrity": "sha512-E1fPutRDdIj/hohG0UpT5mayXNCxXP9d+snxFsPU9X0XgccOumKraa3juDMwTUyi7+Bu5+mCGagjg4IYeNbOdw==",
- "requires": {
- "stackframe": "^1.0.4"
+ "node_modules/@web/dev-server-core/node_modules/parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+ "dev": true
+ },
+ "node_modules/@web/dev-server-core/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
+ "node_modules/@web/dev-server-rollup": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.3.2.tgz",
+ "integrity": "sha512-c5ROnMAUrOJPXTQFFXZiOy0ta4Y5yXLA2QkD71htNhIcqeOI4yx6ueDtuFqovRxVI0qcWGk46UdfZ0UGT/9MIg==",
+ "dev": true,
+ "dependencies": {
+ "@web/dev-server-core": "^0.3.3",
+ "chalk": "^4.1.0",
+ "parse5": "^6.0.1",
+ "rollup": "^2.35.1",
+ "whatwg-url": "^8.4.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
}
},
- "es5-ext": {
- "version": "0.10.49",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.49.tgz",
- "integrity": "sha512-3NMEhi57E31qdzmYp2jwRArIUsj1HI/RxbQ4bgnSB+AIKIxsAmTiK83bYMifIcpWvEc3P1X30DhUKOqEtF/kvg==",
- "requires": {
- "es6-iterator": "~2.0.3",
- "es6-symbol": "~3.1.1",
- "next-tick": "^1.0.0"
+ "node_modules/@web/dev-server-rollup/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
- "requires": {
- "d": "1",
- "es5-ext": "^0.10.35",
- "es6-symbol": "^3.1.1"
+ "node_modules/@web/dev-server-rollup/node_modules/chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "es6-map": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
- "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
- "requires": {
- "d": "1",
- "es5-ext": "~0.10.14",
- "es6-iterator": "~2.0.1",
- "es6-set": "~0.1.5",
- "es6-symbol": "~3.1.1",
- "event-emitter": "~0.3.5"
+ "node_modules/@web/dev-server-rollup/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
}
},
- "es6-promise": {
- "version": "4.2.6",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.6.tgz",
- "integrity": "sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q=="
+ "node_modules/@web/dev-server-rollup/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
},
- "es6-promisify": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
- "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
+ "node_modules/@web/dev-server-rollup/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
- "requires": {
- "es6-promise": "^4.0.3"
+ "engines": {
+ "node": ">=8"
}
},
- "es6-set": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
- "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
- "requires": {
- "d": "1",
- "es5-ext": "~0.10.14",
- "es6-iterator": "~2.0.1",
- "es6-symbol": "3.1.1",
- "event-emitter": "~0.3.5"
- }
+ "node_modules/@web/dev-server-rollup/node_modules/parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+ "dev": true
},
- "es6-symbol": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
- "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
- "requires": {
- "d": "1",
- "es5-ext": "~0.10.14"
+ "node_modules/@web/dev-server-rollup/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "es6-weak-map": {
+ "node_modules/@web/dev-server-rollup/node_modules/tr46": {
"version": "2.0.2",
- "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
- "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
- "requires": {
- "d": "1",
- "es5-ext": "^0.10.14",
- "es6-iterator": "^2.0.1",
- "es6-symbol": "^3.1.1"
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz",
+ "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==",
+ "dev": true,
+ "dependencies": {
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ "node_modules/@web/dev-server-rollup/node_modules/webidl-conversions": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.4"
+ }
},
- "escodegen": {
- "version": "1.11.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz",
- "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==",
+ "node_modules/@web/dev-server-rollup/node_modules/whatwg-url": {
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.5.0.tgz",
+ "integrity": "sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg==",
"dev": true,
- "requires": {
- "esprima": "^3.1.3",
- "estraverse": "^4.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1",
- "source-map": "~0.6.1"
+ "dependencies": {
+ "lodash": "^4.7.0",
+ "tr46": "^2.0.2",
+ "webidl-conversions": "^6.1.0"
},
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@web/dev-server/node_modules/@babel/code-frame": {
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
+ "dev": true,
"dependencies": {
- "esprima": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
- "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
- "dev": true
- }
+ "@babel/highlight": "^7.10.4"
}
},
- "escope": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
- "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
- "requires": {
- "es6-map": "^0.1.3",
- "es6-weak-map": "^2.0.1",
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
+ "node_modules/@web/dev-server/node_modules/@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
}
},
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
+ "node_modules/@web/dev-server/node_modules/@babel/highlight/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
},
- "esrecurse": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
- "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
- "requires": {
- "estraverse": "^4.1.0"
+ "node_modules/@web/dev-server/node_modules/@rollup/plugin-node-resolve": {
+ "version": "11.2.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz",
+ "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^3.1.0",
+ "@types/resolve": "1.17.1",
+ "builtin-modules": "^3.1.0",
+ "deepmerge": "^4.2.2",
+ "is-module": "^1.0.0",
+ "resolve": "^1.19.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
}
},
- "estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM="
- },
- "esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
- },
- "etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
- },
- "event-emitter": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
- "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
- "requires": {
- "d": "1",
- "es5-ext": "~0.10.14"
+ "node_modules/@web/dev-server/node_modules/@types/resolve": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
+ "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
}
},
- "events": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
- "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA=="
- },
- "evp_bytestokey": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
- "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
- "requires": {
- "md5.js": "^1.3.4",
- "safe-buffer": "^5.1.1"
+ "node_modules/@web/dev-server/node_modules/array-back": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.1.tgz",
+ "integrity": "sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
}
},
- "execa": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
- "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
- "requires": {
- "cross-spawn": "^5.0.1",
- "get-stream": "^3.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
+ "node_modules/@web/dev-server/node_modules/camelcase": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
+ "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
}
},
- "execall": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz",
- "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=",
+ "node_modules/@web/dev-server/node_modules/chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"dev": true,
- "requires": {
- "clone-regexp": "^1.0.0"
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
- "requires": {
- "debug": "^2.3.3",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "posix-character-classes": "^0.1.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
+ "node_modules/@web/dev-server/node_modules/chalk/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "express": {
- "version": "4.16.4",
- "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz",
- "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==",
- "requires": {
- "accepts": "~1.3.5",
- "array-flatten": "1.1.1",
- "body-parser": "1.18.3",
- "content-disposition": "0.5.2",
- "content-type": "~1.0.4",
- "cookie": "0.3.1",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "1.1.1",
- "fresh": "0.5.2",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.2",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.4",
- "qs": "6.5.2",
- "range-parser": "~1.2.0",
- "safe-buffer": "5.1.2",
- "send": "0.16.2",
- "serve-static": "1.13.2",
- "setprototypeof": "1.1.0",
- "statuses": "~1.4.0",
- "type-is": "~1.6.16",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
+ "node_modules/@web/dev-server/node_modules/chalk/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
},
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@web/dev-server/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "finalhandler": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
- "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
- "requires": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "~2.3.0",
- "parseurl": "~1.3.2",
- "statuses": "~1.4.0",
- "unpipe": "~1.0.0"
- }
- },
- "statuses": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
- "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
- }
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
}
},
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "node_modules/@web/dev-server/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- },
+ "node_modules/@web/dev-server/node_modules/command-line-usage": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.1.tgz",
+ "integrity": "sha512-F59pEuAR9o1SF/bD0dQBDluhpT4jJQNWUHEuVBqpDmCUo6gPjCi+m9fCWnWZVR/oG6cMTUms4h+3NPl74wGXvA==",
+ "dev": true,
"dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
+ "array-back": "^4.0.1",
+ "chalk": "^2.4.2",
+ "table-layout": "^1.0.1",
+ "typical": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
}
},
- "external-editor": {
- "version": "2.2.0",
- "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
- "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
- "requires": {
- "chardet": "^0.4.0",
- "iconv-lite": "^0.4.17",
- "tmp": "^0.0.33"
+ "node_modules/@web/dev-server/node_modules/command-line-usage/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
- "requires": {
- "array-unique": "^0.3.2",
- "define-property": "^1.0.0",
- "expand-brackets": "^2.1.4",
- "extend-shallow": "^2.0.1",
- "fragment-cache": "^0.2.1",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
+ "node_modules/@web/dev-server/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
"dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
+ "ms": "^2.1.1"
}
},
- "extract-text-webpack-plugin": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz",
- "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==",
- "requires": {
- "async": "^2.4.1",
- "loader-utils": "^1.1.0",
- "schema-utils": "^0.3.0",
- "webpack-sources": "^1.0.1"
+ "node_modules/@web/dev-server/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
}
},
- "extract-zip": {
- "version": "1.6.7",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",
- "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=",
+ "node_modules/@web/dev-server/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/@web/dev-server/node_modules/portfinder": {
+ "version": "1.0.28",
+ "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
+ "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==",
"dev": true,
- "requires": {
- "concat-stream": "1.6.2",
- "debug": "2.6.9",
- "mkdirp": "0.5.1",
- "yauzl": "2.4.1"
- },
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "fd-slicer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
- "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
- "dev": true,
- "requires": {
- "pend": "~1.2.0"
- }
- },
- "yauzl": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
- "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
- "dev": true,
- "requires": {
- "fd-slicer": "~1.0.1"
- }
- }
+ "async": "^2.6.2",
+ "debug": "^3.1.1",
+ "mkdirp": "^0.5.5"
+ },
+ "engines": {
+ "node": ">= 0.12.0"
}
},
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true
- },
- "fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
+ "node_modules/@web/dev-server/node_modules/typical": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz",
+ "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "fast-glob": {
- "version": "2.2.6",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.6.tgz",
- "integrity": "sha512-0BvMaZc1k9F+MeWWMe8pL6YltFzZYcJsYU7D4JyDA6PAczaXvxqQQ/z+mDF7/4Mw01DeUc+i3CTKajnkANkV4w==",
+ "node_modules/@web/parse5-utils": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@web/parse5-utils/-/parse5-utils-1.2.2.tgz",
+ "integrity": "sha512-B68DoJ5qF8Cu3o7nDA2RQTCf9bslVz2b0WHTk3qir5YCbWfhnPEGhDOedOjbE8xDiHqgzI1zXQsJ2+655aluLA==",
"dev": true,
- "requires": {
- "@mrmlnc/readdir-enhanced": "^2.2.1",
- "@nodelib/fs.stat": "^1.1.2",
- "glob-parent": "^3.1.0",
- "is-glob": "^4.0.0",
- "merge2": "^1.2.3",
- "micromatch": "^3.1.10"
+ "dependencies": {
+ "@types/parse5": "^5.0.3",
+ "parse5": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=10.0.0"
}
},
- "fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
+ "node_modules/@web/parse5-utils/node_modules/parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+ "dev": true
},
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "node_modules/@webcomponents/shadycss": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/@webcomponents/shadycss/-/shadycss-1.10.2.tgz",
+ "integrity": "sha512-9Iseu8bRtecb0klvv+WXZOVZatsRkbaH7M97Z+f+Pt909R4lDfgUODAnra23DOZTpeMTAkVpf4m/FZztN7Ox1A==",
"dev": true
},
- "fastparse": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
- "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ=="
+ "node_modules/@webcomponents/webcomponentsjs": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@webcomponents/webcomponentsjs/-/webcomponentsjs-2.5.0.tgz",
+ "integrity": "sha512-C0l51MWQZ9kLzcxOZtniOMohpIFdCLZum7/TEHv3XWFc1Fvt5HCpbSX84x8ltka/JuNKcuiDnxXFkiB2gaePcg==",
+ "dev": true
},
- "fd-slicer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
+ "node_modules/abort-controller": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
+ "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
"dev": true,
- "requires": {
- "pend": "~1.2.0"
+ "dependencies": {
+ "event-target-shim": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=6.5"
}
},
- "figgy-pudding": {
- "version": "3.5.1",
- "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
- "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==",
- "dev": true
- },
- "figures": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
- "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
- "requires": {
- "escape-string-regexp": "^1.0.5"
+ "node_modules/accepts": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
+ "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
+ "dependencies": {
+ "mime-types": "~2.1.24",
+ "negotiator": "0.6.2"
+ },
+ "engines": {
+ "node": ">= 0.6"
}
},
- "file-entry-cache": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-4.0.0.tgz",
- "integrity": "sha512-AVSwsnbV8vH/UVbvgEhf3saVQXORNv0ZzSkvkhQIaia5Tia+JhGTaa/ePUSVoPHQyGayQNmYfkzFi3WZV5zcpA==",
+ "node_modules/acorn": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
+ "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
"dev": true,
- "requires": {
- "flat-cache": "^2.0.1"
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
}
},
- "file-loader": {
- "version": "1.1.11",
- "resolved": "http://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz",
- "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==",
- "requires": {
- "loader-utils": "^1.0.2",
- "schema-utils": "^0.4.5"
+ "node_modules/acorn-jsx": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz",
+ "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
+ "dev": true
+ },
+ "node_modules/agent-base": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
+ "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
+ "dev": true,
+ "dependencies": {
+ "es6-promisify": "^5.0.0"
},
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
"dependencies": {
- "schema-utils": {
- "version": "0.4.7",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
- "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
- "requires": {
- "ajv": "^6.1.0",
- "ajv-keywords": "^3.1.0"
- }
- }
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
}
},
- "file-uri-to-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
- "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
- "dev": true
+ "node_modules/ansi-colors": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
},
- "filesize": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz",
- "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg=="
+ "node_modules/ansi-regex": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
- },
+ "node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
"dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "finalhandler": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",
- "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",
- "requires": {
- "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"
+ "node_modules/any-promise": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+ "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=",
+ "dev": true
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
},
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- }
+ "sprintf-js": "~1.0.2"
}
},
- "find-cache-dir": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
- "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
- "requires": {
- "commondir": "^1.0.1",
- "make-dir": "^1.0.0",
- "pkg-dir": "^2.0.0"
+ "node_modules/arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "requires": {
- "locate-path": "^2.0.0"
+ "node_modules/arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "flat-cache": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
- "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
+ "node_modules/arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
"dev": true,
- "requires": {
- "flatted": "^2.0.0",
- "rimraf": "2.6.3",
- "write": "1.0.3"
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/array-back": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
+ "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
+ },
+ "node_modules/array-includes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz",
+ "integrity": "sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.1",
+ "get-intrinsic": "^1.0.1",
+ "is-string": "^1.0.5"
},
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/array.prototype.flat": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz",
+ "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==",
+ "dev": true,
"dependencies": {
- "rimraf": {
- "version": "2.6.3",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
- "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- }
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
- "flatted": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz",
- "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg=="
+ "node_modules/arrify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
+ "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "flatten": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz",
- "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I="
+ "node_modules/assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "flush-write-stream": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
- "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
- "requires": {
- "inherits": "^2.0.3",
- "readable-stream": "^2.3.6"
+ "node_modules/astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
}
},
- "follow-redirects": {
- "version": "1.5.9",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.9.tgz",
- "integrity": "sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==",
- "requires": {
- "debug": "=3.1.0"
- },
+ "node_modules/async": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
+ "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
+ "dev": true,
"dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "requires": {
- "ms": "2.0.0"
- }
- }
+ "lodash": "^4.17.14"
}
},
- "for-in": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
+ "node_modules/async-retry": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.2.3.tgz",
+ "integrity": "sha512-tfDb02Th6CE6pJUF2gjW5ZVjsgwlucVXOEQMvEX9JgSJMs9gAX+Nz3xRuJBKuUYjTSYORqvDBORdAQ3LU59g7Q==",
+ "dev": true,
+ "dependencies": {
+ "retry": "0.12.0"
+ }
},
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
},
- "form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "node_modules/at-least-node": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
"dev": true,
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
+ "engines": {
+ "node": ">= 4.0.0"
}
},
- "forwarded": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
- "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
- },
- "fragment-cache": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
- "requires": {
- "map-cache": "^0.2.2"
+ "node_modules/atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true,
+ "bin": {
+ "atob": "bin/atob.js"
+ },
+ "engines": {
+ "node": ">= 4.5.0"
}
},
- "fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
+ "node_modules/atob-lite": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz",
+ "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=",
+ "dev": true
},
- "friendly-errors-webpack-plugin": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0.tgz",
- "integrity": "sha512-K27M3VK30wVoOarP651zDmb93R9zF28usW4ocaK3mfQeIEI5BPht/EzZs5E8QLLwbLRJQMwscAjDxYPb1FuNiw==",
- "requires": {
- "chalk": "^1.1.3",
- "error-stack-parser": "^2.0.0",
- "string-width": "^2.0.0"
+ "node_modules/babel-extract-comments": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz",
+ "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==",
+ "dev": true,
+ "dependencies": {
+ "babylon": "^6.18.0"
},
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/babel-plugin-syntax-object-rest-spread": {
+ "version": "6.13.0",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+ "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
+ "dev": true
+ },
+ "node_modules/babel-plugin-transform-object-rest-spread": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
+ "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
+ "dev": true,
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
+ "babel-plugin-syntax-object-rest-spread": "^6.8.0",
+ "babel-runtime": "^6.26.0"
}
},
- "from2": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
- "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
- "requires": {
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0"
+ "node_modules/babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "dependencies": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
}
},
- "fs-constants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
+ "node_modules/babel-runtime/node_modules/regenerator-runtime": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
"dev": true
},
- "fs-extra": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz",
- "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==",
- "requires": {
- "graceful-fs": "^4.1.2",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
- }
- },
- "fs-write-stream-atomic": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
- "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
- "requires": {
- "graceful-fs": "^4.1.2",
- "iferr": "^0.1.5",
- "imurmurhash": "^0.1.4",
- "readable-stream": "1 || 2"
+ "node_modules/babylon": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
+ "dev": true,
+ "bin": {
+ "babylon": "bin/babylon.js"
}
},
- "fs.realpath": {
+ "node_modules/balanced-match": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
},
- "fsevents": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
- "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
- "optional": true,
- "requires": {
- "nan": "^2.9.2",
- "node-pre-gyp": "^0.10.0"
- },
+ "node_modules/base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "dev": true,
"dependencies": {
- "abbrev": {
- "version": "1.1.1",
- "bundled": true,
- "optional": true
- },
- "ansi-regex": {
- "version": "2.1.1",
- "bundled": true,
- "optional": true
- },
- "aproba": {
- "version": "1.2.0",
- "bundled": true,
- "optional": true
- },
- "are-we-there-yet": {
- "version": "1.1.4",
- "bundled": true,
- "optional": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "optional": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "chownr": {
- "version": "1.0.1",
- "bundled": true,
- "optional": true
- },
- "code-point-at": {
- "version": "1.1.0",
- "bundled": true,
- "optional": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true,
- "optional": true
- },
- "console-control-strings": {
- "version": "1.1.0",
- "bundled": true,
- "optional": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "debug": {
- "version": "2.6.9",
- "bundled": true,
- "optional": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "deep-extend": {
- "version": "0.5.1",
- "bundled": true,
- "optional": true
- },
- "delegates": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "detect-libc": {
- "version": "1.0.3",
- "bundled": true,
- "optional": true
- },
- "fs-minipass": {
- "version": "1.2.5",
- "bundled": true,
- "optional": true,
- "requires": {
- "minipass": "^2.2.1"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "gauge": {
- "version": "2.7.4",
- "bundled": true,
- "optional": true,
- "requires": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- }
- },
- "glob": {
- "version": "7.1.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "has-unicode": {
- "version": "2.0.1",
- "bundled": true,
- "optional": true
- },
- "iconv-lite": {
- "version": "0.4.21",
- "bundled": true,
- "optional": true,
- "requires": {
- "safer-buffer": "^2.1.0"
- }
- },
- "ignore-walk": {
- "version": "3.0.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "minimatch": "^3.0.4"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "bundled": true,
- "optional": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "bundled": true,
- "optional": true
- },
- "ini": {
- "version": "1.3.5",
- "bundled": true,
- "optional": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "isarray": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "minimatch": {
- "version": "3.0.4",
- "bundled": true,
- "optional": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "0.0.8",
- "bundled": true,
- "optional": true
- },
- "minipass": {
- "version": "2.2.4",
- "bundled": true,
- "optional": true,
- "requires": {
- "safe-buffer": "^5.1.1",
- "yallist": "^3.0.0"
- }
- },
- "minizlib": {
- "version": "1.1.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "minipass": "^2.2.1"
- }
- },
- "mkdirp": {
- "version": "0.5.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "minimist": "0.0.8"
- }
- },
- "ms": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- },
- "needle": {
- "version": "2.2.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "debug": "^2.1.2",
- "iconv-lite": "^0.4.4",
- "sax": "^1.2.4"
- }
- },
- "node-pre-gyp": {
- "version": "0.10.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "detect-libc": "^1.0.2",
- "mkdirp": "^0.5.1",
- "needle": "^2.2.0",
- "nopt": "^4.0.1",
- "npm-packlist": "^1.1.6",
- "npmlog": "^4.0.2",
- "rc": "^1.1.7",
- "rimraf": "^2.6.1",
- "semver": "^5.3.0",
- "tar": "^4"
- }
- },
- "nopt": {
- "version": "4.0.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "abbrev": "1",
- "osenv": "^0.1.4"
- }
- },
- "npm-bundled": {
- "version": "1.0.3",
- "bundled": true,
- "optional": true
- },
- "npm-packlist": {
- "version": "1.1.10",
- "bundled": true,
- "optional": true,
- "requires": {
- "ignore-walk": "^3.0.1",
- "npm-bundled": "^1.0.1"
- }
- },
- "npmlog": {
- "version": "4.1.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "bundled": true,
- "optional": true
- },
- "object-assign": {
- "version": "4.1.1",
- "bundled": true,
- "optional": true
- },
- "once": {
- "version": "1.4.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "os-homedir": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "osenv": {
- "version": "0.1.5",
- "bundled": true,
- "optional": true,
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true,
- "optional": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- },
- "rc": {
- "version": "1.2.7",
- "bundled": true,
- "optional": true,
- "requires": {
- "deep-extend": "^0.5.1",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "bundled": true,
- "optional": true
- }
- }
- },
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
- "optional": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "rimraf": {
- "version": "2.6.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "glob": "^7.0.5"
- }
- },
- "safe-buffer": {
- "version": "5.1.1",
- "bundled": true,
- "optional": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "bundled": true,
- "optional": true
- },
- "sax": {
- "version": "1.2.4",
- "bundled": true,
- "optional": true
- },
- "semver": {
- "version": "5.5.0",
- "bundled": true,
- "optional": true
- },
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "bundled": true,
- "optional": true
- },
- "string-width": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "bundled": true,
- "optional": true
- },
- "tar": {
- "version": "4.4.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "chownr": "^1.0.1",
- "fs-minipass": "^1.2.5",
- "minipass": "^2.2.4",
- "minizlib": "^1.1.0",
- "mkdirp": "^0.5.0",
- "safe-buffer": "^5.1.1",
- "yallist": "^3.0.2"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "wide-align": {
- "version": "1.1.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "string-width": "^1.0.2"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "yallist": {
- "version": "3.0.2",
- "bundled": true,
- "optional": true
- }
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "fstream": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
- "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
+ "node_modules/base/node_modules/define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "inherits": "~2.0.0",
- "mkdirp": ">=0.5 0",
- "rimraf": "2"
+ "dependencies": {
+ "is-descriptor": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "ftp": {
- "version": "0.3.10",
- "resolved": "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz",
- "integrity": "sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0=",
+ "node_modules/base/node_modules/is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
- "requires": {
- "readable-stream": "1.1.x",
- "xregexp": "2.0.0"
- },
"dependencies": {
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- },
- "readable-stream": {
- "version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
- "dev": true
- }
+ "kind-of": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
- },
- "gauge": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
- "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "node_modules/base/node_modules/is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
- "requires": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- },
"dependencies": {
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- }
+ "kind-of": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "gaze": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
- "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
+ "node_modules/base/node_modules/is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
- "requires": {
- "globule": "^1.0.0"
+ "dependencies": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "get-caller-file": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
+ "node_modules/before-after-hook": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz",
+ "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==",
+ "dev": true
},
- "get-func-name": {
+ "node_modules/binary-extensions": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
- "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
- "dev": true
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
+ "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "get-stdin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
- "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+ "node_modules/bluebird": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-1.0.8.tgz",
+ "integrity": "sha1-hRx4JebM5Z5LQ93pXVdLiGdUY/w=",
"dev": true
},
- "get-stream": {
- "version": "3.0.0",
- "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
- },
- "get-uri": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-2.0.2.tgz",
- "integrity": "sha512-ZD325dMZOgerGqF/rF6vZXyFGTAay62svjQIT+X/oU2PtxYpFxvSkbsdi+oxIrsNxlZVd4y8wUDqkaExWTI/Cw==",
- "dev": true,
- "requires": {
- "data-uri-to-buffer": "1",
- "debug": "2",
- "extend": "3",
- "file-uri-to-path": "1",
- "ftp": "~0.3.10",
- "readable-stream": "2"
- },
+ "node_modules/body-parser": {
+ "version": "1.19.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
+ "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
+ "bytes": "3.1.0",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "http-errors": "1.7.2",
+ "iconv-lite": "0.4.24",
+ "on-finished": "~2.3.0",
+ "qs": "6.7.0",
+ "raw-body": "2.4.0",
+ "type-is": "~1.6.17"
+ },
+ "engines": {
+ "node": ">= 0.8"
}
},
- "get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
- },
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0"
+ "node_modules/body-parser/node_modules/http-errors": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
+ "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
+ "dependencies": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.1",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
}
},
- "glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
+ "node_modules/body-parser/node_modules/inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
- "glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
- "requires": {
- "is-glob": "^3.1.0",
- "path-dirname": "^1.0.0"
- },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
"dependencies": {
- "is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "requires": {
- "is-extglob": "^2.1.0"
- }
- }
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
}
},
- "glob-to-regexp": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
- "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
- "dev": true
- },
- "global-modules": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
- "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
+ "node_modules/braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
"dev": true,
- "requires": {
- "global-prefix": "^3.0.0"
+ "dependencies": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "global-prefix": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
- "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
+ "node_modules/braces/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
- "requires": {
- "ini": "^1.3.5",
- "kind-of": "^6.0.2",
- "which": "^1.3.1"
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "globals": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ=="
+ "node_modules/browser-fs-access": {
+ "version": "0.16.2",
+ "resolved": "https://registry.npmjs.org/browser-fs-access/-/browser-fs-access-0.16.2.tgz",
+ "integrity": "sha512-wuboS/Vmm85dYIvaY/oIVboNFr3YI1bV+PF19t6gtDUcjaXN7yyroJ/oKdkXJZp6UeQPdWP/tgKGmFbQkfVrYA=="
},
- "globby": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-9.1.0.tgz",
- "integrity": "sha512-VtYjhHr7ncls724Of5W6Kaahz0ag7dB4G62/2HsN+xEKG6SrPzM1AJMerGxQTwJGnN9reeyxdvXbuZYpfssCvg==",
+ "node_modules/browserslist": {
+ "version": "4.16.3",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz",
+ "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==",
"dev": true,
- "requires": {
- "@types/glob": "^7.1.1",
- "array-union": "^1.0.2",
- "dir-glob": "^2.2.1",
- "fast-glob": "^2.2.6",
- "glob": "^7.1.3",
- "ignore": "^4.0.3",
- "pify": "^4.0.1",
- "slash": "^2.0.0"
- },
"dependencies": {
- "ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
- "dev": true
- },
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true
- },
- "slash": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
- "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
- "dev": true
- }
+ "caniuse-lite": "^1.0.30001181",
+ "colorette": "^1.2.1",
+ "electron-to-chromium": "^1.3.649",
+ "escalade": "^3.1.1",
+ "node-releases": "^1.1.70"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
}
},
- "globjoin": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
- "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=",
+ "node_modules/btoa-lite": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz",
+ "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=",
"dev": true
},
- "globule": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz",
- "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==",
+ "node_modules/buffer-equal-constant-time": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
+ "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=",
+ "dev": true
+ },
+ "node_modules/buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+ "dev": true
+ },
+ "node_modules/builtin-modules": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz",
+ "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==",
"dev": true,
- "requires": {
- "glob": "~7.1.1",
- "lodash": "~4.17.12",
- "minimatch": "~3.0.2"
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/bytes": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
+ "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
+ "engines": {
+ "node": ">= 0.8"
}
},
- "gonzales-pe": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.2.4.tgz",
- "integrity": "sha512-v0Ts/8IsSbh9n1OJRnSfa7Nlxi4AkXIsWB6vPept8FDbL4bXn3FNuxjYtO/nmBGu7GDkL9MFeGebeSu6l55EPQ==",
+ "node_modules/cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
"dev": true,
- "requires": {
- "minimist": "1.1.x"
- },
"dependencies": {
- "minimist": {
- "version": "1.1.3",
- "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz",
- "integrity": "sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag=",
- "dev": true
- }
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "good-listener": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
- "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=",
- "requires": {
- "delegate": "^3.1.2"
+ "node_modules/cache-content-type": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz",
+ "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==",
+ "dev": true,
+ "dependencies": {
+ "mime-types": "^2.1.18",
+ "ylru": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
}
},
- "graceful-fs": {
- "version": "4.1.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
- "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
+ "node_modules/call-bind": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz",
+ "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.0"
+ }
},
- "graceful-readlink": {
+ "node_modules/call-me-maybe": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
- "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
- "dev": true
- },
- "growl": {
- "version": "1.10.5",
- "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
- "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
+ "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
+ "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
"dev": true
},
- "gzip-size": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz",
- "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=",
- "requires": {
- "duplexer": "^0.1.1",
- "pify": "^3.0.0"
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
}
},
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true
- },
- "har-validator": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz",
- "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==",
+ "node_modules/camel-case": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
+ "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
"dev": true,
- "requires": {
- "ajv": "^5.3.0",
- "har-schema": "^2.0.0"
- },
"dependencies": {
- "ajv": {
- "version": "5.5.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
- "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
- "dev": true,
- "requires": {
- "co": "^4.6.0",
- "fast-deep-equal": "^1.0.0",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.3.0"
- }
- },
- "fast-deep-equal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
- "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
- "dev": true
- },
- "json-schema-traverse": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
- "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
- "dev": true
- }
+ "pascal-case": "^3.1.2",
+ "tslib": "^2.0.3"
}
},
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "requires": {
- "function-bind": "^1.1.1"
- }
+ "node_modules/camel-case/node_modules/tslib": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
+ "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
+ "dev": true
},
- "has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "requires": {
- "ansi-regex": "^2.0.0"
+ "node_modules/camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
}
},
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
- },
- "has-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
- "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q="
- },
- "has-unicode": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001207",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001207.tgz",
+ "integrity": "sha512-UPQZdmAsyp2qfCTiMU/zqGSWOYaY9F9LL61V8f+8MrubsaDGpaHD9HRV/EWZGULZn0Hxu48SKzI5DgFwTvHuYw==",
"dev": true
},
- "has-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
- "requires": {
- "get-value": "^2.0.6",
- "has-values": "^1.0.0",
- "isobject": "^3.0.0"
+ "node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "has-values": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
- "requires": {
- "is-number": "^3.0.0",
- "kind-of": "^4.0.0"
- },
+ "node_modules/chokidar": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
+ "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
+ "dev": true,
"dependencies": {
- "kind-of": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
+ "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"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.1"
}
},
- "hash-base": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
- "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
+ "node_modules/chokidar/node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "hash-sum": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz",
- "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ="
- },
- "hash.js": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
- "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
- "requires": {
- "inherits": "^2.0.3",
- "minimalistic-assert": "^1.0.1"
+ "node_modules/chokidar/node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "he": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
- "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0="
- },
- "highlight.js": {
- "version": "9.15.6",
- "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.15.6.tgz",
- "integrity": "sha512-zozTAWM1D6sozHo8kqhfYgsac+B+q0PmsjXeyDrYIHHcBN0zTVT66+s2GW1GZv7DbyaROdLXKdabwS/WqPyIdQ=="
- },
- "hmac-drbg": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
- "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
- "requires": {
- "hash.js": "^1.0.3",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.1"
+ "node_modules/chokidar/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
}
},
- "hoek": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/hoek/-/hoek-5.0.4.tgz",
- "integrity": "sha512-Alr4ZQgoMlnere5FZJsIyfIjORBqZll5POhDsF4q64dPuJR6rNxXdDxtHSQq8OXRurhmx+PWYEE8bXRROY8h0w==",
- "dev": true
- },
- "home-or-tmp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
- "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
- "requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.1"
+ "node_modules/chokidar/node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
}
},
- "hosted-git-info": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
- "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w=="
- },
- "html-comment-regex": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
- "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ=="
- },
- "html-entities": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
- "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8="
- },
- "html-minifier": {
- "version": "3.5.21",
- "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz",
- "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==",
- "requires": {
- "camel-case": "3.0.x",
- "clean-css": "4.2.x",
- "commander": "2.17.x",
- "he": "1.2.x",
- "param-case": "2.1.x",
- "relateurl": "0.2.x",
- "uglify-js": "3.4.x"
- },
+ "node_modules/chokidar/node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
"dependencies": {
- "commander": {
- "version": "2.17.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
- "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg=="
- },
- "he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
- }
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
}
},
- "html-tags": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz",
- "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos="
- },
- "html-webpack-plugin": {
- "version": "2.30.1",
- "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz",
- "integrity": "sha1-f5xCG36pHsRg9WUn1430hO51N9U=",
- "requires": {
- "bluebird": "^3.4.7",
- "html-minifier": "^3.2.3",
- "loader-utils": "^0.2.16",
- "lodash": "^4.17.3",
- "pretty-error": "^2.0.2",
- "toposort": "^1.0.0"
- },
+ "node_modules/class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "dev": true,
"dependencies": {
- "loader-utils": {
- "version": "0.2.17",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
- "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
- "requires": {
- "big.js": "^3.1.3",
- "emojis-list": "^2.0.0",
- "json5": "^0.5.0",
- "object-assign": "^4.0.1"
- }
- }
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "htmlparser2": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
- "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
- "requires": {
- "domelementtype": "^1.3.1",
- "domhandler": "^2.3.0",
- "domutils": "^1.5.1",
- "entities": "^1.1.1",
- "inherits": "^2.0.1",
- "readable-stream": "^3.1.1"
- },
+ "node_modules/class-utils/node_modules/define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
"dependencies": {
- "domelementtype": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
- "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
- },
- "readable-stream": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.2.0.tgz",
- "integrity": "sha512-RV20kLjdmpZuTF1INEb9IA3L68Nmi+Ri7ppZqo78wj//Pn62fCoJyV9zalccNzDD/OuJpMG4f+pfMl8+L6QdGw==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "http-errors": {
- "version": "1.6.3",
- "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
- "requires": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": ">= 1.4.0 < 2"
- },
+ "node_modules/clean-css": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
+ "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==",
+ "dev": true,
"dependencies": {
- "statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
- }
+ "source-map": "~0.6.0"
+ },
+ "engines": {
+ "node": ">= 4.0"
}
},
- "http-proxy-agent": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-1.0.0.tgz",
- "integrity": "sha1-zBzjjkU7+YSg93AtLdWcc9CBKEo=",
+ "node_modules/clean-css/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
"dev": true,
- "requires": {
- "agent-base": "2",
- "debug": "2",
- "extend": "3"
- },
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
}
},
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "node_modules/clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
"dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
+ "engines": {
+ "node": ">=0.8"
}
},
- "https-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
- "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
+ "node_modules/co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "dev": true,
+ "engines": {
+ "iojs": ">= 1.0.0",
+ "node": ">= 0.12.0"
+ }
},
- "https-proxy-agent": {
+ "node_modules/collection-visit": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz",
- "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
"dev": true,
- "requires": {
- "agent-base": "2",
- "debug": "2",
- "extend": "3"
- },
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- }
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
+ "node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "1.1.3"
}
},
- "icss-replace-symbols": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
- "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0="
+ "node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
},
- "icss-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz",
- "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=",
- "requires": {
- "postcss": "^6.0.1"
+ "node_modules/colorette": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz",
+ "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==",
+ "dev": true
+ },
+ "node_modules/colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.1.90"
}
},
- "ieee754": {
- "version": "1.1.13",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
- "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dev": true,
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
},
- "iferr": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
- "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE="
+ "node_modules/command-line-args": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.1.1.tgz",
+ "integrity": "sha512-hL/eG8lrll1Qy1ezvkant+trihbGnaKaeEjj6Scyr3DN+RC7iQ5Rz84IeLERfAWDGo0HBSNAakczwgCilDXnWg==",
+ "dev": true,
+ "dependencies": {
+ "array-back": "^3.0.1",
+ "find-replace": "^3.0.0",
+ "lodash.camelcase": "^4.3.0",
+ "typical": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
},
- "ignore": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.0.6.tgz",
- "integrity": "sha512-/+hp3kUf/Csa32ktIaj0OlRqQxrgs30n62M90UBpNd9k+ENEch5S+hmbW3DtcJGz3sYFTh4F3A6fQ0q7KWsp4w==",
+ "node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
},
- "import-cwd": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
- "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
- "requires": {
- "import-from": "^2.1.0"
+ "node_modules/common-tags": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz",
+ "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0.0"
}
},
- "import-fresh": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
- "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
+ "node_modules/component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+ "dev": true
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "node_modules/concurrently": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.0.1.tgz",
+ "integrity": "sha512-YCF/Wf31a910hXu7eGN9/SyHKD/usw3Shw4IPYuqIsxxC39v92engYlIlOs/zXnBJtX/6aVuhgzfhZeGJkhU4w==",
"dev": true,
- "requires": {
- "caller-path": "^2.0.0",
- "resolve-from": "^3.0.0"
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "date-fns": "^2.16.1",
+ "lodash": "^4.17.20",
+ "read-pkg": "^5.2.0",
+ "rxjs": "^6.6.3",
+ "spawn-command": "^0.0.2-1",
+ "supports-color": "^8.1.0",
+ "tree-kill": "^1.2.2",
+ "yargs": "^16.2.0"
+ },
+ "bin": {
+ "concurrently": "bin/concurrently.js"
+ },
+ "engines": {
+ "node": ">=10.0.0"
}
},
- "import-from": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz",
- "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
- "requires": {
- "resolve-from": "^3.0.0"
+ "node_modules/concurrently/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "import-lazy": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-3.1.0.tgz",
- "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==",
- "dev": true
+ "node_modules/concurrently/node_modules/chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
},
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
+ "node_modules/concurrently/node_modules/chalk/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
},
- "in-publish": {
+ "node_modules/concurrently/node_modules/color-convert": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz",
- "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==",
- "dev": true
- },
- "indent-string": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
- "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
- "requires": {
- "repeating": "^2.0.0"
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
}
},
- "indexes-of": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
- "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc="
+ "node_modules/concurrently/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
},
- "indexof": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
- "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10="
+ "node_modules/concurrently/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
+ "node_modules/concurrently/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ "node_modules/contains-path": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
+ "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "ini": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
- "dev": true
- },
- "inquirer": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.0.6.tgz",
- "integrity": "sha1-4EqqnQW3o8ubD0B9BDdfBEcZA0c=",
- "requires": {
- "ansi-escapes": "^1.1.0",
- "chalk": "^1.0.0",
- "cli-cursor": "^2.1.0",
- "cli-width": "^2.0.0",
- "external-editor": "^2.0.1",
- "figures": "^2.0.0",
- "lodash": "^4.3.0",
- "mute-stream": "0.0.7",
- "run-async": "^2.2.0",
- "rx": "^4.1.0",
- "string-width": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "through": "^2.3.6"
- },
+ "node_modules/content-disposition": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
+ "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
+ "safe-buffer": "5.1.2"
+ },
+ "engines": {
+ "node": ">= 0.6"
}
},
- "interpret": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz",
- "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw=="
+ "node_modules/content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
},
- "invariant": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
- "requires": {
- "loose-envify": "^1.0.0"
+ "node_modules/convert-source-map": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
+ "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "~5.1.1"
}
},
- "invert-kv": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
+ "node_modules/cookie": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
+ "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
},
- "ip": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.0.1.tgz",
- "integrity": "sha1-x+NWzeoiWucbNtcPLnGpK6TkJZA=",
- "dev": true
+ "node_modules/cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
- "ipaddr.js": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz",
- "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4="
+ "node_modules/cookies": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz",
+ "integrity": "sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==",
+ "dev": true,
+ "dependencies": {
+ "depd": "~2.0.0",
+ "keygrip": "~1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
},
- "is-absolute-url": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
- "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY="
+ "node_modules/cookies/node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
},
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
+ "node_modules/copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "is-alphabetical": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.2.tgz",
- "integrity": "sha512-V0xN4BYezDHcBSKb1QHUFMlR4as/XEuCZBzMJUU4n7+Cbt33SmUnSol+pnXFvLxSHNq2CemUXNdaXV6Flg7+xg==",
+ "node_modules/core-js": {
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
+ "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==",
"dev": true
},
- "is-alphanumeric": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz",
- "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=",
+ "node_modules/core-js-bundle": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.10.0.tgz",
+ "integrity": "sha512-Rh+60FxNOd23Fm35vK/P3U1usjte2VNKBBW9bGZym5cV2Cc9pgviMQjSEOe8llIZAZjbr5NuL4GoeBK8DM3ewg==",
"dev": true
},
- "is-alphanumerical": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.2.tgz",
- "integrity": "sha512-pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg==",
+ "node_modules/core-js-compat": {
+ "version": "3.6.4",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.4.tgz",
+ "integrity": "sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA==",
"dev": true,
- "requires": {
- "is-alphabetical": "^1.0.0",
- "is-decimal": "^1.0.0"
+ "dependencies": {
+ "browserslist": "^4.8.3",
+ "semver": "7.0.0"
}
},
- "is-arrayish": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
- "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
+ "node_modules/core-js-compat/node_modules/semver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
},
- "is-binary-path": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
- "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
- "requires": {
- "binary-extensions": "^1.0.0"
+ "node_modules/cors": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+ "dependencies": {
+ "object-assign": "^4",
+ "vary": "^1"
+ },
+ "engines": {
+ "node": ">= 0.10"
}
},
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
+ "node_modules/crelt": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz",
+ "integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA=="
},
- "is-builtin-module": {
- "version": "1.0.0",
- "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
- "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
- "requires": {
- "builtin-modules": "^1.0.0"
+ "node_modules/cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "dependencies": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ },
+ "engines": {
+ "node": ">=4.8"
}
},
- "is-callable": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
- "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA=="
+ "node_modules/crypto-random-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
+ "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
},
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "requires": {
- "kind-of": "^3.0.2"
+ "node_modules/danger": {
+ "version": "10.6.0",
+ "resolved": "https://registry.npmjs.org/danger/-/danger-10.6.0.tgz",
+ "integrity": "sha512-cN9skuxtkgfnV4CQpF20L3Yt3VhMlBvvWAoh2QashDepI420gwcxoCRpxdCF7GP3aVJuh5LuI9ObrDvAxpnCFA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/polyfill": "^7.2.5",
+ "@octokit/rest": "^16.43.1",
+ "async-retry": "1.2.3",
+ "chalk": "^2.3.0",
+ "commander": "^2.18.0",
+ "debug": "^4.1.1",
+ "fast-json-patch": "^3.0.0-1",
+ "get-stdin": "^6.0.0",
+ "gitlab": "^10.0.1",
+ "http-proxy-agent": "^2.1.0",
+ "https-proxy-agent": "^2.2.1",
+ "hyperlinker": "^1.0.0",
+ "json5": "^2.1.0",
+ "jsonpointer": "^4.0.1",
+ "jsonwebtoken": "^8.4.0",
+ "lodash.find": "^4.6.0",
+ "lodash.includes": "^4.3.0",
+ "lodash.isobject": "^3.0.2",
+ "lodash.keys": "^4.0.8",
+ "lodash.mapvalues": "^4.6.0",
+ "lodash.memoize": "^4.1.2",
+ "memfs-or-file-map-to-github-branch": "^1.1.0",
+ "micromatch": "^3.1.10",
+ "node-cleanup": "^2.1.2",
+ "node-fetch": "2.6.1",
+ "override-require": "^1.1.1",
+ "p-limit": "^2.1.0",
+ "parse-diff": "^0.7.0",
+ "parse-git-config": "^2.0.3",
+ "parse-github-url": "^1.0.2",
+ "parse-link-header": "^1.0.1",
+ "pinpoint": "^1.1.0",
+ "prettyjson": "^1.2.1",
+ "readline-sync": "^1.4.9",
+ "require-from-string": "^2.0.2",
+ "supports-hyperlinks": "^1.0.1"
},
+ "bin": {
+ "danger": "distribution/commands/danger.js",
+ "danger-ci": "distribution/commands/danger-ci.js",
+ "danger-init": "distribution/commands/danger-init.js",
+ "danger-js": "distribution/commands/danger.js",
+ "danger-local": "distribution/commands/danger-local.js",
+ "danger-pr": "distribution/commands/danger-pr.js",
+ "danger-process": "distribution/commands/danger-process.js",
+ "danger-reset-status": "distribution/commands/danger-reset-status.js",
+ "danger-runner": "distribution/commands/danger-runner.js"
+ }
+ },
+ "node_modules/danger/node_modules/debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
"dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
}
},
- "is-decimal": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.2.tgz",
- "integrity": "sha512-TRzl7mOCchnhchN+f3ICUCzYvL9ul7R+TYOsZ8xia++knyZAJfv/uA1FvQXsAnYIl1T3B2X5E/J7Wb1QXiIBXg==",
+ "node_modules/danger/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
- "requires": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
- }
+ "node_modules/date-fns": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.19.0.tgz",
+ "integrity": "sha512-X3bf2iTPgCAQp9wvjOQytnf5vO5rESYRXlPIVcgSbtT5OTScPcsf9eZU+B/YIkKAtYr5WeCii58BgATrNitlWg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.11"
}
},
- "is-directory": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
- "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE="
+ "node_modules/debounce": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz",
+ "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==",
+ "dev": true
},
- "is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
+ "node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
},
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+ "node_modules/decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "is-finite": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
- "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
- "requires": {
- "number-is-nan": "^1.0.0"
+ "node_modules/decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10"
}
},
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
+ "node_modules/deep-equal": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
+ "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
+ "dev": true
},
- "is-glob": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
- "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
- "requires": {
- "is-extglob": "^2.1.1"
+ "node_modules/deep-extend": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0.0"
}
},
- "is-hexadecimal": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz",
- "integrity": "sha512-but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A==",
+ "node_modules/deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
"dev": true
},
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
+ "node_modules/deepmerge": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
+ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "is-obj": {
- "version": "1.0.1",
- "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
- "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
- "dev": true
+ "node_modules/define-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "is-plain-obj": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
- "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
+ "node_modules/define-properties": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "dev": true,
+ "dependencies": {
+ "object-keys": "^1.0.12"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
},
- "is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "requires": {
+ "node_modules/define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
+ "dependencies": {
+ "is-descriptor": "^1.0.2",
"isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "is-promise": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
- "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
+ "node_modules/define-property/node_modules/is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "is-regexp": {
+ "node_modules/define-property/node_modules/is-data-descriptor": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
- "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=",
- "dev": true
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+ "node_modules/define-property/node_modules/is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "dependencies": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "is-supported-regexp-flag": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz",
- "integrity": "sha512-3vcJecUUrpgCqc/ca0aWeNu64UGgxcvO60K/Fkr1N6RSvfGCTU60UKN68JDmKokgba0rFFJs12EnzOQa14ubKQ==",
+ "node_modules/defined": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz",
+ "integrity": "sha1-817qfXBekzuvE7LwOz+D2SFAOz4=",
"dev": true
},
- "is-svg": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz",
- "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=",
- "requires": {
- "html-comment-regex": "^1.1.0"
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
}
},
- "is-typedarray": {
+ "node_modules/delegates": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
- },
- "is-utf8": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
- "dev": true
- },
- "is-whitespace-character": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.2.tgz",
- "integrity": "sha512-SzM+T5GKUCtLhlHFKt2SDAX2RFzfS6joT91F2/WSi9LxgFdsnhfPK/UIA+JhRR2xuyLdrCys2PiFDrtn1fU5hQ==",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
"dev": true
},
- "is-windows": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
+ "node_modules/depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+ "engines": {
+ "node": ">= 0.6"
+ }
},
- "is-word-character": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.2.tgz",
- "integrity": "sha512-T3FlsX8rCHAH8e7RE7PfOPZVFQlcV3XRF9eOOBQ1uf70OxO7CjjSOjeImMPCADBdYWcStAbVbYvJ1m2D3tb+EA==",
+ "node_modules/deprecation": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
+ "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==",
"dev": true
},
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ "node_modules/destroy": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
},
- "isemail": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz",
- "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==",
+ "node_modules/didyoumean2": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/didyoumean2/-/didyoumean2-4.1.0.tgz",
+ "integrity": "sha512-qTBmfQoXvhKO75D/05C8m+fteQmn4U46FWYiLhXtZQInzitXLWY0EQ/2oKnpAz9g2lQWW8jYcLcT+hPJGT+kig==",
"dev": true,
- "requires": {
- "punycode": "2.x.x"
+ "dependencies": {
+ "@babel/runtime": "^7.10.2",
+ "leven": "^3.1.0",
+ "lodash.deburr": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=10.13"
}
},
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
},
- "isnumeric": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/isnumeric/-/isnumeric-0.2.0.tgz",
- "integrity": "sha1-ojR7o2DeGeM9D/1ZD933dVy/LmQ="
+ "node_modules/doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
},
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
+ "node_modules/dot-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
+ "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
+ "dev": true,
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
},
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "node_modules/dot-case/node_modules/tslib": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
+ "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
"dev": true
},
- "istanbul-lib-coverage": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
- "integrity": "sha512-dKWuzRGCs4G+67VfW9pBFFz2Jpi4vSp/k7zBcJ888ofV5Mi1g5CUML5GvMvV6u9Cjybftu+E8Cgp+k0dI1E5lw==",
- "dev": true
+ "node_modules/downloadjs": {
+ "version": "1.4.7",
+ "resolved": "https://registry.npmjs.org/downloadjs/-/downloadjs-1.4.7.tgz",
+ "integrity": "sha1-9p+W+UDg0FU9rCkROYZaPNAQHjw="
},
- "istanbul-lib-instrument": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.1.0.tgz",
- "integrity": "sha512-ooVllVGT38HIk8MxDj/OIHXSYvH+1tq/Vb38s8ixt9GoJadXska4WkGY+0wkmtYCZNYtaARniH/DixUGGLZ0uA==",
+ "node_modules/ecdsa-sig-formatter": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
+ "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
"dev": true,
- "requires": {
- "@babel/generator": "^7.0.0",
- "@babel/parser": "^7.0.0",
- "@babel/template": "^7.0.0",
- "@babel/traverse": "^7.0.0",
- "@babel/types": "^7.0.0",
- "istanbul-lib-coverage": "^2.0.3",
- "semver": "^5.5.0"
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
}
},
- "joi": {
- "version": "13.7.0",
- "resolved": "https://registry.npmjs.org/joi/-/joi-13.7.0.tgz",
- "integrity": "sha512-xuY5VkHfeOYK3Hdi91ulocfuFopwgbSORmIwzcwHKESQhC7w1kD5jaVSPnqDxS2I8t3RZ9omCKAxNwXN5zG1/Q==",
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
+ },
+ "node_modules/ejs": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz",
+ "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==",
"dev": true,
- "requires": {
- "hoek": "5.x.x",
- "isemail": "3.x.x",
- "topo": "3.x.x"
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "js-base64": {
- "version": "2.4.9",
- "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz",
- "integrity": "sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ=="
+ "node_modules/electron-to-chromium": {
+ "version": "1.3.707",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.707.tgz",
+ "integrity": "sha512-BqddgxNPrcWnbDdJw7SzXVzPmp+oiyjVrc7tkQVaznPGSS9SKZatw6qxoP857M+HbOyyqJQwYQtsuFIMSTNSZA==",
+ "dev": true
},
- "js-tokens": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
- "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
},
- "js-yaml": {
- "version": "3.13.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.0.tgz",
- "integrity": "sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ==",
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
+ "node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
+ "engines": {
+ "node": ">= 0.8"
}
},
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true
- },
- "jsesc": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
- "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s="
+ "node_modules/end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.4.0"
+ }
},
- "json-loader": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz",
- "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w=="
+ "node_modules/enquirer": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-colors": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
},
- "json-parse-better-errors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
},
- "json-schema": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
- "dev": true
+ "node_modules/es-abstract": {
+ "version": "1.18.0-next.1",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
+ "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
+ "dev": true,
+ "dependencies": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.2.2",
+ "is-negative-zero": "^2.0.0",
+ "is-regex": "^1.1.1",
+ "object-inspect": "^1.8.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.1",
+ "string.prototype.trimend": "^1.0.1",
+ "string.prototype.trimstart": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
},
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
+ "node_modules/es-abstract/node_modules/object.assign": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
+ "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "has-symbols": "^1.0.1",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
},
- "json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "node_modules/es-module-lexer": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz",
+ "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==",
"dev": true
},
- "json3": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
- "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
+ "node_modules/es-module-shims": {
+ "version": "0.4.7",
+ "resolved": "https://registry.npmjs.org/es-module-shims/-/es-module-shims-0.4.7.tgz",
+ "integrity": "sha512-0LTiSQoPWwdcaTVIQXhGlaDwTneD0g9/tnH1PNs3zHFFH+xoCeJclDM3rQeqF9nurXPfMKm3l9+kfPRa5VpbKg==",
"dev": true
},
- "json5": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
- },
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "requires": {
- "graceful-fs": "^4.1.6"
+ "node_modules/es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "dependencies": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
- "jsonify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
- "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
+ "node_modules/es6-promise": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
+ "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
+ "dev": true
},
- "jsprim": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
- "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "node_modules/es6-promisify": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
+ "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
"dev": true,
- "requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
+ "dependencies": {
+ "es6-promise": "^4.0.3"
}
},
- "just-extend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.0.2.tgz",
- "integrity": "sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw==",
- "dev": true
- },
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
},
- "known-css-properties": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.11.0.tgz",
- "integrity": "sha512-bEZlJzXo5V/ApNNa5z375mJC6Nrz4vG43UgcSCrg2OHC+yuB6j0iDSrY7RQ/+PRofFB03wNIIt9iXIVLr4wc7w==",
- "dev": true
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
},
- "launch-editor": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz",
- "integrity": "sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==",
- "requires": {
- "chalk": "^2.3.0",
- "shell-quote": "^1.6.1"
+ "node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
}
},
- "launch-editor-middleware": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz",
- "integrity": "sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg==",
- "requires": {
- "launch-editor": "^2.2.1"
+ "node_modules/eslint": {
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.17.0.tgz",
+ "integrity": "sha512-zJk08MiBgwuGoxes5sSQhOtibZ75pz0J35XTRlZOk9xMffhpA9BTbQZxoXZzOl5zMbleShbGwtw+1kGferfFwQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "@eslint/eslintrc": "^0.2.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",
+ "eslint-scope": "^5.1.1",
+ "eslint-utils": "^2.1.0",
+ "eslint-visitor-keys": "^2.0.0",
+ "espree": "^7.3.1",
+ "esquery": "^1.2.0",
+ "esutils": "^2.0.2",
+ "file-entry-cache": "^6.0.0",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^5.0.0",
+ "globals": "^12.1.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^3.13.1",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash": "^4.17.19",
+ "minimatch": "^3.0.4",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "progress": "^2.0.0",
+ "regexpp": "^3.1.0",
+ "semver": "^7.2.1",
+ "strip-ansi": "^6.0.0",
+ "strip-json-comments": "^3.1.0",
+ "table": "^6.0.4",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
}
},
- "lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4="
+ "node_modules/eslint-config-prettier": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.1.0.tgz",
+ "integrity": "sha512-9sm5/PxaFG7qNJvJzTROMM1Bk1ozXVTKI0buKOyb0Bsr1hrwi0H/TzxF/COtf1uxikIK8SwhX7K6zg78jAzbeA==",
+ "dev": true,
+ "bin": {
+ "eslint-config-prettier": "bin/cli.js"
+ }
},
- "lcid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
- "requires": {
- "invert-kv": "^1.0.0"
+ "node_modules/eslint-import-resolver-node": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz",
+ "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^2.6.9",
+ "resolve": "^1.13.1"
}
},
- "leven": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
- "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
- "dev": true
+ "node_modules/eslint-module-utils": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz",
+ "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^2.6.9",
+ "pkg-dir": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
},
- "levn": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
- "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "node_modules/eslint-plugin-es": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz",
+ "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==",
"dev": true,
- "requires": {
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2"
+ "dependencies": {
+ "eslint-utils": "^2.0.0",
+ "regexpp": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8.10.0"
}
},
- "load-json-file": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
- "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "strip-bom": "^3.0.0"
+ "node_modules/eslint-plugin-import": {
+ "version": "2.22.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz",
+ "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==",
+ "dev": true,
+ "dependencies": {
+ "array-includes": "^3.1.1",
+ "array.prototype.flat": "^1.2.3",
+ "contains-path": "^0.1.0",
+ "debug": "^2.6.9",
+ "doctrine": "1.5.0",
+ "eslint-import-resolver-node": "^0.3.4",
+ "eslint-module-utils": "^2.6.0",
+ "has": "^1.0.3",
+ "minimatch": "^3.0.4",
+ "object.values": "^1.1.1",
+ "read-pkg-up": "^2.0.0",
+ "resolve": "^1.17.0",
+ "tsconfig-paths": "^3.9.0"
},
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/eslint-plugin-import/node_modules/doctrine": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
+ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
+ "dev": true,
"dependencies": {
- "parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "requires": {
- "error-ex": "^1.2.0"
- }
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
- }
+ "esutils": "^2.0.2",
+ "isarray": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "loader-runner": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
- "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw=="
+ "node_modules/eslint-plugin-node": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz",
+ "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==",
+ "dev": true,
+ "dependencies": {
+ "eslint-plugin-es": "^3.0.0",
+ "eslint-utils": "^2.0.0",
+ "ignore": "^5.1.1",
+ "minimatch": "^3.0.4",
+ "resolve": "^1.10.1",
+ "semver": "^6.1.0"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
},
- "loader-utils": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
- "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
- "requires": {
- "big.js": "^3.1.3",
- "emojis-list": "^2.0.0",
- "json5": "^0.5.0"
+ "node_modules/eslint-plugin-node/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
}
},
- "locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "requires": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
+ "node_modules/eslint-plugin-prettier": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz",
+ "integrity": "sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ==",
+ "dev": true,
+ "dependencies": {
+ "prettier-linter-helpers": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
}
},
- "lodash": {
- "version": "4.17.19",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
- "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ=="
+ "node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
},
- "lodash._arraycopy": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz",
- "integrity": "sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE=",
- "dev": true
+ "node_modules/eslint-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
+ "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
},
- "lodash._arrayeach": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz",
- "integrity": "sha1-urFWsqkNPxu9XGU0AzSeXlkz754=",
- "dev": true
+ "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
},
- "lodash._baseassign": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
- "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=",
+ "node_modules/eslint-visitor-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz",
+ "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==",
"dev": true,
- "requires": {
- "lodash._basecopy": "^3.0.0",
- "lodash.keys": "^3.0.0"
+ "engines": {
+ "node": ">=10"
}
},
- "lodash._baseclone": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz",
- "integrity": "sha1-MDUZv2OT/n5C802LYw73eU41Qrc=",
+ "node_modules/eslint/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
- "requires": {
- "lodash._arraycopy": "^3.0.0",
- "lodash._arrayeach": "^3.0.0",
- "lodash._baseassign": "^3.0.0",
- "lodash._basefor": "^3.0.0",
- "lodash.isarray": "^3.0.0",
- "lodash.keys": "^3.0.0"
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "lodash._basecopy": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
- "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
- "dev": true
+ "node_modules/eslint/node_modules/chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
},
- "lodash._basecreate": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz",
- "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=",
- "dev": true
+ "node_modules/eslint/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
},
- "lodash._basefor": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz",
- "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=",
+ "node_modules/eslint/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "lodash._bindcallback": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz",
- "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=",
- "dev": true
+ "node_modules/eslint/node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
},
- "lodash._getnative": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
- "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
- "dev": true
+ "node_modules/eslint/node_modules/debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ }
},
- "lodash._isiterateecall": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
- "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
- "dev": true
+ "node_modules/eslint/node_modules/glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
},
- "lodash._reinterpolate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
- "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0="
+ "node_modules/eslint/node_modules/globals": {
+ "version": "12.4.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
+ "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
},
- "lodash._stack": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/lodash._stack/-/lodash._stack-4.1.3.tgz",
- "integrity": "sha1-dRqnbBuWSwR+dtFPxyoJP8teLdA=",
- "dev": true
+ "node_modules/eslint/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "lodash.camelcase": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
- "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY="
+ "node_modules/eslint/node_modules/ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
},
- "lodash.clone": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-3.0.3.tgz",
- "integrity": "sha1-hGiMc9MrWpDKJWFpY/GJJSqZcEM=",
+ "node_modules/eslint/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
- "requires": {
- "lodash._baseclone": "^3.0.0",
- "lodash._bindcallback": "^3.0.0",
- "lodash._isiterateecall": "^3.0.0"
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "lodash.create": {
+ "node_modules/eslint/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "node_modules/eslint/node_modules/path-key": {
"version": "3.1.1",
- "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz",
- "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
"dev": true,
- "requires": {
- "lodash._baseassign": "^3.0.0",
- "lodash._basecreate": "^3.0.0",
- "lodash._isiterateecall": "^3.0.0"
+ "engines": {
+ "node": ">=8"
}
},
- "lodash.debounce": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
- "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168="
- },
- "lodash.defaultsdeep": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.3.2.tgz",
- "integrity": "sha1-bBpYbmxWR7DmTi15gUG4g2FYvoo=",
+ "node_modules/eslint/node_modules/semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
"dev": true,
- "requires": {
- "lodash._baseclone": "^4.0.0",
- "lodash._stack": "^4.0.0",
- "lodash.isplainobject": "^4.0.0",
- "lodash.keysin": "^4.0.0",
- "lodash.mergewith": "^4.0.0",
- "lodash.rest": "^4.0.0"
- },
"dependencies": {
- "lodash._baseclone": {
- "version": "4.5.7",
- "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz",
- "integrity": "sha1-zkKt4IOE711i+nfDD2GkbmhvhDQ=",
- "dev": true
- }
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
- "lodash.get": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
- "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
- "dev": true
- },
- "lodash.isarguments": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
- "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
- "dev": true
- },
- "lodash.isarray": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
- "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
- "dev": true
- },
- "lodash.isplainobject": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
- "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs="
- },
- "lodash.keys": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
- "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
+ "node_modules/eslint/node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
- "requires": {
- "lodash._getnative": "^3.0.0",
- "lodash.isarguments": "^3.0.0",
- "lodash.isarray": "^3.0.0"
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "lodash.keysin": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-4.2.0.tgz",
- "integrity": "sha1-jMP7NcLZSsxEOhhj4C+kB5nqbyg=",
- "dev": true
- },
- "lodash.memoize": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
- "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4="
- },
- "lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
+ "node_modules/eslint/node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "lodash.mergewith": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz",
- "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==",
- "dev": true
+ "node_modules/eslint/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
},
- "lodash.rest": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.5.tgz",
- "integrity": "sha1-lU73UEkmIDjJbR/Jiyj9r58Hcqo=",
- "dev": true
+ "node_modules/eslint/node_modules/type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "lodash.sortby": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
- "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg="
+ "node_modules/eslint/node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
},
- "lodash.tail": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz",
- "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=",
+ "node_modules/eslint/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
- "lodash.template": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
- "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
- "requires": {
- "lodash._reinterpolate": "^3.0.0",
- "lodash.templatesettings": "^4.0.0"
+ "node_modules/espree": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
+ "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^7.4.0",
+ "acorn-jsx": "^5.3.1",
+ "eslint-visitor-keys": "^1.3.0"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
}
},
- "lodash.templatesettings": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz",
- "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=",
- "requires": {
- "lodash._reinterpolate": "~3.0.0"
+ "node_modules/espree/node_modules/eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
}
},
- "lodash.uniq": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M="
- },
- "lodash.uniqueid": {
+ "node_modules/esprima": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/lodash.uniqueid/-/lodash.uniqueid-4.0.1.tgz",
- "integrity": "sha1-MmjyanyI5PSxdY1nknGBTjH6WyY="
- },
- "log-symbols": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
- "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
- "requires": {
- "chalk": "^2.0.1"
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true,
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "loglevelnext": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz",
- "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==",
- "requires": {
- "es6-symbol": "^3.1.1",
- "object.assign": "^4.1.0"
+ "node_modules/esquery": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
+ "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
}
},
- "lolex": {
- "version": "2.7.5",
- "resolved": "https://registry.npmjs.org/lolex/-/lolex-2.7.5.tgz",
- "integrity": "sha512-l9x0+1offnKKIzYVjyXU2SiwhXDLekRzKyhnbyldPHvC7BvLPVpdNUNR2KeMAiCN2D/kLNttZgQD5WjSxuBx3Q==",
- "dev": true
- },
- "longest": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
- "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc="
- },
- "longest-streak": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.2.tgz",
- "integrity": "sha512-TmYTeEYxiAmSVdpbnQDXGtvYOIRsCMg89CVZzwzc2o7GFL1CjoiRPjH5ec0NFAVlAx3fVof9dX/t6KKRAo2OWA==",
- "dev": true
- },
- "loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "requires": {
- "js-tokens": "^3.0.0 || ^4.0.0"
+ "node_modules/esquery/node_modules/estraverse": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
+ "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
}
},
- "loud-rejection": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
- "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
- "requires": {
- "currently-unhandled": "^0.4.1",
- "signal-exit": "^3.0.0"
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
}
},
- "lower-case": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
- "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw="
- },
- "lru-cache": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
- "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
+ "node_modules/esrecurse/node_modules/estraverse": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
+ "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
}
},
- "make-dir": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
- "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
- "requires": {
- "pify": "^3.0.0"
+ "node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
}
},
- "make-error": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz",
- "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==",
- "dev": true
- },
- "manup": {
+ "node_modules/estree-walker": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/manup/-/manup-1.0.1.tgz",
- "integrity": "sha1-xc8EpiOjEeWTTEmdbyKNSfuLZC4="
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
+ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
+ "dev": true
},
- "map-age-cleaner": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz",
- "integrity": "sha512-UN1dNocxQq44IhJyMI4TU8phc2m9BddacHRPRjKGLYaF0jqd3xLz0jS0skpAU9WgYyoR4gHtUpzytNBS385FWQ==",
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
"dev": true,
- "requires": {
- "p-defer": "^1.0.0"
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "map-cache": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
+ "engines": {
+ "node": ">= 0.6"
+ }
},
- "map-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
- "dev": true
+ "node_modules/event-target-shim": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
+ "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
},
- "map-visit": {
+ "node_modules/execa": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
- "requires": {
- "object-visit": "^1.0.0"
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6"
}
},
- "markdown-escapes": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.2.tgz",
- "integrity": "sha512-lbRZ2mE3Q9RtLjxZBZ9+IMl68DKIXaVAhwvwn9pmjnPLS0h/6kyBMgNhqi1xFJ/2yv6cSyv0jbiZavZv93JkkA==",
- "dev": true
- },
- "markdown-table": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.2.tgz",
- "integrity": "sha512-NcWuJFHDA8V3wkDgR/j4+gZx+YQwstPgfQDV8ndUeWWzta3dnDTBxpVzqS9lkmJAuV5YX35lmyojl6HO5JXAgw==",
- "dev": true
- },
- "marked": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz",
- "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg=="
+ "node_modules/execa/node_modules/get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
},
- "math-expression-evaluator": {
- "version": "1.2.17",
- "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz",
- "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw="
+ "node_modules/execa/node_modules/is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "mathml-tag-names": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.0.tgz",
- "integrity": "sha512-3Zs9P/0zzwTob2pdgT0CHZuMbnSUSp8MB1bddfm+HDmnFWHGT4jvEZRf+2RuPoa+cjdn/z25SEt5gFTqdhvJAg==",
- "dev": true
+ "node_modules/expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
+ "dependencies": {
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "md5.js": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
- "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
- "requires": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
+ "node_modules/expand-brackets/node_modules/define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "mdast-util-compact": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.2.tgz",
- "integrity": "sha512-d2WS98JSDVbpSsBfVvD9TaDMlqPRz7ohM/11G0rp5jOBb5q96RJ6YLszQ/09AAixyzh23FeIpCGqfaamEADtWg==",
+ "node_modules/expand-brackets/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
- "requires": {
- "unist-util-visit": "^1.1.0"
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "media-typer": {
- "version": "0.3.0",
- "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
+ "node_modules/expand-tilde": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
+ "dev": true,
+ "dependencies": {
+ "homedir-polyfill": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "mem": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
- "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
- "requires": {
- "mimic-fn": "^1.0.0"
+ "node_modules/express": {
+ "version": "4.17.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
+ "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
+ "dependencies": {
+ "accepts": "~1.3.7",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.19.0",
+ "content-disposition": "0.5.3",
+ "content-type": "~1.0.4",
+ "cookie": "0.4.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "~1.1.2",
+ "fresh": "0.5.2",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.5",
+ "qs": "6.7.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.1.2",
+ "send": "0.17.1",
+ "serve-static": "1.14.1",
+ "setprototypeof": "1.1.1",
+ "statuses": "~1.5.0",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
}
},
- "memory-fs": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
- "requires": {
- "errno": "^0.1.3",
- "readable-stream": "^2.0.1"
+ "node_modules/express/node_modules/path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
+ },
+ "node_modules/extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
+ "dependencies": {
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "meow": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
- "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+ "node_modules/extend-shallow/node_modules/is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"dev": true,
- "requires": {
- "camelcase-keys": "^2.0.0",
- "decamelize": "^1.1.2",
- "loud-rejection": "^1.0.0",
- "map-obj": "^1.0.1",
- "minimist": "^1.1.3",
- "normalize-package-data": "^2.3.4",
- "object-assign": "^4.0.1",
- "read-pkg-up": "^1.0.1",
- "redent": "^1.0.0",
- "trim-newlines": "^1.0.0"
+ "dependencies": {
+ "is-plain-object": "^2.0.4"
},
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
"dependencies": {
- "find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "dev": true,
- "requires": {
- "path-exists": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "load-json-file": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^2.2.0",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "strip-bom": "^2.0.0"
- }
- },
- "parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "dev": true,
- "requires": {
- "error-ex": "^1.2.0"
- }
- },
- "path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "dev": true,
- "requires": {
- "pinkie-promise": "^2.0.0"
- }
- },
- "path-type": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
- "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- }
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
- "dev": true
- },
- "read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
- "dev": true,
- "requires": {
- "load-json-file": "^1.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^1.0.0"
- }
- },
- "read-pkg-up": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
- "dev": true,
- "requires": {
- "find-up": "^1.0.0",
- "read-pkg": "^1.0.0"
- }
- },
- "strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
- "dev": true,
- "requires": {
- "is-utf8": "^0.2.0"
- }
- }
- }
- },
- "merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
- },
- "merge2": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz",
- "integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==",
- "dev": true
- },
- "methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
- },
- "microbuffer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/microbuffer/-/microbuffer-1.0.0.tgz",
- "integrity": "sha1-izgy7UDIfVH0e7I0kTppinVtGdI="
- },
- "micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "requires": {
- "arr-diff": "^4.0.0",
"array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
"fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
"regex-not": "^1.0.0",
"snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "miller-rabin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
- "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
- "requires": {
- "bn.js": "^4.0.0",
- "brorand": "^1.0.1"
+ "node_modules/extglob/node_modules/define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "dependencies": {
+ "is-descriptor": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
+ "node_modules/extglob/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "mime-db": {
- "version": "1.37.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
- "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg=="
+ "node_modules/extglob/node_modules/is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "mime-types": {
- "version": "2.1.21",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
- "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
- "requires": {
- "mime-db": "~1.37.0"
+ "node_modules/extglob/node_modules/is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "mimic-fn": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="
+ "node_modules/extglob/node_modules/is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "dependencies": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "minimalistic-assert": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
},
- "minimalistic-crypto-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
- "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="
+ "node_modules/fast-diff": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
+ "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
+ "dev": true
},
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "requires": {
- "brace-expansion": "^1.1.7"
+ "node_modules/fast-glob": {
+ "version": "2.2.7",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz",
+ "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==",
+ "dev": true,
+ "dependencies": {
+ "@mrmlnc/readdir-enhanced": "^2.2.1",
+ "@nodelib/fs.stat": "^1.1.2",
+ "glob-parent": "^3.1.0",
+ "is-glob": "^4.0.0",
+ "merge2": "^1.2.3",
+ "micromatch": "^3.1.10"
+ },
+ "engines": {
+ "node": ">=4.0.0"
}
},
- "minimist": {
- "version": "1.2.0",
- "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ "node_modules/fast-json-patch": {
+ "version": "3.0.0-1",
+ "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.0.0-1.tgz",
+ "integrity": "sha512-6pdFb07cknxvPzCeLsFHStEy+MysPJPgZQ9LbQ/2O67unQF93SNqfdSqnPPl71YMHX+AD8gbl7iuoGFzHEdDuw==",
+ "dev": true
},
- "minimist-options": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz",
- "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "dev": true
+ },
+ "node_modules/fastq": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.1.tgz",
+ "integrity": "sha512-mpIH5sKYueh3YyeJwqtVo8sORi0CgtmkVbK6kZStpQlZBYQuTzG2CZ7idSiJuA7bY0SFCWUc5WIs+oYumGCQNw==",
"dev": true,
- "requires": {
- "arrify": "^1.0.1",
- "is-plain-obj": "^1.1.0"
+ "dependencies": {
+ "reusify": "^1.0.4"
}
},
- "mississippi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz",
- "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==",
- "requires": {
- "concat-stream": "^1.5.0",
- "duplexify": "^3.4.2",
- "end-of-stream": "^1.1.0",
- "flush-write-stream": "^1.0.0",
- "from2": "^2.1.0",
- "parallel-transform": "^1.1.0",
- "pump": "^2.0.1",
- "pumpify": "^1.3.3",
- "stream-each": "^1.1.0",
- "through2": "^2.0.0"
+ "node_modules/file-entry-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz",
+ "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==",
+ "dev": true,
+ "dependencies": {
+ "flat-cache": "^3.0.4"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
}
},
- "mixin-deep": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
- "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
- "requires": {
- "for-in": "^1.0.2",
- "is-extendable": "^1.0.1"
- },
+ "node_modules/fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
"dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "mixin-object": {
+ "node_modules/fill-range/node_modules/extend-shallow": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz",
- "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
- "requires": {
- "for-in": "^0.1.3",
- "is-extendable": "^0.1.1"
+ "dependencies": {
+ "is-extendable": "^0.1.0"
},
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/finalhandler": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
+ "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
"dependencies": {
- "for-in": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz",
- "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=",
- "dev": true
- }
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.3",
+ "statuses": "~1.5.0",
+ "unpipe": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
}
},
- "mkdirp": {
- "version": "0.5.1",
- "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "requires": {
- "minimist": "0.0.8"
+ "node_modules/find-replace": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz",
+ "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==",
+ "dev": true,
+ "dependencies": {
+ "array-back": "^3.0.1"
},
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+ "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "dev": true,
"dependencies": {
- "minimist": {
- "version": "0.0.8",
- "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
- }
+ "flatted": "^3.1.0",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
}
},
- "mkpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz",
- "integrity": "sha1-67Opd+evHGg65v2hK1Raa6bFhT0=",
+ "node_modules/flatted": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
+ "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
"dev": true
},
- "mocha": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz",
- "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==",
- "dev": true,
- "requires": {
- "browser-stdout": "1.3.1",
- "commander": "2.15.1",
- "debug": "3.1.0",
- "diff": "3.5.0",
- "escape-string-regexp": "1.0.5",
- "glob": "7.1.2",
- "growl": "1.10.5",
- "he": "1.1.1",
- "minimatch": "3.0.4",
- "mkdirp": "0.5.1",
- "supports-color": "5.4.0"
- },
- "dependencies": {
- "browser-stdout": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
- "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
- "dev": true
- },
- "commander": {
- "version": "2.15.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
- "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
- "dev": true
- },
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "diff": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
- "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
- "dev": true
- },
- "glob": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "supports-color": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
- "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
+ "node_modules/for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "mocha-nightwatch": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/mocha-nightwatch/-/mocha-nightwatch-3.2.2.tgz",
- "integrity": "sha1-kby5s73gV912d8eBJeSR5Y1mZHw=",
+ "node_modules/form-data": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
+ "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
"dev": true,
- "requires": {
- "browser-stdout": "1.3.0",
- "commander": "2.9.0",
- "debug": "2.2.0",
- "diff": "1.4.0",
- "escape-string-regexp": "1.0.5",
- "glob": "7.0.5",
- "growl": "1.9.2",
- "json3": "3.3.2",
- "lodash.create": "3.1.1",
- "mkdirp": "0.5.1",
- "supports-color": "3.1.2"
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
},
+ "engines": {
+ "node": ">= 0.12"
+ }
+ },
+ "node_modules/forwarded": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
+ "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
"dependencies": {
- "commander": {
- "version": "2.9.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
- "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
- "dev": true,
- "requires": {
- "graceful-readlink": ">= 1.0.0"
- }
- },
- "debug": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
- "dev": true,
- "requires": {
- "ms": "0.7.1"
- }
- },
- "diff": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz",
- "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=",
- "dev": true
- },
- "glob": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz",
- "integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU=",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.2",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "growl": {
- "version": "1.9.2",
- "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz",
- "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=",
- "dev": true
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
- "dev": true
- },
- "ms": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
- "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
- "dev": true
- },
- "supports-color": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz",
- "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=",
- "dev": true,
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
+ "map-cache": "^0.2.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "monaco-editor": {
- "version": "0.17.0",
- "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.17.0.tgz",
- "integrity": "sha512-8BQQHCFxy3DF0GYFOy5BmcCWlwm/XaTMPbPbN4gwItFGctZErSfX82uQSBpojJSlPNyudB5Q5qnukoorD3/UuA=="
+ "node_modules/fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
+ "engines": {
+ "node": ">= 0.6"
+ }
},
- "monaco-editor-webpack-plugin": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/monaco-editor-webpack-plugin/-/monaco-editor-webpack-plugin-1.7.0.tgz",
- "integrity": "sha512-oItymcnlL14Sjd7EF7q+CMhucfwR/2BxsqrXIBrWL6LQplFfAfV+grLEQRmVHeGSBZ/Gk9ptzfueXnWcoEcFuA==",
- "requires": {
- "@types/webpack": "^4.4.19"
+ "node_modules/fs-exists-sync": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz",
+ "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "move-concurrently": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
- "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
- "requires": {
- "aproba": "^1.1.1",
- "copy-concurrently": "^1.0.0",
- "fs-write-stream-atomic": "^1.0.8",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.5.4",
- "run-queue": "^1.0.3"
+ "node_modules/fs-extra": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=6 <7 || >=8"
}
},
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
},
- "mustache": {
+ "node_modules/fsevents": {
"version": "2.3.2",
- "resolved": "https://registry.npmjs.org/mustache/-/mustache-2.3.2.tgz",
- "integrity": "sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ=="
- },
- "mute-stream": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
- "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s="
- },
- "nan": {
- "version": "2.11.1",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz",
- "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==",
- "optional": true
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
},
- "nano-assign": {
+ "node_modules/functional-red-black-tree": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/nano-assign/-/nano-assign-1.0.1.tgz",
- "integrity": "sha512-1K8ncUoAYFPYcCZqrB+K2XQaFCmA35rryJCtPkGrG3zYkwm+iIUZRIHyaAfuy6zxaK9siPdjeJq7+Inijm6xhw=="
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true
},
- "nanomatch": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
- "requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "fragment-cache": "^0.2.1",
- "is-windows": "^1.0.2",
- "kind-of": "^6.0.2",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.1",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
+ "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "negotiator": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
- "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "dev": true,
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
},
- "neo-async": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz",
- "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA=="
+ "node_modules/get-intrinsic": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz",
+ "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1"
+ }
},
- "netmask": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz",
- "integrity": "sha1-ICl+idhvb2QA8lDZ9Pa0wZRfzTU=",
+ "node_modules/get-own-enumerable-property-symbols": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz",
+ "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==",
"dev": true
},
- "next-tick": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
- "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
+ "node_modules/get-stdin": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz",
+ "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
},
- "nice-try": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
- "dev": true
+ "node_modules/get-stream": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz",
+ "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "nightwatch": {
- "version": "0.9.21",
- "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-0.9.21.tgz",
- "integrity": "sha1-nnlKdRS0/V9GYC02jlBRUjKrnpA=",
+ "node_modules/git-config-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-1.0.1.tgz",
+ "integrity": "sha1-bTP37WPbDQ4RgTFQO6s6ykfVRmQ=",
"dev": true,
- "requires": {
- "chai-nightwatch": "~0.1.x",
- "ejs": "2.5.7",
- "lodash.clone": "3.0.3",
- "lodash.defaultsdeep": "4.3.2",
- "minimatch": "3.0.3",
- "mkpath": "1.0.0",
- "mocha-nightwatch": "3.2.2",
- "optimist": "0.6.1",
- "proxy-agent": "2.0.0",
- "q": "1.4.1"
- },
"dependencies": {
- "ejs": {
- "version": "2.5.7",
- "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz",
- "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=",
- "dev": true
- },
- "minimatch": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
- "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.0.0"
- }
- },
- "q": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
- "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=",
- "dev": true
- }
+ "extend-shallow": "^2.0.1",
+ "fs-exists-sync": "^0.1.0",
+ "homedir-polyfill": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "nise": {
- "version": "1.4.10",
- "resolved": "https://registry.npmjs.org/nise/-/nise-1.4.10.tgz",
- "integrity": "sha512-sa0RRbj53dovjc7wombHmVli9ZihXbXCQ2uH3TNm03DyvOSIQbxg+pbqDKrk2oxMK1rtLGVlKxcB9rrc6X5YjA==",
+ "node_modules/git-config-path/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
- "requires": {
- "@sinonjs/formatio": "^3.1.0",
- "@sinonjs/text-encoding": "^0.7.1",
- "just-extend": "^4.0.2",
- "lolex": "^2.3.2",
- "path-to-regexp": "^1.7.0"
+ "dependencies": {
+ "is-extendable": "^0.1.0"
},
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/gitlab": {
+ "version": "10.2.1",
+ "resolved": "https://registry.npmjs.org/gitlab/-/gitlab-10.2.1.tgz",
+ "integrity": "sha512-z+DxRF1C9uayVbocs9aJkJz+kGy14TSm1noB/rAIEBbXOkOYbjKxyuqJzt+0zeFpXFdgA0yq6DVVbvM7HIfGwg==",
+ "dev": true,
"dependencies": {
- "@sinonjs/formatio": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.2.1.tgz",
- "integrity": "sha512-tsHvOB24rvyvV2+zKMmPkZ7dXX6LSLKZ7aOtXY6Edklp0uRcgGpOsQTTGTcWViFyx4uhWc6GV8QdnALbIbIdeQ==",
- "dev": true,
- "requires": {
- "@sinonjs/commons": "^1",
- "@sinonjs/samsam": "^3.1.0"
- }
- },
- "@sinonjs/samsam": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.3.1.tgz",
- "integrity": "sha512-wRSfmyd81swH0hA1bxJZJ57xr22kC07a1N4zuIL47yTS04bDk6AoCkczcqHEjcRPmJ+FruGJ9WBQiJwMtIElFw==",
- "dev": true,
- "requires": {
- "@sinonjs/commons": "^1.0.2",
- "array-from": "^2.1.1",
- "lodash": "^4.17.11"
- }
- },
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- },
- "path-to-regexp": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
- "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
- "dev": true,
- "requires": {
- "isarray": "0.0.1"
- }
- }
+ "form-data": "^2.5.0",
+ "humps": "^2.0.1",
+ "ky": "^0.12.0",
+ "ky-universal": "^0.3.0",
+ "li": "^1.3.0",
+ "query-string": "^6.8.2",
+ "universal-url": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
}
},
- "no-case": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
- "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
- "requires": {
- "lower-case": "^1.1.1"
+ "node_modules/glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "dev": true,
+ "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"
+ },
+ "engines": {
+ "node": "*"
}
},
- "node-fetch": {
- "version": "1.6.3",
- "resolved": "http://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz",
- "integrity": "sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ=",
- "requires": {
- "encoding": "^0.1.11",
- "is-stream": "^1.0.1"
+ "node_modules/glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
}
},
- "node-gyp": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
- "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
+ "node_modules/glob-parent/node_modules/is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
"dev": true,
- "requires": {
- "fstream": "^1.0.0",
- "glob": "^7.0.3",
- "graceful-fs": "^4.1.2",
- "mkdirp": "^0.5.0",
- "nopt": "2 || 3",
- "npmlog": "0 || 1 || 2 || 3 || 4",
- "osenv": "0",
- "request": "^2.87.0",
- "rimraf": "2",
- "semver": "~5.3.0",
- "tar": "^2.0.0",
- "which": "1"
- },
"dependencies": {
- "semver": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
- "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
- "dev": true
- }
+ "is-extglob": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "node-libs-browser": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz",
- "integrity": "sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==",
- "requires": {
- "assert": "^1.1.1",
- "browserify-zlib": "^0.2.0",
- "buffer": "^4.3.0",
- "console-browserify": "^1.1.0",
- "constants-browserify": "^1.0.0",
- "crypto-browserify": "^3.11.0",
- "domain-browser": "^1.1.1",
- "events": "^3.0.0",
- "https-browserify": "^1.0.0",
- "os-browserify": "^0.3.0",
- "path-browserify": "0.0.0",
- "process": "^0.11.10",
- "punycode": "^1.2.4",
- "querystring-es3": "^0.2.0",
- "readable-stream": "^2.3.3",
- "stream-browserify": "^2.0.1",
- "stream-http": "^2.7.2",
- "string_decoder": "^1.0.0",
- "timers-browserify": "^2.0.4",
- "tty-browserify": "0.0.0",
- "url": "^0.11.0",
- "util": "^0.11.0",
- "vm-browserify": "0.0.4"
- },
- "dependencies": {
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
- }
+ "node_modules/glob-to-regexp": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
+ "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
+ "dev": true
+ },
+ "node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
}
},
- "node-releases": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.11.tgz",
- "integrity": "sha512-8v1j5KfP+s5WOTa1spNUAOfreajQPN12JXbRR0oDE+YrJBQCXBnNqUDj27EKpPLOoSiU3tKi3xGPB+JaOdUEQQ==",
+ "node_modules/globby": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz",
+ "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==",
"dev": true,
- "requires": {
- "semver": "^5.3.0"
+ "dependencies": {
+ "@types/glob": "^7.1.1",
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.0.3",
+ "glob": "^7.1.3",
+ "ignore": "^5.1.1",
+ "merge2": "^1.2.3",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "node-sass": {
- "version": "4.14.1",
- "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz",
- "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==",
+ "node_modules/globby/node_modules/@nodelib/fs.stat": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
"dev": true,
- "requires": {
- "async-foreach": "^0.1.3",
- "chalk": "^1.1.1",
- "cross-spawn": "^3.0.0",
- "gaze": "^1.0.0",
- "get-stdin": "^4.0.1",
- "glob": "^7.0.3",
- "in-publish": "^2.0.0",
- "lodash": "^4.17.15",
- "meow": "^3.7.0",
- "mkdirp": "^0.5.1",
- "nan": "^2.13.2",
- "node-gyp": "^3.8.0",
- "npmlog": "^4.0.0",
- "request": "^2.88.0",
- "sass-graph": "2.2.5",
- "stdout-stream": "^1.4.0",
- "true-case-path": "^1.0.2"
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/globby/node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "dependencies": {
+ "fill-range": "^7.0.1"
},
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/globby/node_modules/fast-glob": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
+ "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
+ "dev": true,
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "cross-spawn": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
- "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
- "dev": true,
- "requires": {
- "lru-cache": "^4.0.1",
- "which": "^1.2.9"
- }
- },
- "nan": {
- "version": "2.14.1",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz",
- "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==",
- "dev": true
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true
- }
+ "@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"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "nopt": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
- "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "node_modules/globby/node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true,
- "requires": {
- "abbrev": "1"
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "normalize-package-data": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
- "requires": {
- "hosted-git-info": "^2.1.4",
- "is-builtin-module": "^1.0.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
+ "node_modules/globby/node_modules/glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
}
},
- "normalize-path": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
- "requires": {
- "remove-trailing-separator": "^1.0.1"
+ "node_modules/globby/node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
}
},
- "normalize-range": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
- "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI="
+ "node_modules/globby/node_modules/micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ },
+ "engines": {
+ "node": ">=8"
+ }
},
- "normalize-scss": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/normalize-scss/-/normalize-scss-7.0.1.tgz",
- "integrity": "sha512-qj16bWnYs+9/ac29IgGjySg4R5qQTp1lXfm7ApFOZNVBYFY8RZ3f8+XQNDDLHeDtI3Ba7Jj4+LuPgz9v/fne2A=="
+ "node_modules/globby/node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
},
- "normalize-selector": {
+ "node_modules/graceful-fs": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
+ "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
+ "dev": true
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "dev": true,
+ "dependencies": {
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-values/node_modules/kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/hasurl": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hasurl/-/hasurl-1.0.0.tgz",
+ "integrity": "sha512-43ypUd3DbwyCT01UYpA99AEZxZ4aKtRxWGBHEIbjcOsUghd9YUON0C+JF6isNjaiwC/UF5neaUudy6JS9jZPZQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+ "dev": true,
+ "bin": {
+ "he": "bin/he"
+ }
+ },
+ "node_modules/homedir-polyfill": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
+ "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
+ "dev": true,
+ "dependencies": {
+ "parse-passwd": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/hosted-git-info": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
+ "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
+ "dev": true
+ },
+ "node_modules/html-minifier-terser": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
+ "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==",
+ "dev": true,
+ "dependencies": {
+ "camel-case": "^4.1.1",
+ "clean-css": "^4.2.3",
+ "commander": "^4.1.1",
+ "he": "^1.2.0",
+ "param-case": "^3.0.3",
+ "relateurl": "^0.2.7",
+ "terser": "^4.6.3"
+ },
+ "bin": {
+ "html-minifier-terser": "cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/html-minifier-terser/node_modules/commander": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/http-assert": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz",
+ "integrity": "sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==",
+ "dev": true,
+ "dependencies": {
+ "deep-equal": "~1.0.1",
+ "http-errors": "~1.7.2"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/http-errors": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz",
+ "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"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/http-proxy-agent": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
+ "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
+ "dev": true,
+ "dependencies": {
+ "agent-base": "4",
+ "debug": "3.1.0"
+ },
+ "engines": {
+ "node": ">= 4.5.0"
+ }
+ },
+ "node_modules/http-proxy-agent/node_modules/debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz",
+ "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==",
+ "dev": true,
+ "dependencies": {
+ "agent-base": "^4.3.0",
+ "debug": "^3.1.0"
+ },
+ "engines": {
+ "node": ">= 4.5.0"
+ }
+ },
+ "node_modules/https-proxy-agent/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/https-proxy-agent/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/humps": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/humps/-/humps-2.0.1.tgz",
+ "integrity": "sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao=",
+ "dev": true
+ },
+ "node_modules/hyperlinker": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz",
+ "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ignore": {
+ "version": "5.1.8",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
+ "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "node_modules/ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true
+ },
+ "node_modules/invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dev": true,
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "node_modules/ip": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
+ "dev": true
+ },
+ "node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-accessor-descriptor/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true
+ },
+ "node_modules/is-callable": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
+ "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
+ "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
+ "dev": true,
+ "dependencies": {
+ "has": "^1.0.3"
+ }
+ },
+ "node_modules/is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-data-descriptor/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-date-object": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
+ "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
+ "dependencies": {
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-descriptor/node_modules/kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-docker": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.0.tgz",
+ "integrity": "sha512-K4GwB4i/HzhAzwP/XSlspzRdFTI9N8OxJOyOU7Y5Rz+p+WBokXWVWblaJeBkggthmoSV0OoGTH5thJNvplpkvQ==",
+ "dev": true,
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-generator-function": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz",
+ "integrity": "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "dev": true,
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+ "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
+ "dev": true
+ },
+ "node_modules/is-negative-zero": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
+ "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-number/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-obj": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
+ "dependencies": {
+ "isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-regex": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
+ "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
+ "dev": true,
+ "dependencies": {
+ "has-symbols": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
+ "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-string": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
+ "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-symbol": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
+ "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
+ "dev": true,
+ "dependencies": {
+ "has-symbols": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "node_modules/isbinaryfile": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.6.tgz",
+ "integrity": "sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8.0.0"
+ }
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "node_modules/isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true
+ },
+ "node_modules/js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true,
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "dev": true
+ },
+ "node_modules/json5": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.2.tgz",
+ "integrity": "sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ==",
+ "dev": true,
+ "dependencies": {
+ "minimist": "^1.2.5"
+ },
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true
+ },
+ "node_modules/jsonpointer": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz",
+ "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/jsonwebtoken": {
+ "version": "8.5.1",
+ "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz",
+ "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==",
+ "dev": true,
+ "dependencies": {
+ "jws": "^3.2.2",
+ "lodash.includes": "^4.3.0",
+ "lodash.isboolean": "^3.0.3",
+ "lodash.isinteger": "^4.0.4",
+ "lodash.isnumber": "^3.0.3",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.isstring": "^4.0.1",
+ "lodash.once": "^4.0.0",
+ "ms": "^2.1.1",
+ "semver": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=4",
+ "npm": ">=1.4.28"
+ }
+ },
+ "node_modules/jsonwebtoken/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/jwa": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz",
+ "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==",
+ "dev": true,
+ "dependencies": {
+ "buffer-equal-constant-time": "1.0.1",
+ "ecdsa-sig-formatter": "1.0.11",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/jws": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz",
+ "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==",
+ "dev": true,
+ "dependencies": {
+ "jwa": "^1.4.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/keygrip": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz",
+ "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==",
+ "dev": true,
+ "dependencies": {
+ "tsscmp": "1.0.6"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/koa": {
+ "version": "2.13.1",
+ "resolved": "https://registry.npmjs.org/koa/-/koa-2.13.1.tgz",
+ "integrity": "sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w==",
+ "dev": true,
+ "dependencies": {
+ "accepts": "^1.3.5",
+ "cache-content-type": "^1.0.0",
+ "content-disposition": "~0.5.2",
+ "content-type": "^1.0.4",
+ "cookies": "~0.8.0",
+ "debug": "~3.1.0",
+ "delegates": "^1.0.0",
+ "depd": "^2.0.0",
+ "destroy": "^1.0.4",
+ "encodeurl": "^1.0.2",
+ "escape-html": "^1.0.3",
+ "fresh": "~0.5.2",
+ "http-assert": "^1.3.0",
+ "http-errors": "^1.6.3",
+ "is-generator-function": "^1.0.7",
+ "koa-compose": "^4.1.0",
+ "koa-convert": "^1.2.0",
+ "on-finished": "^2.3.0",
+ "only": "~0.0.2",
+ "parseurl": "^1.3.2",
+ "statuses": "^1.5.0",
+ "type-is": "^1.6.16",
+ "vary": "^1.1.2"
+ },
+ "engines": {
+ "node": "^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4"
+ }
+ },
+ "node_modules/koa-compose": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz",
+ "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==",
+ "dev": true
+ },
+ "node_modules/koa-convert": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz",
+ "integrity": "sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=",
+ "dev": true,
+ "dependencies": {
+ "co": "^4.6.0",
+ "koa-compose": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/koa-convert/node_modules/koa-compose": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz",
+ "integrity": "sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=",
+ "dev": true,
+ "dependencies": {
+ "any-promise": "^1.1.0"
+ }
+ },
+ "node_modules/koa-etag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/koa-etag/-/koa-etag-4.0.0.tgz",
+ "integrity": "sha512-1cSdezCkBWlyuB9l6c/IFoe1ANCDdPBxkDkRiaIup40xpUub6U/wwRXoKBZw/O5BifX9OlqAjYnDyzM6+l+TAg==",
+ "dev": true,
+ "dependencies": {
+ "etag": "^1.8.1"
+ }
+ },
+ "node_modules/koa-send": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/koa-send/-/koa-send-5.0.1.tgz",
+ "integrity": "sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.1.1",
+ "http-errors": "^1.7.3",
+ "resolve-path": "^1.4.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/koa-send/node_modules/debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/koa-send/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "node_modules/koa-static": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/koa-static/-/koa-static-5.0.0.tgz",
+ "integrity": "sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^3.1.0",
+ "koa-send": "^5.0.0"
+ },
+ "engines": {
+ "node": ">= 7.6.0"
+ }
+ },
+ "node_modules/koa-static/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/koa-static/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "node_modules/koa/node_modules/debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/koa/node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/ky": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/ky/-/ky-0.12.0.tgz",
+ "integrity": "sha512-t9b7v3V2fGwAcQnnDDQwKQGF55eWrf4pwi1RN08Fy8b/9GEwV7Ea0xQiaSW6ZbeghBHIwl8kgnla4vVo9seepQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ky-universal": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.3.0.tgz",
+ "integrity": "sha512-CM4Bgb2zZZpsprcjI6DNYTaH3oGHXL2u7BU4DK+lfCuC4snkt9/WRpMYeKbBbXscvKkeqBwzzjFX2WwmKY5K/A==",
+ "dev": true,
+ "dependencies": {
+ "abort-controller": "^3.0.0",
+ "node-fetch": "^2.6.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/levenary": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz",
+ "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==",
+ "dev": true,
+ "dependencies": {
+ "leven": "^3.1.0"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/levenary/node_modules/leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/lezer": {
+ "version": "0.13.4",
+ "resolved": "https://registry.npmjs.org/lezer/-/lezer-0.13.4.tgz",
+ "integrity": "sha512-cLQxUVY28VBBqKBt/R8CYeH57KQnIvscAnoahzvhlZTK8qxMkIyGExR6ecEpYYDX06ZhROZrEm1IiPvjLAsTig==",
+ "dependencies": {
+ "lezer-tree": "^0.13.2"
+ }
+ },
+ "node_modules/lezer-json": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/lezer-json/-/lezer-json-0.13.1.tgz",
+ "integrity": "sha512-iXIXSjqa/+jmaDKD4yPgpwfwQlbOcu/IaFgZ+3dgo3oVtitEVlAJYcfw8g9ywJtae3CYQlyOX9mjyi0VCNPlNg==",
+ "dependencies": {
+ "lezer": "^0.13.0"
+ }
+ },
+ "node_modules/lezer-tree": {
+ "version": "0.13.2",
+ "resolved": "https://registry.npmjs.org/lezer-tree/-/lezer-tree-0.13.2.tgz",
+ "integrity": "sha512-15ZxW8TxVNAOkHIo43Iouv4zbSkQQ5chQHBpwXcD2bBFz46RB4jYLEEww5l1V0xyIx9U2clSyyrLes+hAUFrGQ=="
+ },
+ "node_modules/li": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/li/-/li-1.3.0.tgz",
+ "integrity": "sha1-IsWbyu+qmo7zWc91l4TkvxBq6hs=",
+ "dev": true
+ },
+ "node_modules/lines-and-columns": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
+ "dev": true
+ },
+ "node_modules/lit": {
+ "version": "2.0.0-rc.1",
+ "resolved": "https://registry.npmjs.org/lit/-/lit-2.0.0-rc.1.tgz",
+ "integrity": "sha512-cf4r18feMhu56sO963a5MaHUn6OX2Am9sj9lzyGTYx2IPDhC9NP/Xh4rj9Ialo9dA+lI4brD7+9cxSzRIWHOmw==",
+ "dependencies": {
+ "@lit/reactive-element": "^1.0.0-rc.1",
+ "lit-element": "^3.0.0-rc.1",
+ "lit-html": "^2.0.0-rc.1"
+ }
+ },
+ "node_modules/lit-analyzer": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/lit-analyzer/-/lit-analyzer-1.2.1.tgz",
+ "integrity": "sha512-OEARBhDidyaQENavLbzpTKbEmu5rnAI+SdYsH4ia1BlGlLiqQXoym7uH1MaRPtwtUPbkhUfT4OBDZ+74VHc3Cg==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^2.4.2",
+ "didyoumean2": "4.1.0",
+ "fast-glob": "^2.2.6",
+ "parse5": "5.1.0",
+ "ts-simple-type": "~1.0.5",
+ "vscode-css-languageservice": "4.3.0",
+ "vscode-html-languageservice": "3.1.0",
+ "web-component-analyzer": "~1.1.1"
+ },
+ "bin": {
+ "lit-analyzer": "cli.js"
+ }
+ },
+ "node_modules/lit-element": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-2.4.0.tgz",
+ "integrity": "sha512-pBGLglxyhq/Prk2H91nA0KByq/hx/wssJBQFiYqXhGDvEnY31PRGYf1RglVzyLeRysu0IHm2K0P196uLLWmwFg==",
+ "dependencies": {
+ "lit-html": "^1.1.1"
+ }
+ },
+ "node_modules/lit-html": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-1.3.0.tgz",
+ "integrity": "sha512-0Q1bwmaFH9O14vycPHw8C/IeHMk/uSDldVLIefu/kfbTBGIc44KGH6A8p1bDfxUfHdc8q6Ct7kQklWoHgr4t1Q=="
+ },
+ "node_modules/lit/node_modules/lit-element": {
+ "version": "3.0.0-rc.1",
+ "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.0.0-rc.1.tgz",
+ "integrity": "sha512-SQH7LODMy+42UTOGiyHUTXronvv8Cud0Y/8Q8/1jd/9Putuh66GjN7FEjyNRxVbpIygnPqMbG854J9Ct9IJlFw==",
+ "dependencies": {
+ "@lit/reactive-element": "^1.0.0-rc.1",
+ "lit-html": "^2.0.0-rc.1"
+ }
+ },
+ "node_modules/lit/node_modules/lit-html": {
+ "version": "2.0.0-rc.2",
+ "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.0.0-rc.2.tgz",
+ "integrity": "sha512-rl3vtIQ0jq6r0GVbg+57Et9ra+iNhiz/v5V7uPTb6VxnjJaCCYKI7WkzKNlyzjMM2N/ytih3Uxb5vyyaOpjb0Q==",
+ "dependencies": {
+ "@types/trusted-types": "^1.0.1"
+ }
+ },
+ "node_modules/load-json-file": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/load-json-file/node_modules/parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "dependencies": {
+ "error-ex": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/load-json-file/node_modules/pify": {
+ "version": "2.3.0",
+ "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true
+ },
+ "node_modules/lodash-es": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
+ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
+ },
+ "node_modules/lodash._reinterpolate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
+ "dev": true
+ },
+ "node_modules/lodash.camelcase": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
+ "dev": true
+ },
+ "node_modules/lodash.deburr": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz",
+ "integrity": "sha1-3bG7s+8HRYwBd7oH3hRCLLAz/5s=",
+ "dev": true
+ },
+ "node_modules/lodash.find": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz",
+ "integrity": "sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=",
+ "dev": true
+ },
+ "node_modules/lodash.get": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
+ "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
+ "dev": true
+ },
+ "node_modules/lodash.includes": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
+ "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=",
+ "dev": true
+ },
+ "node_modules/lodash.isboolean": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
+ "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=",
+ "dev": true
+ },
+ "node_modules/lodash.isinteger": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
+ "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=",
+ "dev": true
+ },
+ "node_modules/lodash.isnumber": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
+ "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=",
+ "dev": true
+ },
+ "node_modules/lodash.isobject": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz",
+ "integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=",
+ "dev": true
+ },
+ "node_modules/lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
+ "dev": true
+ },
+ "node_modules/lodash.isstring": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
+ "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=",
+ "dev": true
+ },
+ "node_modules/lodash.keys": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-4.2.0.tgz",
+ "integrity": "sha1-oIYCrBLk+4P5H8H7ejYKTZujUgU=",
+ "dev": true
+ },
+ "node_modules/lodash.mapvalues": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz",
+ "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=",
+ "dev": true
+ },
+ "node_modules/lodash.memoize": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+ "dev": true
+ },
+ "node_modules/lodash.once": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
+ "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=",
+ "dev": true
+ },
+ "node_modules/lodash.set": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz",
+ "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=",
+ "dev": true
+ },
+ "node_modules/lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
+ "dev": true
+ },
+ "node_modules/lodash.template": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
+ "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
+ "dev": true,
+ "dependencies": {
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.templatesettings": "^4.0.0"
+ }
+ },
+ "node_modules/lodash.templatesettings": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
+ "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
+ "dev": true,
+ "dependencies": {
+ "lodash._reinterpolate": "^3.0.0"
+ }
+ },
+ "node_modules/lodash.uniq": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
+ "dev": true
+ },
+ "node_modules/loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dev": true,
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "node_modules/lower-case": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
+ "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/lower-case/node_modules/tslib": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
+ "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
+ "dev": true
+ },
+ "node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/macos-release": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.4.1.tgz",
+ "integrity": "sha512-H/QHeBIN1fIGJX517pvK8IEK53yQOW7YcEI55oYtgjDdoCQQz7eJS94qt5kNrscReEyuD/JcdFCm2XBEcGOITg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.25.7",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
+ "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
+ "dev": true,
+ "dependencies": {
+ "sourcemap-codec": "^1.4.4"
+ }
+ },
+ "node_modules/map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "dev": true,
+ "dependencies": {
+ "object-visit": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/media-typer": {
+ "version": "0.3.0",
+ "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/memfs-or-file-map-to-github-branch": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/memfs-or-file-map-to-github-branch/-/memfs-or-file-map-to-github-branch-1.2.0.tgz",
+ "integrity": "sha512-PloI9AkRXrLQuBU1s7eYQpl+4hkL0U0h23lddMaJ3ZGUufn8pdNRxd1kCfBqL5gISCFQs78ttXS15e4/f5vcTA==",
+ "dev": true,
+ "dependencies": {
+ "@octokit/rest": "^16.43.1"
+ }
+ },
+ "node_modules/merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
+ },
+ "node_modules/merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "dev": true
+ },
+ "node_modules/merge2": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz",
+ "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "dependencies": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.44.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
+ "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.27",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
+ "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
+ "dependencies": {
+ "mime-db": "1.44.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
+ },
+ "node_modules/mixin-deep": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "dev": true,
+ "dependencies": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/mixin-deep/node_modules/is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "dependencies": {
+ "is-plain-object": "^2.0.4"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+ "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+ "dev": true,
+ "dependencies": {
+ "minimist": "^1.2.5"
+ },
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "node_modules/nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "dev": true,
+ "dependencies": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
+ "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/nice-try": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+ "dev": true
+ },
+ "node_modules/no-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
+ "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
+ "dev": true,
+ "dependencies": {
+ "lower-case": "^2.0.2",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/no-case/node_modules/tslib": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
+ "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
+ "dev": true
+ },
+ "node_modules/node-cleanup": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz",
+ "integrity": "sha1-esGavSl+Caf3KnFUXZUbUX5N3iw=",
+ "dev": true
+ },
+ "node_modules/node-fetch": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
+ "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
+ "dev": true,
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ }
+ },
+ "node_modules/node-releases": {
+ "version": "1.1.71",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz",
+ "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==",
+ "dev": true
+ },
+ "node_modules/normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "dev": true,
+ "dependencies": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "dev": true,
+ "dependencies": {
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-copy/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz",
+ "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==",
+ "dev": true
+ },
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "dev": true,
+ "dependencies": {
+ "isobject": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object.assign": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+ "dev": true,
+ "dependencies": {
+ "define-properties": "^1.1.2",
+ "function-bind": "^1.1.1",
+ "has-symbols": "^1.0.0",
+ "object-keys": "^1.0.11"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "dev": true,
+ "dependencies": {
+ "isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object.values": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz",
+ "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.1",
+ "has": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/octokit-pagination-methods": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz",
+ "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==",
+ "dev": true
+ },
+ "node_modules/on-finished": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/only": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz",
+ "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=",
+ "dev": true
+ },
+ "node_modules/open": {
+ "version": "8.0.5",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.0.5.tgz",
+ "integrity": "sha512-hkPXCz7gijWp2GoWqsQ4O/5p7F6d5pIQ/+9NyeWG1nABJ4zvLi9kJRv1a44kVf5p13wK0WMoiRA+Xey68yOytA==",
+ "dev": true,
+ "dependencies": {
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+ "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "dev": true,
+ "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"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/os-name": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz",
+ "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==",
+ "dev": true,
+ "dependencies": {
+ "macos-release": "^2.2.0",
+ "windows-release": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/override-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/override-require/-/override-require-1.1.1.tgz",
+ "integrity": "sha1-auIvresfhQ/7DPTCD/e4fl62UN8=",
+ "dev": true
+ },
+ "node_modules/p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz",
+ "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==",
+ "dev": true,
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/param-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
+ "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
+ "dev": true,
+ "dependencies": {
+ "dot-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/param-case/node_modules/tslib": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
+ "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
+ "dev": true
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-diff": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/parse-diff/-/parse-diff-0.7.1.tgz",
+ "integrity": "sha512-1j3l8IKcy4yRK2W4o9EYvJLSzpAVwz4DXqCewYyx2vEwk2gcf3DBPqc8Fj4XV3K33OYJ08A8fWwyu/ykD/HUSg==",
+ "dev": true
+ },
+ "node_modules/parse-git-config": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-2.0.3.tgz",
+ "integrity": "sha512-Js7ueMZOVSZ3tP8C7E3KZiHv6QQl7lnJ+OkbxoaFazzSa2KyEHqApfGbU3XboUgUnq4ZuUmskUpYKTNx01fm5A==",
+ "dev": true,
+ "dependencies": {
+ "expand-tilde": "^2.0.2",
+ "git-config-path": "^1.0.1",
+ "ini": "^1.3.5"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-github-url": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz",
+ "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==",
+ "dev": true,
+ "bin": {
+ "parse-github-url": "cli.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dev": true,
+ "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"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/parse-link-header": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parse-link-header/-/parse-link-header-1.0.1.tgz",
+ "integrity": "sha1-vt/g0hGK64S+deewJUGeyKYRQKc=",
+ "dev": true,
+ "dependencies": {
+ "xtend": "~4.0.1"
+ }
+ },
+ "node_modules/parse-passwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/parse5": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
+ "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==",
+ "dev": true
+ },
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/pascal-case": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
+ "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
+ "dev": true,
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/pascal-case/node_modules/tslib": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
+ "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
+ "dev": true
+ },
+ "node_modules/pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-dirname": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+ "dev": true
+ },
+ "node_modules/path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-is-inside": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+ "dev": true
+ },
+ "node_modules/path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+ "dev": true
+ },
+ "node_modules/path-to-regexp": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.4.0.tgz",
+ "integrity": "sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w=="
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/pinpoint": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/pinpoint/-/pinpoint-1.1.0.tgz",
+ "integrity": "sha1-DPd1eml38b9/ajIge3CeN3OI6HQ=",
+ "dev": true
+ },
+ "node_modules/pkg-dir": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
+ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
+ "dev": true,
+ "dependencies": {
+ "find-up": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "dev": true,
+ "dependencies": {
+ "p-try": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/pkg-dir/node_modules/p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/prettier": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz",
+ "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==",
+ "dev": true,
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/prettier-linter-helpers": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
+ "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
+ "dev": true,
+ "dependencies": {
+ "fast-diff": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/pretty-bytes": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
+ "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/prettyjson": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prettyjson/-/prettyjson-1.2.1.tgz",
+ "integrity": "sha1-/P+rQdGcq0365eV15kJGYZsS0ok=",
+ "dev": true,
+ "dependencies": {
+ "colors": "^1.1.2",
+ "minimist": "^1.2.0"
+ },
+ "bin": {
+ "prettyjson": "bin/prettyjson"
+ }
+ },
+ "node_modules/private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/proxy-addr": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
+ "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
+ "dependencies": {
+ "forwarded": "~0.1.2",
+ "ipaddr.js": "1.9.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "dependencies": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "node_modules/punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/qs": {
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
+ "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/query-string": {
+ "version": "6.13.8",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.13.8.tgz",
+ "integrity": "sha512-jxJzQI2edQPE/NPUOusNjO/ZOGqr1o2OBa/3M00fU76FsLXDVbJDv/p7ng5OdQyorKrkRz1oqfwmbe5MAMePQg==",
+ "dev": true,
+ "dependencies": {
+ "decode-uri-component": "^0.2.0",
+ "split-on-first": "^1.0.0",
+ "strict-uri-encode": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/raw-body": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
+ "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
+ "dependencies": {
+ "bytes": "3.1.0",
+ "http-errors": "1.7.2",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/raw-body/node_modules/http-errors": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
+ "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
+ "dependencies": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.1",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/raw-body/node_modules/inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ },
+ "node_modules/read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "dev": true,
+ "dependencies": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/read-pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
+ "dev": true,
+ "dependencies": {
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "dev": true,
+ "dependencies": {
+ "p-try": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/path-type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "dev": true,
+ "dependencies": {
+ "pify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/read-pkg": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "dev": true,
+ "dependencies": {
+ "load-json-file": "^2.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg/node_modules/type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
+ "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
+ "dev": true,
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/readline-sync": {
+ "version": "1.4.10",
+ "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz",
+ "integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/reduce-flatten": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz",
+ "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/regenerate": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
+ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
+ "dev": true
+ },
+ "node_modules/regenerate-unicode-properties": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
+ "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==",
+ "dev": true,
+ "dependencies": {
+ "regenerate": "^1.4.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/regenerator-runtime": {
+ "version": "0.13.7",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
+ "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==",
+ "dev": true
+ },
+ "node_modules/regenerator-transform": {
+ "version": "0.14.4",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz",
+ "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.8.4",
+ "private": "^0.1.8"
+ }
+ },
+ "node_modules/regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
+ "dependencies": {
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/regexpp": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
+ "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/regexpu-core": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
+ "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==",
+ "dev": true,
+ "dependencies": {
+ "regenerate": "^1.4.0",
+ "regenerate-unicode-properties": "^8.2.0",
+ "regjsgen": "^0.5.1",
+ "regjsparser": "^0.6.4",
+ "unicode-match-property-ecmascript": "^1.0.4",
+ "unicode-match-property-value-ecmascript": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/regjsgen": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz",
+ "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==",
+ "dev": true
+ },
+ "node_modules/regjsparser": {
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
+ "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
+ "dev": true,
+ "dependencies": {
+ "jsesc": "~0.5.0"
+ },
+ "bin": {
+ "regjsparser": "bin/parser"
+ }
+ },
+ "node_modules/regjsparser/node_modules/jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true,
+ "bin": {
+ "jsesc": "bin/jsesc"
+ }
+ },
+ "node_modules/relateurl": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
+ "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/repeat-element": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/require-main-filename": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+ "dev": true
+ },
+ "node_modules/resolve": {
+ "version": "1.19.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
+ "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
+ "dev": true,
+ "dependencies": {
+ "is-core-module": "^2.1.0",
+ "path-parse": "^1.0.6"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/resolve-path": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz",
+ "integrity": "sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc=",
+ "dev": true,
+ "dependencies": {
+ "http-errors": "~1.6.2",
+ "path-is-absolute": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/resolve-path/node_modules/http-errors": {
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+ "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
+ "dev": true,
+ "dependencies": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.0",
+ "statuses": ">= 1.4.0 < 2"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/resolve-path/node_modules/inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ },
+ "node_modules/resolve-path/node_modules/setprototypeof": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
+ "dev": true
+ },
+ "node_modules/resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
+ },
+ "node_modules/resumer": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz",
+ "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=",
+ "dev": true,
+ "dependencies": {
+ "through": "~2.3.4"
+ }
+ },
+ "node_modules/ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12"
+ }
+ },
+ "node_modules/retry": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true,
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "2.44.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.44.0.tgz",
+ "integrity": "sha512-rGSF4pLwvuaH/x4nAS+zP6UNn5YUDWf/TeEU5IoXSZKBbKRNTCI3qMnYXKZgrC0D2KzS2baiOZt1OlqhMu5rnQ==",
+ "dev": true,
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.1"
+ }
+ },
+ "node_modules/rollup-plugin-babel": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz",
+ "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "rollup-pluginutils": "^2.8.1"
+ }
+ },
+ "node_modules/rollup-plugin-copy": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.4.0.tgz",
+ "integrity": "sha512-rGUmYYsYsceRJRqLVlE9FivJMxJ7X6jDlP79fmFkL8sJs7VVMSVyA2yfyL+PGyO/vJs4A87hwhgVfz61njI+uQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/fs-extra": "^8.0.1",
+ "colorette": "^1.1.0",
+ "fs-extra": "^8.1.0",
+ "globby": "10.0.1",
+ "is-plain-object": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8.3"
+ }
+ },
+ "node_modules/rollup-plugin-copy/node_modules/is-plain-object": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz",
+ "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rollup-plugin-lit-css": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-lit-css/-/rollup-plugin-lit-css-2.1.0.tgz",
+ "integrity": "sha512-/sQRK00EmI7C6QNLFeFTjGzMoFX75puY31QFtZncFVVv1gi2U5KDNShcNTNV3R1g3sPRf4XnVKchtzIofPVixg==",
+ "dev": true,
+ "dependencies": {
+ "rollup-pluginutils": "^2.8.2",
+ "string-to-template-literal": "^0.2.2",
+ "uglifycss": "0.0.29"
+ }
+ },
+ "node_modules/rollup-plugin-terser": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz",
+ "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "jest-worker": "^26.2.1",
+ "serialize-javascript": "^4.0.0",
+ "terser": "^5.0.0"
+ }
+ },
+ "node_modules/rollup-plugin-terser/node_modules/@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/highlight": "^7.10.4"
+ }
+ },
+ "node_modules/rollup-plugin-terser/node_modules/@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "node_modules/rollup-plugin-terser/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/rollup-plugin-terser/node_modules/jest-worker": {
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.3.0.tgz",
+ "integrity": "sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
+ "node_modules/rollup-plugin-terser/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rollup-plugin-terser/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/rollup-plugin-terser/node_modules/terser": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.3.0.tgz",
+ "integrity": "sha512-XTT3D3AwxC54KywJijmY2mxZ8nJiEjBHVYzq8l9OaYuRFWeQNBwvipuzzYEP4e+/AVcd1hqG/CqgsdIRyT45Fg==",
+ "dev": true,
+ "dependencies": {
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
+ },
+ "bin": {
+ "terser": "bin/terser"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/rollup-plugin-workbox": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-workbox/-/rollup-plugin-workbox-6.1.1.tgz",
+ "integrity": "sha512-K3J3qx8iGikE896s3GDwQhiFToE9ZNkOx2k0jLCOMlFFU1bfY332Z3/qZPdDJV5Zc8U3sOJvD70JjV/aEQD5ew==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/plugin-node-resolve": "^11.0.1",
+ "@rollup/plugin-replace": "^2.3.4",
+ "pretty-bytes": "^5.5.0",
+ "rollup-plugin-terser": "^7.0.2",
+ "workbox-build": "^6.0.2"
+ }
+ },
+ "node_modules/rollup-plugin-workbox-inject": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-workbox-inject/-/rollup-plugin-workbox-inject-2.0.0.tgz",
+ "integrity": "sha512-sJ/TnRfGobXEGUSokOgRiEnPLJCBw9TF/q7EbYGRyN9Im7PVXsLKwfkgmtXb9/0/5GhK/97bcdYBR8V50YWyVA==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^3.0.0",
+ "fast-json-stable-stringify": "^2.1.0",
+ "pretty-bytes": "^5.3.0",
+ "upath": "^1.2.0",
+ "workbox-build": "^5.0.0"
+ }
+ },
+ "node_modules/rollup-plugin-workbox-inject/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/rollup-plugin-workbox-inject/node_modules/chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/rollup-plugin-workbox-inject/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/rollup-plugin-workbox-inject/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/rollup-plugin-workbox-inject/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/rollup-plugin-workbox-inject/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/@hapi/joi": {
+ "version": "16.1.8",
+ "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-16.1.8.tgz",
+ "integrity": "sha512-wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg==",
+ "dev": true,
+ "dependencies": {
+ "@hapi/address": "^2.1.2",
+ "@hapi/formula": "^1.2.0",
+ "@hapi/hoek": "^8.2.4",
+ "@hapi/pinpoint": "^1.0.2",
+ "@hapi/topo": "^3.1.3"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/@types/resolve": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
+ "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/crypto-random-string": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
+ "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dev": true,
+ "dependencies": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.1.6",
+ "universalify": "^2.0.0"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/source-map": {
+ "version": "0.8.0-beta.0",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz",
+ "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==",
+ "dev": true,
+ "dependencies": {
+ "whatwg-url": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/strip-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz",
+ "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/temp-dir": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz",
+ "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/tempy": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz",
+ "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==",
+ "dev": true,
+ "dependencies": {
+ "is-stream": "^2.0.0",
+ "temp-dir": "^2.0.0",
+ "type-fest": "^0.16.0",
+ "unique-string": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/type-fest": {
+ "version": "0.16.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz",
+ "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/unique-string": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
+ "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
+ "dev": true,
+ "dependencies": {
+ "crypto-random-string": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/workbox-background-sync": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.1.2.tgz",
+ "integrity": "sha512-rdXbGCI7KIxlw/rtVc3Bfp7S2ylZ7u+bSPoW8W6bxBR4RsSSagNIJOvkiS1+3zZOwvNcUxcRvVhDcwDz1cBbhQ==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^6.1.2"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/workbox-broadcast-update": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.1.2.tgz",
+ "integrity": "sha512-pISOgOMH5pRVBlnvverxoaMgZzxdopzozuyjAt6UcctOjvuISQyTGa28C4qQ6XN20/rb3tk3n94N122wxicGXg==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^6.1.2"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/workbox-build": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.1.2.tgz",
+ "integrity": "sha512-Px9amQd46uJh37ZWoT2LIcXTgBEZAOB28otxqJRNS4jpUhtANHQG3yX6AhwPdcw6xTV5ufLXizBCkF8z/cox0A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.11.1",
+ "@babel/preset-env": "^7.11.0",
+ "@babel/runtime": "^7.11.2",
+ "@hapi/joi": "^16.1.8",
+ "@rollup/plugin-babel": "^5.2.0",
+ "@rollup/plugin-node-resolve": "^9.0.0",
+ "@rollup/plugin-replace": "^2.4.1",
+ "@surma/rollup-plugin-off-main-thread": "^1.4.1",
+ "common-tags": "^1.8.0",
+ "fast-json-stable-stringify": "^2.1.0",
+ "fs-extra": "^9.0.1",
+ "glob": "^7.1.6",
+ "lodash": "^4.17.20",
+ "pretty-bytes": "^5.3.0",
+ "rollup": "^2.25.0",
+ "rollup-plugin-terser": "^7.0.0",
+ "source-map": "^0.8.0-beta.0",
+ "source-map-url": "^0.4.0",
+ "stringify-object": "^3.3.0",
+ "strip-comments": "^2.0.1",
+ "tempy": "^0.6.0",
+ "upath": "^1.2.0",
+ "workbox-background-sync": "^6.1.2",
+ "workbox-broadcast-update": "^6.1.2",
+ "workbox-cacheable-response": "^6.1.2",
+ "workbox-core": "^6.1.2",
+ "workbox-expiration": "^6.1.2",
+ "workbox-google-analytics": "^6.1.2",
+ "workbox-navigation-preload": "^6.1.2",
+ "workbox-precaching": "^6.1.2",
+ "workbox-range-requests": "^6.1.2",
+ "workbox-recipes": "^6.1.2",
+ "workbox-routing": "^6.1.2",
+ "workbox-strategies": "^6.1.2",
+ "workbox-streams": "^6.1.2",
+ "workbox-sw": "^6.1.2",
+ "workbox-window": "^6.1.2"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/workbox-build/node_modules/@rollup/plugin-node-resolve": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz",
+ "integrity": "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^3.1.0",
+ "@types/resolve": "1.17.1",
+ "builtin-modules": "^3.1.0",
+ "deepmerge": "^4.2.2",
+ "is-module": "^1.0.0",
+ "resolve": "^1.17.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/workbox-cacheable-response": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.1.2.tgz",
+ "integrity": "sha512-zSTQWJU+CBHC90N/Dccb9n0IzbTsmnl28usKOlVYbfHS5wit3izpD7djqqHzgzyS+gdemRjY4s02VV9WvyeD1w==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^6.1.2"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/workbox-expiration": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.1.2.tgz",
+ "integrity": "sha512-86cXz8Ae5cAJMgJ6aD/8E1NMNON4qGnE4ir1G3VuOu1xLsx2ItbbXmz6b0BB2dZ+kX6BDwqE0wkgS5As5Sds7g==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^6.1.2"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/workbox-google-analytics": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.1.2.tgz",
+ "integrity": "sha512-7mO/gMms1yivnoVPnm8LXYHV2SsHBxTijYNXx032nzMX0gpBKJfRHmNvZDVRvn2L6YRxFiMg0x9JuHe2b2wSeg==",
+ "dev": true,
+ "dependencies": {
+ "workbox-background-sync": "^6.1.2",
+ "workbox-core": "^6.1.2",
+ "workbox-routing": "^6.1.2",
+ "workbox-strategies": "^6.1.2"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/workbox-navigation-preload": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.1.2.tgz",
+ "integrity": "sha512-A41yO/mLjHMNV1EGWFTDExYAYkNvdtu2U0deRNL3HKKEMomqhLfFHJVg/b2jyarMf9Iosm7jHFbbTr8hiaMWwA==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^6.1.2"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/workbox-range-requests": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.1.2.tgz",
+ "integrity": "sha512-VNwg8DKpQtIRBQ+3GPAv7/OFjs1AdJDt06BJOnNxy4NiY3/Abhjry5P7SJ8uXMNwxiSHKpcLY8nAF+YVYlLuRQ==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^6.1.2"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/workbox-routing": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.1.2.tgz",
+ "integrity": "sha512-aRcqO+KX9A0J5W6hEeEpGhT6Lesqd3WfgaqlSD5LRajm0vAgYnlQzY37w6uC55Ev7M5Gh/xg0lA99qKc6ozsEA==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^6.1.2"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/workbox-strategies": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.1.2.tgz",
+ "integrity": "sha512-IX7UNePHmmfb1dcXSxgcephYShnLc0pmP3MRT/TZGjv8f0qcZYH7Sr/lTmwaxGXQL8yCSCrQICZwJnHLw2G5Ng==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^6.1.2"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/workbox-streams": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.1.2.tgz",
+ "integrity": "sha512-iAHamHNZPSfN8k2QMrfei6/2FrReSHCkQUi4gU4B+tDXi4lY33/iU3+xlWLsMunLzoJhtPChDLG10s+EU5egvQ==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^6.1.2",
+ "workbox-routing": "^6.1.2"
+ }
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/workbox-sw": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.1.2.tgz",
+ "integrity": "sha512-daxYjELQlNmGLeQolz29vkiVKMcAzZrSv5MLPAghvid6sajpq9x+FfMGriWaZcpyGZVKStAf6XzUbvvm0sJ/HA==",
+ "dev": true
+ },
+ "node_modules/rollup-plugin-workbox/node_modules/workbox-window": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.1.2.tgz",
+ "integrity": "sha512-SXOAv56PWHzLhJcyQGPio1OXGzSza814lc2D42+go8CmeNIJDb03nzUi1FGMF4Tt1F7h5q8IYzq5bPQLTZ7IKQ==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^6.1.2"
+ }
+ },
+ "node_modules/rollup-pluginutils": {
+ "version": "2.8.2",
+ "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
+ "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
+ "dev": true,
+ "dependencies": {
+ "estree-walker": "^0.6.1"
+ }
+ },
+ "node_modules/rollup-pluginutils/node_modules/estree-walker": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
+ "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
+ "dev": true
+ },
+ "node_modules/run-parallel": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
+ "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==",
+ "dev": true
+ },
+ "node_modules/rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.9.0"
+ },
+ "engines": {
+ "npm": ">=2.0.0"
+ }
+ },
+ "node_modules/rxjs/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true,
+ "dependencies": {
+ "ret": "~0.1.10"
+ }
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/send": {
+ "version": "0.17.1",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
+ "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
+ "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.7.2",
+ "mime": "1.6.0",
+ "ms": "2.1.1",
+ "on-finished": "~2.3.0",
+ "range-parser": "~1.2.1",
+ "statuses": "~1.5.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/send/node_modules/ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
+ },
+ "node_modules/serialize-javascript": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
+ "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
+ "dev": true,
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/serve-static": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
+ "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
+ "dependencies": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.17.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
+ },
+ "node_modules/set-value": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
+ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+ "dev": true,
+ "dependencies": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/set-value/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/setprototypeof": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
+ "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
+ },
+ "node_modules/shady-css-scoped-element": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/shady-css-scoped-element/-/shady-css-scoped-element-0.0.2.tgz",
+ "integrity": "sha512-Dqfl70x6JiwYDujd33ZTbtCK0t52E7+H2swdWQNSTzfsolSa6LJHnTpN4T9OpJJEq4bxuzHRLFO9RBcy/UfrMQ==",
+ "dev": true
+ },
+ "node_modules/shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "dependencies": {
+ "shebang-regex": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
+ "dev": true
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/slice-ansi/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/slice-ansi/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/slice-ansi/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
+ "dependencies": {
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
+ "dependencies": {
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-node/node_modules/define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "dependencies": {
+ "is-descriptor": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-node/node_modules/is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-node/node_modules/is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
+ "dependencies": {
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^3.2.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon-util/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/snapdragon/node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-resolve": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+ "dev": true,
+ "dependencies": {
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
+ }
+ },
+ "node_modules/source-map-support": {
+ "version": "0.5.16",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz",
+ "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==",
+ "dev": true,
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/source-map-support/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-url": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
+ },
+ "node_modules/sourcemap-codec": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
+ "dev": true
+ },
+ "node_modules/spawn-command": {
+ "version": "0.0.2-1",
+ "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz",
+ "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=",
+ "dev": true
+ },
+ "node_modules/spdx-correct": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
+ "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+ "dev": true,
+ "dependencies": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-exceptions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+ "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+ "dev": true
+ },
+ "node_modules/spdx-expression-parse": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+ "dev": true,
+ "dependencies": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-license-ids": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
+ "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
+ "dev": true
+ },
+ "node_modules/split-on-first": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz",
+ "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true,
+ "dependencies": {
+ "extend-shallow": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "node_modules/static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
+ "dependencies": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/static-extend/node_modules/define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "dependencies": {
+ "is-descriptor": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/strict-uri-encode": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz",
+ "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/string-to-template-literal": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/string-to-template-literal/-/string-to-template-literal-0.2.2.tgz",
+ "integrity": "sha512-9lSNOLoQKhtdHkp1avgpraImiSvBBgxJQwkVriDDcHmvPsnCZpLbAMJnJxj9Mf1GkziHBo3vwxipukhA+KCC0g==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
+ "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string.prototype.trimend": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz",
+ "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3"
+ }
+ },
+ "node_modules/string.prototype.trimstart": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz",
+ "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3"
+ }
+ },
+ "node_modules/stringify-object": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
+ "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==",
+ "dev": true,
+ "dependencies": {
+ "get-own-enumerable-property-symbols": "^3.0.0",
+ "is-obj": "^1.0.1",
+ "is-regexp": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/strip-comments": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz",
+ "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==",
+ "dev": true,
+ "dependencies": {
+ "babel-extract-comments": "^1.0.0",
+ "babel-plugin-transform-object-rest-spread": "^6.26.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/style-mod": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz",
+ "integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw=="
+ },
+ "node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/supports-hyperlinks": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz",
+ "integrity": "sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^2.0.0",
+ "supports-color": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/supports-hyperlinks/node_modules/has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/systemjs": {
+ "version": "6.8.3",
+ "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-6.8.3.tgz",
+ "integrity": "sha512-UcTY+FEA1B7e+bpJk1TI+a9Na6LG7wFEqW7ED16cLqLuQfI/9Ri0rsXm3tKlIgNoHyLHZycjdAOijzNbzelgwA==",
+ "dev": true
+ },
+ "node_modules/table": {
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/table-layout": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.1.tgz",
+ "integrity": "sha512-dEquqYNJiGwY7iPfZ3wbXDI944iqanTSchrACLL2nOB+1r+h1Nzu2eH+DuPPvWvm5Ry7iAPeFlgEtP5bIp5U7Q==",
+ "dev": true,
+ "dependencies": {
+ "array-back": "^4.0.1",
+ "deep-extend": "~0.6.0",
+ "typical": "^5.2.0",
+ "wordwrapjs": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/table-layout/node_modules/array-back": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.1.tgz",
+ "integrity": "sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/table-layout/node_modules/typical": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz",
+ "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/table/node_modules/ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "node_modules/table/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ },
+ "node_modules/tape": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/tape/-/tape-2.3.3.tgz",
+ "integrity": "sha1-Lnzgox3wn41oUWZKcYQuDKUFevc=",
+ "dev": true,
+ "dependencies": {
+ "deep-equal": "~0.1.0",
+ "defined": "~0.0.0",
+ "inherits": "~2.0.1",
+ "jsonify": "~0.0.0",
+ "resumer": "~0.0.0",
+ "through": "~2.3.4"
+ },
+ "bin": {
+ "tape": "bin/tape"
+ }
+ },
+ "node_modules/tape/node_modules/deep-equal": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.1.2.tgz",
+ "integrity": "sha1-skbCuApXCkfBG+HZvRBw7IeLh84=",
+ "dev": true
+ },
+ "node_modules/temp-dir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
+ "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/tempy": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.3.0.tgz",
+ "integrity": "sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==",
+ "dev": true,
+ "dependencies": {
+ "temp-dir": "^1.0.0",
+ "type-fest": "^0.3.1",
+ "unique-string": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/terser": {
+ "version": "4.6.7",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.7.tgz",
+ "integrity": "sha512-fmr7M1f7DBly5cX2+rFDvmGBAaaZyPrHYK4mMdHEDAdNTqXSZgSOfqsfGq2HqPGT/1V0foZZuCZFx8CHKgAk3g==",
+ "dev": true,
+ "dependencies": {
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
+ },
+ "bin": {
+ "terser": "bin/terser"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/terser/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/text-table": {
"version": "0.2.0",
- "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz",
- "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "node_modules/through": {
+ "version": "2.3.8",
+ "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "dev": true
+ },
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "dev": true,
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/to-object-path/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
+ "dependencies": {
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "regex-not": "^1.0.2",
+ "safe-regex": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/toidentifier": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
+ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
+ "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
+ "dev": true,
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/tree-kill": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
+ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
+ "dev": true,
+ "bin": {
+ "tree-kill": "cli.js"
+ }
+ },
+ "node_modules/ts-simple-type": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/ts-simple-type/-/ts-simple-type-1.0.7.tgz",
+ "integrity": "sha512-zKmsCQs4dZaeSKjEA7pLFDv7FHHqAFLPd0Mr//OIJvu8M+4p4bgSFJwZSEBEg3ec9W7RzRz1vi8giiX0+mheBQ==",
+ "dev": true
+ },
+ "node_modules/tsconfig-paths": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz",
+ "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==",
+ "dev": true,
+ "dependencies": {
+ "@types/json5": "^0.0.29",
+ "json5": "^1.0.1",
+ "minimist": "^1.2.0",
+ "strip-bom": "^3.0.0"
+ }
+ },
+ "node_modules/tsconfig-paths/node_modules/json5": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "dependencies": {
+ "minimist": "^1.2.0"
+ },
+ "bin": {
+ "json5": "lib/cli.js"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
+ "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
+ "dev": true
+ },
+ "node_modules/tsscmp": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz",
+ "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.6.x"
+ }
+ },
+ "node_modules/tsutils": {
+ "version": "3.19.0",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.19.0.tgz",
+ "integrity": "sha512-A7BaLUPvcQ1cxVu72YfD+UMI3SQPTDv/w4ol6TOwLyI0hwfG9EC+cYlhdflJTmtYTgZ3KqdPSe/otxU4K3kArg==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.8.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/tsutils/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/type-fest": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz",
+ "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "dependencies": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz",
+ "integrity": "sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==",
+ "dev": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=4.2.0"
+ }
+ },
+ "node_modules/typical": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
+ "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/uglifycss": {
+ "version": "0.0.29",
+ "resolved": "https://registry.npmjs.org/uglifycss/-/uglifycss-0.0.29.tgz",
+ "integrity": "sha512-J2SQ2QLjiknNGbNdScaNZsXgmMGI0kYNrXaDlr4obnPW9ni1jljb1NeEVWAiTgZ8z+EBWP2ozfT9vpy03rjlMQ==",
+ "dev": true,
+ "bin": {
+ "uglifycss": "uglifycss"
+ },
+ "engines": {
+ "node": ">=6.4.0"
+ }
+ },
+ "node_modules/unicode-canonical-property-names-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/unicode-match-property-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
+ "dev": true,
+ "dependencies": {
+ "unicode-canonical-property-names-ecmascript": "^1.0.4",
+ "unicode-property-aliases-ecmascript": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/unicode-match-property-value-ecmascript": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
+ "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/unicode-property-aliases-ecmascript": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz",
+ "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/union-value": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+ "dev": true,
+ "dependencies": {
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/unique-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
+ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
+ "dev": true,
+ "dependencies": {
+ "crypto-random-string": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/universal-url": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universal-url/-/universal-url-2.0.0.tgz",
+ "integrity": "sha512-3DLtXdm/G1LQMCnPj+Aw7uDoleQttNHp2g5FnNQKR6cP6taNWS1b/Ehjjx4PVyvejKi3TJyu8iBraKM4q3JQPg==",
+ "dev": true,
+ "dependencies": {
+ "hasurl": "^1.0.0",
+ "whatwg-url": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/universal-user-agent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz",
+ "integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==",
+ "dev": true,
+ "dependencies": {
+ "os-name": "^3.1.0"
+ }
+ },
+ "node_modules/universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "dev": true,
+ "dependencies": {
+ "has-value": "^0.3.1",
+ "isobject": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/unset-value/node_modules/has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
+ "dependencies": {
+ "get-value": "^2.0.3",
+ "has-values": "^0.1.4",
+ "isobject": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/unset-value/node_modules/has-value/node_modules/isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
+ "dependencies": {
+ "isarray": "1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/unset-value/node_modules/has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/upath": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
+ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
+ "dev": true,
+ "engines": {
+ "node": ">=4",
+ "yarn": "*"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
+ "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "dev": true,
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
+ },
+ "node_modules/use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/v8-compile-cache": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz",
+ "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==",
+ "dev": true
+ },
+ "node_modules/valid-url": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz",
+ "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=",
+ "dev": true
+ },
+ "node_modules/validate-npm-package-license": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "dev": true,
+ "dependencies": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/vscode-css-languageservice": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-4.3.0.tgz",
+ "integrity": "sha512-BkQAMz4oVHjr0oOAz5PdeE72txlLQK7NIwzmclfr+b6fj6I8POwB+VoXvrZLTbWt9hWRgfvgiQRkh5JwrjPJ5A==",
+ "dev": true,
+ "dependencies": {
+ "vscode-languageserver-textdocument": "^1.0.1",
+ "vscode-languageserver-types": "3.16.0-next.2",
+ "vscode-nls": "^4.1.2",
+ "vscode-uri": "^2.1.2"
+ }
+ },
+ "node_modules/vscode-html-languageservice": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-3.1.0.tgz",
+ "integrity": "sha512-QAyRHI98bbEIBCqTzZVA0VblGU40na0txggongw5ZgTj9UVsVk5XbLT16O9OTcbqBGSqn0oWmFDNjK/XGIDcqg==",
+ "dev": true,
+ "dependencies": {
+ "vscode-languageserver-textdocument": "^1.0.1",
+ "vscode-languageserver-types": "3.16.0-next.2",
+ "vscode-nls": "^4.1.2",
+ "vscode-uri": "^2.1.2"
+ }
+ },
+ "node_modules/vscode-languageserver-textdocument": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.1.tgz",
+ "integrity": "sha512-UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA==",
+ "dev": true
+ },
+ "node_modules/vscode-languageserver-types": {
+ "version": "3.16.0-next.2",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0-next.2.tgz",
+ "integrity": "sha512-QjXB7CKIfFzKbiCJC4OWC8xUncLsxo19FzGVp/ADFvvi87PlmBSCAtZI5xwGjF5qE0xkLf0jjKUn3DzmpDP52Q==",
+ "dev": true
+ },
+ "node_modules/vscode-nls": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.2.tgz",
+ "integrity": "sha512-7bOHxPsfyuCqmP+hZXscLhiHwe7CSuFE4hyhbs22xPIhQ4jv99FcR4eBzfYYVLP356HNFpdvz63FFb/xw6T4Iw==",
+ "dev": true
+ },
+ "node_modules/vscode-uri": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz",
+ "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==",
+ "dev": true
+ },
+ "node_modules/w3c-keyname": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.4.tgz",
+ "integrity": "sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw=="
+ },
+ "node_modules/web-component-analyzer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.1.6.tgz",
+ "integrity": "sha512-1PyBkb/jijDEVE+Pnk3DTmVHD8takipdvAwvZv1V8jIidsSIJ5nhN87Gs+4dpEb1vw48yp8dnbZKkvMYJ+C0VQ==",
+ "dev": true,
+ "dependencies": {
+ "fast-glob": "^3.2.2",
+ "ts-simple-type": "~1.0.5",
+ "typescript": "^3.8.3",
+ "yargs": "^15.3.1"
+ },
+ "bin": {
+ "wca": "cli.js",
+ "web-component-analyzer": "cli.js"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/@nodelib/fs.stat": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "dependencies": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/cliui": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/web-component-analyzer/node_modules/fast-glob": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
+ "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
+ "dev": true,
+ "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"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/typescript": {
+ "version": "3.9.7",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz",
+ "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==",
+ "dev": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=4.2.0"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/wrap-ansi": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/yargs": {
+ "version": "15.4.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
+ "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+ "dev": true,
+ "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"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/web-component-analyzer/node_modules/yargs-parser": {
+ "version": "18.1.3",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+ "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+ "dev": true,
+ "dependencies": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
+ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
+ "dev": true
+ },
+ "node_modules/whatwg-fetch": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz",
+ "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==",
+ "dev": true
+ },
+ "node_modules/whatwg-streams": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/whatwg-streams/-/whatwg-streams-0.1.1.tgz",
+ "integrity": "sha1-3VV1yWW84T2nbcDdSVYpqHVy504=",
+ "dev": true,
+ "dependencies": {
+ "bluebird": "~1.0.0",
+ "tape": "~2.3.2"
+ }
+ },
+ "node_modules/whatwg-url": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
+ "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
+ "dev": true,
+ "dependencies": {
+ "lodash.sortby": "^4.7.0",
+ "tr46": "^1.0.1",
+ "webidl-conversions": "^4.0.2"
+ }
+ },
+ "node_modules/which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "which": "bin/which"
+ }
+ },
+ "node_modules/which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "dev": true
+ },
+ "node_modules/windows-release": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz",
+ "integrity": "sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==",
+ "dev": true,
+ "dependencies": {
+ "execa": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/wordwrapjs": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.0.tgz",
+ "integrity": "sha512-Svqw723a3R34KvsMgpjFBYCgNOSdcW3mQFK4wIfhGQhtaFVOJmdYoXgi63ne3dTlWgatVcUc7t4HtQ/+bUVIzQ==",
+ "dev": true,
+ "dependencies": {
+ "reduce-flatten": "^2.0.0",
+ "typical": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/wordwrapjs/node_modules/typical": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz",
+ "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/workbox-background-sync": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-5.1.4.tgz",
+ "integrity": "sha512-AH6x5pYq4vwQvfRDWH+vfOePfPIYQ00nCEB7dJRU1e0n9+9HMRyvI63FlDvtFT2AvXVRsXvUt7DNMEToyJLpSA==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-background-sync/node_modules/workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ },
+ "node_modules/workbox-broadcast-update": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-5.1.4.tgz",
+ "integrity": "sha512-HTyTWkqXvHRuqY73XrwvXPud/FN6x3ROzkfFPsRjtw/kGZuZkPzfeH531qdUGfhtwjmtO/ZzXcWErqVzJNdXaA==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-broadcast-update/node_modules/workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ },
+ "node_modules/workbox-build": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-5.1.4.tgz",
+ "integrity": "sha512-xUcZn6SYU8usjOlfLb9Y2/f86Gdo+fy1fXgH8tJHjxgpo53VVsqRX0lUDw8/JuyzNmXuo8vXX14pXX2oIm9Bow==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.8.4",
+ "@babel/preset-env": "^7.8.4",
+ "@babel/runtime": "^7.8.4",
+ "@hapi/joi": "^15.1.0",
+ "@rollup/plugin-node-resolve": "^7.1.1",
+ "@rollup/plugin-replace": "^2.3.1",
+ "@surma/rollup-plugin-off-main-thread": "^1.1.1",
+ "common-tags": "^1.8.0",
+ "fast-json-stable-stringify": "^2.1.0",
+ "fs-extra": "^8.1.0",
+ "glob": "^7.1.6",
+ "lodash.template": "^4.5.0",
+ "pretty-bytes": "^5.3.0",
+ "rollup": "^1.31.1",
+ "rollup-plugin-babel": "^4.3.3",
+ "rollup-plugin-terser": "^5.3.1",
+ "source-map": "^0.7.3",
+ "source-map-url": "^0.4.0",
+ "stringify-object": "^3.3.0",
+ "strip-comments": "^1.0.2",
+ "tempy": "^0.3.0",
+ "upath": "^1.2.0",
+ "workbox-background-sync": "^5.1.4",
+ "workbox-broadcast-update": "^5.1.4",
+ "workbox-cacheable-response": "^5.1.4",
+ "workbox-core": "^5.1.4",
+ "workbox-expiration": "^5.1.4",
+ "workbox-google-analytics": "^5.1.4",
+ "workbox-navigation-preload": "^5.1.4",
+ "workbox-precaching": "^5.1.4",
+ "workbox-range-requests": "^5.1.4",
+ "workbox-routing": "^5.1.4",
+ "workbox-strategies": "^5.1.4",
+ "workbox-streams": "^5.1.4",
+ "workbox-sw": "^5.1.4",
+ "workbox-window": "^5.1.4"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/workbox-build/node_modules/@rollup/plugin-node-resolve": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz",
+ "integrity": "sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^3.0.8",
+ "@types/resolve": "0.0.8",
+ "builtin-modules": "^3.1.0",
+ "is-module": "^1.0.0",
+ "resolve": "^1.14.2"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ }
+ },
+ "node_modules/workbox-build/node_modules/jest-worker": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz",
+ "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==",
+ "dev": true,
+ "dependencies": {
+ "merge-stream": "^2.0.0",
+ "supports-color": "^6.1.0"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/workbox-build/node_modules/rollup": {
+ "version": "1.32.1",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz",
+ "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "*",
+ "@types/node": "*",
+ "acorn": "^7.1.0"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ }
+ },
+ "node_modules/workbox-build/node_modules/rollup-plugin-terser": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz",
+ "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.5.5",
+ "jest-worker": "^24.9.0",
+ "rollup-pluginutils": "^2.8.2",
+ "serialize-javascript": "^4.0.0",
+ "terser": "^4.6.2"
+ }
+ },
+ "node_modules/workbox-build/node_modules/source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/workbox-build/node_modules/supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/workbox-build/node_modules/workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ },
+ "node_modules/workbox-build/node_modules/workbox-precaching": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-5.1.4.tgz",
+ "integrity": "sha512-gCIFrBXmVQLFwvAzuGLCmkUYGVhBb7D1k/IL7pUJUO5xacjLcFUaLnnsoVepBGAiKw34HU1y/YuqvTKim9qAZA==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-cacheable-response": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-5.1.4.tgz",
+ "integrity": "sha512-0bfvMZs0Of1S5cdswfQK0BXt6ulU5kVD4lwer2CeI+03czHprXR3V4Y8lPTooamn7eHP8Iywi5QjyAMjw0qauA==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-cacheable-response/node_modules/workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ },
+ "node_modules/workbox-core": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.1.2.tgz",
+ "integrity": "sha512-69rch7EyPsNAx5Y5YlSoHV39/EEE1oDeb5zmLIy6+mgB4BnaG6u/tlDtvjvKqHcPM0gz2L5SzYtTEvWmk5WRTQ=="
+ },
+ "node_modules/workbox-expiration": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-5.1.4.tgz",
+ "integrity": "sha512-oDO/5iC65h2Eq7jctAv858W2+CeRW5e0jZBMNRXpzp0ZPvuT6GblUiHnAsC5W5lANs1QS9atVOm4ifrBiYY7AQ==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-expiration/node_modules/workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ },
+ "node_modules/workbox-google-analytics": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-5.1.4.tgz",
+ "integrity": "sha512-0IFhKoEVrreHpKgcOoddV+oIaVXBFKXUzJVBI+nb0bxmcwYuZMdteBTp8AEDJacENtc9xbR0wa9RDCnYsCDLjA==",
+ "dev": true,
+ "dependencies": {
+ "workbox-background-sync": "^5.1.4",
+ "workbox-core": "^5.1.4",
+ "workbox-routing": "^5.1.4",
+ "workbox-strategies": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-google-analytics/node_modules/workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ },
+ "node_modules/workbox-navigation-preload": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-5.1.4.tgz",
+ "integrity": "sha512-Wf03osvK0wTflAfKXba//QmWC5BIaIZARU03JIhAEO2wSB2BDROWI8Q/zmianf54kdV7e1eLaIEZhth4K4MyfQ==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-navigation-preload/node_modules/workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ },
+ "node_modules/workbox-precaching": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.1.2.tgz",
+ "integrity": "sha512-jGwv6tMdIecsyBSdVCgXoD7bHxLRI972lvYOfvcosGjP3oFKe8p2DVPsn3TIzEVYTl+b3j59utC7yrOP9oEHSg==",
+ "dependencies": {
+ "workbox-core": "^6.1.2",
+ "workbox-routing": "^6.1.2",
+ "workbox-strategies": "^6.1.2"
+ }
+ },
+ "node_modules/workbox-precaching/node_modules/workbox-routing": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.1.2.tgz",
+ "integrity": "sha512-aRcqO+KX9A0J5W6hEeEpGhT6Lesqd3WfgaqlSD5LRajm0vAgYnlQzY37w6uC55Ev7M5Gh/xg0lA99qKc6ozsEA==",
+ "dependencies": {
+ "workbox-core": "^6.1.2"
+ }
+ },
+ "node_modules/workbox-precaching/node_modules/workbox-strategies": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.1.2.tgz",
+ "integrity": "sha512-IX7UNePHmmfb1dcXSxgcephYShnLc0pmP3MRT/TZGjv8f0qcZYH7Sr/lTmwaxGXQL8yCSCrQICZwJnHLw2G5Ng==",
+ "dependencies": {
+ "workbox-core": "^6.1.2"
+ }
+ },
+ "node_modules/workbox-range-requests": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-5.1.4.tgz",
+ "integrity": "sha512-1HSujLjgTeoxHrMR2muDW2dKdxqCGMc1KbeyGcmjZZAizJTFwu7CWLDmLv6O1ceWYrhfuLFJO+umYMddk2XMhw==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-range-requests/node_modules/workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ },
+ "node_modules/workbox-recipes": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.1.2.tgz",
+ "integrity": "sha512-KT9qome7svIajmXP6/4kmZYr8UzWua6MO2GIeM0Th+mr28WzrHfw2iCeo3362hCW/yMiNMlP5uuXiqsaFxUjHg==",
+ "dev": true,
+ "dependencies": {
+ "workbox-cacheable-response": "^6.1.2",
+ "workbox-core": "^6.1.2",
+ "workbox-expiration": "^6.1.2",
+ "workbox-precaching": "^6.1.2",
+ "workbox-routing": "^6.1.2",
+ "workbox-strategies": "^6.1.2"
+ }
+ },
+ "node_modules/workbox-recipes/node_modules/workbox-cacheable-response": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.1.2.tgz",
+ "integrity": "sha512-zSTQWJU+CBHC90N/Dccb9n0IzbTsmnl28usKOlVYbfHS5wit3izpD7djqqHzgzyS+gdemRjY4s02VV9WvyeD1w==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^6.1.2"
+ }
+ },
+ "node_modules/workbox-recipes/node_modules/workbox-expiration": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.1.2.tgz",
+ "integrity": "sha512-86cXz8Ae5cAJMgJ6aD/8E1NMNON4qGnE4ir1G3VuOu1xLsx2ItbbXmz6b0BB2dZ+kX6BDwqE0wkgS5As5Sds7g==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^6.1.2"
+ }
+ },
+ "node_modules/workbox-recipes/node_modules/workbox-routing": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.1.2.tgz",
+ "integrity": "sha512-aRcqO+KX9A0J5W6hEeEpGhT6Lesqd3WfgaqlSD5LRajm0vAgYnlQzY37w6uC55Ev7M5Gh/xg0lA99qKc6ozsEA==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^6.1.2"
+ }
+ },
+ "node_modules/workbox-recipes/node_modules/workbox-strategies": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.1.2.tgz",
+ "integrity": "sha512-IX7UNePHmmfb1dcXSxgcephYShnLc0pmP3MRT/TZGjv8f0qcZYH7Sr/lTmwaxGXQL8yCSCrQICZwJnHLw2G5Ng==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^6.1.2"
+ }
+ },
+ "node_modules/workbox-routing": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-5.1.4.tgz",
+ "integrity": "sha512-8ljknRfqE1vEQtnMtzfksL+UXO822jJlHTIR7+BtJuxQ17+WPZfsHqvk1ynR/v0EHik4x2+826Hkwpgh4GKDCw==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-routing/node_modules/workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ },
+ "node_modules/workbox-strategies": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-5.1.4.tgz",
+ "integrity": "sha512-VVS57LpaJTdjW3RgZvPwX0NlhNmscR7OQ9bP+N/34cYMDzXLyA6kqWffP6QKXSkca1OFo/v6v7hW7zrrguo6EA==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^5.1.4",
+ "workbox-routing": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-strategies/node_modules/workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ },
+ "node_modules/workbox-streams": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-5.1.4.tgz",
+ "integrity": "sha512-xU8yuF1hI/XcVhJUAfbQLa1guQUhdLMPQJkdT0kn6HP5CwiPOGiXnSFq80rAG4b1kJUChQQIGPrq439FQUNVrw==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^5.1.4",
+ "workbox-routing": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-streams/node_modules/workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ },
+ "node_modules/workbox-sw": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-5.1.4.tgz",
+ "integrity": "sha512-9xKnKw95aXwSNc8kk8gki4HU0g0W6KXu+xks7wFuC7h0sembFnTrKtckqZxbSod41TDaGh+gWUA5IRXrL0ECRA==",
+ "dev": true
+ },
+ "node_modules/workbox-window": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-5.1.4.tgz",
+ "integrity": "sha512-vXQtgTeMCUq/4pBWMfQX8Ee7N2wVC4Q7XYFqLnfbXJ2hqew/cU1uMTD2KqGEgEpE4/30luxIxgE+LkIa8glBYw==",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "^5.1.4"
+ }
+ },
+ "node_modules/workbox-window/node_modules/workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ },
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "node_modules/ws": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz",
+ "integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.3.0"
+ }
+ },
+ "node_modules/xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4"
+ }
+ },
+ "node_modules/y18n": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
"dev": true
},
- "normalize-url": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
- "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
- "requires": {
- "object-assign": "^4.0.1",
- "prepend-http": "^1.0.0",
- "query-string": "^4.1.0",
- "sort-keys": "^1.0.0"
- }
- },
- "npm": {
- "version": "6.14.6",
- "resolved": "https://registry.npmjs.org/npm/-/npm-6.14.6.tgz",
- "integrity": "sha512-axnz6iHFK6WPE0js/+mRp+4IOwpHn5tJEw5KB6FiCU764zmffrhsYHbSHi2kKqNkRBt53XasXjngZfBD3FQzrQ==",
- "dev": true,
- "requires": {
- "JSONStream": "^1.3.5",
- "abbrev": "~1.1.1",
- "ansicolors": "~0.3.2",
- "ansistyles": "~0.1.3",
- "aproba": "^2.0.0",
- "archy": "~1.0.0",
- "bin-links": "^1.1.7",
- "bluebird": "^3.5.5",
- "byte-size": "^5.0.1",
- "cacache": "^12.0.3",
- "call-limit": "^1.1.1",
- "chownr": "^1.1.4",
- "ci-info": "^2.0.0",
- "cli-columns": "^3.1.2",
- "cli-table3": "^0.5.1",
- "cmd-shim": "^3.0.3",
- "columnify": "~1.5.4",
- "config-chain": "^1.1.12",
- "debuglog": "*",
- "detect-indent": "~5.0.0",
- "detect-newline": "^2.1.0",
- "dezalgo": "~1.0.3",
- "editor": "~1.0.0",
- "figgy-pudding": "^3.5.1",
- "find-npm-prefix": "^1.0.2",
- "fs-vacuum": "~1.2.10",
- "fs-write-stream-atomic": "~1.0.10",
- "gentle-fs": "^2.3.0",
- "glob": "^7.1.6",
- "graceful-fs": "^4.2.4",
- "has-unicode": "~2.0.1",
- "hosted-git-info": "^2.8.8",
- "iferr": "^1.0.2",
- "imurmurhash": "*",
- "infer-owner": "^1.0.4",
- "inflight": "~1.0.6",
- "inherits": "^2.0.4",
- "ini": "^1.3.5",
- "init-package-json": "^1.10.3",
- "is-cidr": "^3.0.0",
- "json-parse-better-errors": "^1.0.2",
- "lazy-property": "~1.0.0",
- "libcipm": "^4.0.7",
- "libnpm": "^3.0.1",
- "libnpmaccess": "^3.0.2",
- "libnpmhook": "^5.0.3",
- "libnpmorg": "^1.0.1",
- "libnpmsearch": "^2.0.2",
- "libnpmteam": "^1.0.2",
- "libnpx": "^10.2.2",
- "lock-verify": "^2.1.0",
- "lockfile": "^1.0.4",
- "lodash._baseindexof": "*",
- "lodash._baseuniq": "~4.6.0",
- "lodash._bindcallback": "*",
- "lodash._cacheindexof": "*",
- "lodash._createcache": "*",
- "lodash._getnative": "*",
- "lodash.clonedeep": "~4.5.0",
- "lodash.restparam": "*",
- "lodash.union": "~4.6.0",
- "lodash.uniq": "~4.5.0",
- "lodash.without": "~4.4.0",
- "lru-cache": "^5.1.1",
- "meant": "~1.0.1",
- "mississippi": "^3.0.0",
- "mkdirp": "^0.5.5",
- "move-concurrently": "^1.0.1",
- "node-gyp": "^5.1.0",
- "nopt": "^4.0.3",
- "normalize-package-data": "^2.5.0",
- "npm-audit-report": "^1.3.2",
- "npm-cache-filename": "~1.0.2",
- "npm-install-checks": "^3.0.2",
- "npm-lifecycle": "^3.1.4",
- "npm-package-arg": "^6.1.1",
- "npm-packlist": "^1.4.8",
- "npm-pick-manifest": "^3.0.2",
- "npm-profile": "^4.0.4",
- "npm-registry-fetch": "^4.0.5",
- "npm-user-validate": "~1.0.0",
- "npmlog": "~4.1.2",
- "once": "~1.4.0",
- "opener": "^1.5.1",
- "osenv": "^0.1.5",
- "pacote": "^9.5.12",
- "path-is-inside": "~1.0.2",
- "promise-inflight": "~1.0.1",
- "qrcode-terminal": "^0.12.0",
- "query-string": "^6.8.2",
- "qw": "~1.0.1",
- "read": "~1.0.7",
- "read-cmd-shim": "^1.0.5",
- "read-installed": "~4.0.3",
- "read-package-json": "^2.1.1",
- "read-package-tree": "^5.3.1",
- "readable-stream": "^3.6.0",
- "readdir-scoped-modules": "^1.1.0",
- "request": "^2.88.0",
- "retry": "^0.12.0",
- "rimraf": "^2.7.1",
- "safe-buffer": "^5.1.2",
- "semver": "^5.7.1",
- "sha": "^3.0.0",
- "slide": "~1.1.6",
- "sorted-object": "~2.0.1",
- "sorted-union-stream": "~2.1.3",
- "ssri": "^6.0.1",
- "stringify-package": "^1.0.1",
- "tar": "^4.4.13",
- "text-table": "~0.2.0",
- "tiny-relative-date": "^1.3.0",
- "uid-number": "0.0.6",
- "umask": "~1.1.0",
- "unique-filename": "^1.1.1",
- "unpipe": "~1.0.0",
- "update-notifier": "^2.5.0",
- "uuid": "^3.3.3",
- "validate-npm-package-license": "^3.0.4",
- "validate-npm-package-name": "~3.0.0",
- "which": "^1.3.1",
- "worker-farm": "^1.7.0",
- "write-file-atomic": "^2.4.3"
- },
- "dependencies": {
- "JSONStream": {
- "version": "1.3.5",
- "bundled": true,
- "dev": true,
- "requires": {
- "jsonparse": "^1.2.0",
- "through": ">=2.2.7 <3"
- }
- },
- "abbrev": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true
- },
- "agent-base": {
- "version": "4.3.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "es6-promisify": "^5.0.0"
- }
- },
- "agentkeepalive": {
- "version": "3.5.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "humanize-ms": "^1.2.1"
- }
- },
- "ajv": {
- "version": "5.5.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "co": "^4.6.0",
- "fast-deep-equal": "^1.0.0",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.3.0"
- }
- },
- "ansi-align": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "string-width": "^2.0.0"
- }
- },
- "ansi-regex": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "ansicolors": {
- "version": "0.3.2",
- "bundled": true,
- "dev": true
- },
- "ansistyles": {
- "version": "0.1.3",
- "bundled": true,
- "dev": true
- },
- "aproba": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "archy": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "are-we-there-yet": {
- "version": "1.1.4",
- "bundled": true,
- "dev": true,
- "requires": {
- "delegates": "^1.0.0",
- "readable-stream": "^2.0.6"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "asap": {
- "version": "2.0.6",
- "bundled": true,
- "dev": true
- },
- "asn1": {
- "version": "0.2.4",
- "bundled": true,
- "dev": true,
- "requires": {
- "safer-buffer": "~2.1.0"
- }
- },
- "assert-plus": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "asynckit": {
- "version": "0.4.0",
- "bundled": true,
- "dev": true
- },
- "aws-sign2": {
- "version": "0.7.0",
- "bundled": true,
- "dev": true
- },
- "aws4": {
- "version": "1.8.0",
- "bundled": true,
- "dev": true
- },
- "balanced-match": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "bcrypt-pbkdf": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "optional": true,
- "requires": {
- "tweetnacl": "^0.14.3"
- }
- },
- "bin-links": {
- "version": "1.1.7",
- "bundled": true,
- "dev": true,
- "requires": {
- "bluebird": "^3.5.3",
- "cmd-shim": "^3.0.0",
- "gentle-fs": "^2.3.0",
- "graceful-fs": "^4.1.15",
- "npm-normalize-package-bin": "^1.0.0",
- "write-file-atomic": "^2.3.0"
- }
- },
- "bluebird": {
- "version": "3.5.5",
- "bundled": true,
- "dev": true
- },
- "boxen": {
- "version": "1.3.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "ansi-align": "^2.0.0",
- "camelcase": "^4.0.0",
- "chalk": "^2.0.1",
- "cli-boxes": "^1.0.0",
- "string-width": "^2.0.0",
- "term-size": "^1.2.0",
- "widest-line": "^2.0.0"
- }
- },
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "buffer-from": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "builtins": {
- "version": "1.0.3",
- "bundled": true,
- "dev": true
- },
- "byline": {
- "version": "5.0.0",
- "bundled": true,
- "dev": true
- },
- "byte-size": {
- "version": "5.0.1",
- "bundled": true,
- "dev": true
- },
- "cacache": {
- "version": "12.0.3",
- "bundled": true,
- "dev": true,
- "requires": {
- "bluebird": "^3.5.5",
- "chownr": "^1.1.1",
- "figgy-pudding": "^3.5.1",
- "glob": "^7.1.4",
- "graceful-fs": "^4.1.15",
- "infer-owner": "^1.0.3",
- "lru-cache": "^5.1.1",
- "mississippi": "^3.0.0",
- "mkdirp": "^0.5.1",
- "move-concurrently": "^1.0.1",
- "promise-inflight": "^1.0.1",
- "rimraf": "^2.6.3",
- "ssri": "^6.0.1",
- "unique-filename": "^1.1.1",
- "y18n": "^4.0.0"
- }
- },
- "call-limit": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true
- },
- "camelcase": {
- "version": "4.1.0",
- "bundled": true,
- "dev": true
- },
- "capture-stack-trace": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "caseless": {
- "version": "0.12.0",
- "bundled": true,
- "dev": true
- },
- "chalk": {
- "version": "2.4.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "chownr": {
- "version": "1.1.4",
- "bundled": true,
- "dev": true
- },
- "ci-info": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "cidr-regex": {
- "version": "2.0.10",
- "bundled": true,
- "dev": true,
- "requires": {
- "ip-regex": "^2.1.0"
- }
- },
- "cli-boxes": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "cli-columns": {
- "version": "3.1.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "string-width": "^2.0.0",
- "strip-ansi": "^3.0.1"
- }
- },
- "cli-table3": {
- "version": "0.5.1",
- "bundled": true,
+ "node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true
+ },
+ "node_modules/yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "dev": true,
+ "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"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "20.2.7",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz",
+ "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs/node_modules/y18n": {
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.6.tgz",
+ "integrity": "sha512-PlVX4Y0lDTN6E2V4ES2tEdyvXkeKzxa8c/vo0pxPr/TqbztddTP0yn7zZylIyiAuxerqj0Q5GhpJ1YJCP8LaZQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/ylru": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz",
+ "integrity": "sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ }
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.8.3"
+ }
+ },
+ "@babel/core": {
+ "version": "7.11.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.11.6.tgz",
+ "integrity": "sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.11.6",
+ "@babel/helper-module-transforms": "^7.11.0",
+ "@babel/helpers": "^7.10.4",
+ "@babel/parser": "^7.11.5",
+ "@babel/template": "^7.10.4",
+ "@babel/traverse": "^7.11.5",
+ "@babel/types": "^7.11.5",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.19",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
"dev": true,
"requires": {
- "colors": "^1.1.2",
- "object-assign": "^4.1.0",
- "string-width": "^2.1.1"
+ "@babel/highlight": "^7.10.4"
}
},
- "cliui": {
- "version": "4.1.0",
- "bundled": true,
+ "@babel/generator": {
+ "version": "7.11.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
+ "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
"dev": true,
"requires": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0",
- "wrap-ansi": "^2.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true
- },
- "strip-ansi": {
- "version": "4.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- }
+ "@babel/types": "^7.11.5",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
}
},
- "clone": {
- "version": "1.0.4",
- "bundled": true,
- "dev": true
- },
- "cmd-shim": {
- "version": "3.0.3",
- "bundled": true,
+ "@babel/helper-function-name": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
+ "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.2",
- "mkdirp": "~0.5.0"
+ "@babel/helper-get-function-arity": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "co": {
- "version": "4.6.0",
- "bundled": true,
- "dev": true
- },
- "code-point-at": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true
- },
- "color-convert": {
- "version": "1.9.1",
- "bundled": true,
+ "@babel/helper-get-function-arity": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+ "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
"dev": true,
"requires": {
- "color-name": "^1.1.1"
+ "@babel/types": "^7.10.4"
}
},
- "color-name": {
- "version": "1.1.3",
- "bundled": true,
- "dev": true
- },
- "colors": {
- "version": "1.3.3",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "columnify": {
- "version": "1.5.4",
- "bundled": true,
+ "@babel/helper-split-export-declaration": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
+ "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
"dev": true,
"requires": {
- "strip-ansi": "^3.0.0",
- "wcwidth": "^1.0.0"
+ "@babel/types": "^7.11.0"
}
},
- "combined-stream": {
- "version": "1.0.6",
- "bundled": true,
+ "@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
"dev": true,
"requires": {
- "delayed-stream": "~1.0.0"
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
}
},
- "concat-map": {
- "version": "0.0.1",
- "bundled": true,
+ "@babel/parser": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
+ "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
"dev": true
},
- "concat-stream": {
- "version": "1.6.2",
- "bundled": true,
+ "@babel/template": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+ "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
"dev": true,
"requires": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
+ "@babel/code-frame": "^7.10.4",
+ "@babel/parser": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "config-chain": {
- "version": "1.1.12",
- "bundled": true,
+ "@babel/traverse": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
+ "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
"dev": true,
"requires": {
- "ini": "^1.3.4",
- "proto-list": "~1.2.1"
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.11.5",
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/parser": "^7.11.5",
+ "@babel/types": "^7.11.5",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.19"
}
},
- "configstore": {
- "version": "3.1.2",
- "bundled": true,
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"requires": {
- "dot-prop": "^4.1.0",
- "graceful-fs": "^4.1.2",
- "make-dir": "^1.0.0",
- "unique-string": "^1.0.0",
- "write-file-atomic": "^2.0.0",
- "xdg-basedir": "^3.0.0"
+ "ms": "^2.1.1"
}
},
- "console-control-strings": {
- "version": "1.1.0",
- "bundled": true,
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
- },
- "copy-concurrently": {
- "version": "1.0.5",
- "bundled": true,
+ }
+ }
+ },
+ "@babel/helper-annotate-as-pure": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz",
+ "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-create-class-features-plugin": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.5.tgz",
+ "integrity": "sha512-0nkdeijB7VlZoLT3r/mY3bUkw3T8WG/hNw+FATs/6+pG2039IJWjTYL0VTISqsNHMUTEnwbVnc89WIJX9Qed0A==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-member-expression-to-functions": "^7.10.5",
+ "@babel/helper-optimise-call-expression": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-replace-supers": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.10.4"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
"dev": true,
"requires": {
- "aproba": "^1.1.1",
- "fs-write-stream-atomic": "^1.0.8",
- "iferr": "^0.1.5",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.5.4",
- "run-queue": "^1.0.0"
- },
- "dependencies": {
- "aproba": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true
- },
- "iferr": {
- "version": "0.1.5",
- "bundled": true,
- "dev": true
- }
+ "@babel/highlight": "^7.10.4"
}
},
- "core-util-is": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "create-error-class": {
- "version": "3.0.2",
- "bundled": true,
+ "@babel/generator": {
+ "version": "7.11.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
+ "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
"dev": true,
"requires": {
- "capture-stack-trace": "^1.0.0"
+ "@babel/types": "^7.11.5",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
}
},
- "cross-spawn": {
- "version": "5.1.0",
- "bundled": true,
+ "@babel/helper-function-name": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
+ "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
"dev": true,
"requires": {
- "lru-cache": "^4.0.1",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- },
- "dependencies": {
- "lru-cache": {
- "version": "4.1.5",
- "bundled": true,
- "dev": true,
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "yallist": {
- "version": "2.1.2",
- "bundled": true,
- "dev": true
- }
+ "@babel/helper-get-function-arity": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "crypto-random-string": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "cyclist": {
- "version": "0.2.2",
- "bundled": true,
- "dev": true
- },
- "dashdash": {
- "version": "1.14.1",
- "bundled": true,
+ "@babel/helper-get-function-arity": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+ "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
"dev": true,
"requires": {
- "assert-plus": "^1.0.0"
+ "@babel/types": "^7.10.4"
}
},
- "debug": {
- "version": "3.1.0",
- "bundled": true,
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz",
+ "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==",
"dev": true,
"requires": {
- "ms": "2.0.0"
- },
- "dependencies": {
- "ms": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- }
+ "@babel/types": "^7.11.0"
}
},
- "debuglog": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "decamelize": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true
- },
- "decode-uri-component": {
- "version": "0.2.0",
- "bundled": true,
- "dev": true
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz",
+ "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.10.4"
+ }
},
- "deep-extend": {
- "version": "0.6.0",
- "bundled": true,
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
},
- "defaults": {
- "version": "1.0.3",
- "bundled": true,
+ "@babel/helper-replace-supers": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
+ "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
"dev": true,
"requires": {
- "clone": "^1.0.2"
+ "@babel/helper-member-expression-to-functions": "^7.10.4",
+ "@babel/helper-optimise-call-expression": "^7.10.4",
+ "@babel/traverse": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "define-properties": {
- "version": "1.1.3",
- "bundled": true,
+ "@babel/helper-split-export-declaration": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
+ "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
"dev": true,
"requires": {
- "object-keys": "^1.0.12"
+ "@babel/types": "^7.11.0"
}
},
- "delayed-stream": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "delegates": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "detect-indent": {
- "version": "5.0.0",
- "bundled": true,
- "dev": true
+ "@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
},
- "detect-newline": {
- "version": "2.1.0",
- "bundled": true,
+ "@babel/parser": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
+ "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
"dev": true
},
- "dezalgo": {
- "version": "1.0.3",
- "bundled": true,
+ "@babel/template": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+ "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
"dev": true,
"requires": {
- "asap": "^2.0.0",
- "wrappy": "1"
+ "@babel/code-frame": "^7.10.4",
+ "@babel/parser": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "dot-prop": {
- "version": "4.2.0",
- "bundled": true,
+ "@babel/traverse": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
+ "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
"dev": true,
"requires": {
- "is-obj": "^1.0.0"
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.11.5",
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/parser": "^7.11.5",
+ "@babel/types": "^7.11.5",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.19"
}
},
- "dotenv": {
- "version": "5.0.1",
- "bundled": true,
- "dev": true
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
},
- "duplexer3": {
- "version": "0.1.4",
- "bundled": true,
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
- },
- "duplexify": {
- "version": "3.6.0",
- "bundled": true,
+ }
+ }
+ },
+ "@babel/helper-create-regexp-features-plugin": {
+ "version": "7.8.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz",
+ "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.8.3",
+ "@babel/helper-regex": "^7.8.3",
+ "regexpu-core": "^4.7.0"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.13.12",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz",
+ "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.13.12"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz",
+ "integrity": "sha512-02EVu8COMuTRO1TAzdMtpBPbe6aQ1w/8fePD2YgQmxZU4gpNWaL9gK3Jp7dxlkUlUCJOTaSeA+Hrm1BRQwqIhg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.10.4",
+ "@babel/helper-replace-supers": "^7.10.4",
+ "@babel/helper-simple-access": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.11.0",
+ "lodash": "^4.17.19"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
"dev": true,
"requires": {
- "end-of-stream": "^1.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0",
- "stream-shift": "^1.0.0"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
+ "@babel/highlight": "^7.10.4"
}
},
- "ecc-jsbn": {
- "version": "0.1.2",
- "bundled": true,
+ "@babel/generator": {
+ "version": "7.11.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
+ "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
"dev": true,
- "optional": true,
"requires": {
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.1.0"
+ "@babel/types": "^7.11.5",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
}
},
- "editor": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "encoding": {
- "version": "0.1.12",
- "bundled": true,
+ "@babel/helper-function-name": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
+ "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
"dev": true,
"requires": {
- "iconv-lite": "~0.4.13"
+ "@babel/helper-get-function-arity": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "end-of-stream": {
- "version": "1.4.1",
- "bundled": true,
+ "@babel/helper-get-function-arity": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+ "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
"dev": true,
"requires": {
- "once": "^1.4.0"
+ "@babel/types": "^7.10.4"
}
},
- "env-paths": {
- "version": "2.2.0",
- "bundled": true,
- "dev": true
- },
- "err-code": {
- "version": "1.1.2",
- "bundled": true,
- "dev": true
- },
- "errno": {
- "version": "0.1.7",
- "bundled": true,
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz",
+ "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==",
"dev": true,
"requires": {
- "prr": "~1.0.1"
+ "@babel/types": "^7.11.0"
}
},
- "es-abstract": {
- "version": "1.12.0",
- "bundled": true,
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz",
+ "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==",
"dev": true,
"requires": {
- "es-to-primitive": "^1.1.1",
- "function-bind": "^1.1.1",
- "has": "^1.0.1",
- "is-callable": "^1.1.3",
- "is-regex": "^1.0.4"
+ "@babel/types": "^7.10.4"
}
},
- "es-to-primitive": {
- "version": "1.2.0",
- "bundled": true,
+ "@babel/helper-replace-supers": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
+ "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
"dev": true,
"requires": {
- "is-callable": "^1.1.4",
- "is-date-object": "^1.0.1",
- "is-symbol": "^1.0.2"
+ "@babel/helper-member-expression-to-functions": "^7.10.4",
+ "@babel/helper-optimise-call-expression": "^7.10.4",
+ "@babel/traverse": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "es6-promise": {
- "version": "4.2.8",
- "bundled": true,
- "dev": true
- },
- "es6-promisify": {
- "version": "5.0.0",
- "bundled": true,
+ "@babel/helper-simple-access": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz",
+ "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==",
"dev": true,
"requires": {
- "es6-promise": "^4.0.3"
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "escape-string-regexp": {
- "version": "1.0.5",
- "bundled": true,
- "dev": true
- },
- "execa": {
- "version": "0.7.0",
- "bundled": true,
+ "@babel/helper-split-export-declaration": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
+ "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
"dev": true,
"requires": {
- "cross-spawn": "^5.0.1",
- "get-stream": "^3.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- },
- "dependencies": {
- "get-stream": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true
- }
+ "@babel/types": "^7.11.0"
}
},
- "extend": {
- "version": "3.0.2",
- "bundled": true,
- "dev": true
+ "@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
},
- "extsprintf": {
- "version": "1.3.0",
- "bundled": true,
+ "@babel/parser": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
+ "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
"dev": true
},
- "fast-deep-equal": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true
+ "@babel/template": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+ "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/parser": "^7.10.4",
+ "@babel/types": "^7.10.4"
+ }
},
- "fast-json-stable-stringify": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
+ "@babel/traverse": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
+ "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.11.5",
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/parser": "^7.11.5",
+ "@babel/types": "^7.11.5",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.19"
+ }
},
- "figgy-pudding": {
- "version": "3.5.1",
- "bundled": true,
- "dev": true
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
},
- "find-npm-prefix": {
- "version": "1.0.2",
- "bundled": true,
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
+ }
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+ "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+ "dev": true
+ },
+ "@babel/helper-regex": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz",
+ "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/helper-skip-transparent-expression-wrappers": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.11.0.tgz",
+ "integrity": "sha512-0XIdiQln4Elglgjbwo9wuJpL/K7AGCY26kmEt0+pRP0TAj4jjyNq1MjoRvikrTVqKcx4Gysxt4cXvVFXP/JO2Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.11.0"
+ }
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
+ "dev": true
+ },
+ "@babel/helpers": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz",
+ "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.10.4",
+ "@babel/traverse": "^7.10.4",
+ "@babel/types": "^7.10.4"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.10.4"
+ }
},
- "find-up": {
- "version": "2.1.0",
- "bundled": true,
+ "@babel/generator": {
+ "version": "7.11.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
+ "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
"dev": true,
"requires": {
- "locate-path": "^2.0.0"
+ "@babel/types": "^7.11.5",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
}
},
- "flush-write-stream": {
- "version": "1.0.3",
- "bundled": true,
+ "@babel/helper-function-name": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
+ "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
"dev": true,
"requires": {
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.4"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
+ "@babel/helper-get-function-arity": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "forever-agent": {
- "version": "0.6.1",
- "bundled": true,
- "dev": true
+ "@babel/helper-get-function-arity": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+ "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.10.4"
+ }
},
- "form-data": {
- "version": "2.3.2",
- "bundled": true,
+ "@babel/helper-split-export-declaration": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
+ "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
"dev": true,
"requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "1.0.6",
- "mime-types": "^2.1.12"
+ "@babel/types": "^7.11.0"
}
},
- "from2": {
- "version": "2.3.0",
- "bundled": true,
+ "@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
"dev": true,
"requires": {
- "inherits": "^2.0.1",
- "readable-stream": "^2.0.0"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
}
},
- "fs-minipass": {
- "version": "1.2.7",
- "bundled": true,
+ "@babel/parser": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
+ "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
+ "dev": true
+ },
+ "@babel/template": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+ "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
"dev": true,
"requires": {
- "minipass": "^2.6.0"
- },
- "dependencies": {
- "minipass": {
- "version": "2.9.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- }
- }
+ "@babel/code-frame": "^7.10.4",
+ "@babel/parser": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "fs-vacuum": {
- "version": "1.2.10",
- "bundled": true,
+ "@babel/traverse": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
+ "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.2",
- "path-is-inside": "^1.0.1",
- "rimraf": "^2.5.2"
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.11.5",
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/parser": "^7.11.5",
+ "@babel/types": "^7.11.5",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.19"
}
},
- "fs-write-stream-atomic": {
- "version": "1.0.10",
- "bundled": true,
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.2",
- "iferr": "^0.1.5",
- "imurmurhash": "^0.1.4",
- "readable-stream": "1 || 2"
- },
- "dependencies": {
- "iferr": {
- "version": "0.1.5",
- "bundled": true,
- "dev": true
- },
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
+ "ms": "^2.1.1"
}
},
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true,
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+ "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/plugin-proposal-class-properties": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.4.tgz",
+ "integrity": "sha512-vhwkEROxzcHGNu2mzUC0OFFNXdZ4M23ib8aRRcJSsW8BZK9pQMD7QB7csl97NBbgGZO7ZyHUyKDnxzOaP4IrCg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/plugin-proposal-export-namespace-from": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.10.4.tgz",
+ "integrity": "sha512-aNdf0LY6/3WXkhh0Fdb6Zk9j1NMD8ovj3F6r0+3j837Pn1S1PdNtcwJ5EG9WkVPNHPxyJDaxMaAOVq4eki0qbg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/plugin-proposal-logical-assignment-operators": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.11.0.tgz",
+ "integrity": "sha512-/f8p4z+Auz0Uaf+i8Ekf1iM7wUNLcViFUGiPxKeXvxTSl63B875YPiVdUDdem7hREcI0E0kSpEhS8tF5RphK7Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.11.0.tgz",
+ "integrity": "sha512-wzch41N4yztwoRw0ak+37wxwJM2oiIiy6huGCoqkvSTA9acYWcPfn9Y4aJqmFFJ70KTJUu29f3DQ43uJ9HXzEA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+ "@babel/plugin-transform-parameters": "^7.10.4"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/plugin-proposal-optional-chaining": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.11.0.tgz",
+ "integrity": "sha512-v9fZIu3Y8562RRwhm1BbMRxtqZNFmFA2EG+pT2diuU8PT3H6T/KXoZ54KgYisfOFZHV6PfvAiBIZ9Rcz+/JCxA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/plugin-proposal-private-methods": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.4.tgz",
+ "integrity": "sha512-wh5GJleuI8k3emgTg5KkJK6kHNsGEr0uBTDBuQUBJwckk9xs1ez79ioheEVVxMLyPscB0LfkbVHslQqIzWV6Bw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
- },
- "function-bind": {
- "version": "1.1.1",
- "bundled": true,
+ }
+ }
+ },
+ "@babel/plugin-proposal-unicode-property-regex": {
+ "version": "7.8.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz",
+ "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.8.8",
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-dynamic-import": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+ "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-export-namespace-from": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
+ "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+ "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
- },
- "gauge": {
- "version": "2.7.4",
- "bundled": true,
+ }
+ }
+ },
+ "@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-transform-classes": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz",
+ "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.10.4",
+ "@babel/helper-define-map": "^7.10.4",
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-optimise-call-expression": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-replace-supers": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.10.4",
+ "globals": "^11.1.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
"dev": true,
"requires": {
- "aproba": "^1.0.3",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.0",
- "object-assign": "^4.1.0",
- "signal-exit": "^3.0.0",
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wide-align": "^1.1.0"
- },
- "dependencies": {
- "aproba": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true
- },
- "string-width": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- }
- }
- },
- "genfun": {
- "version": "5.0.0",
- "bundled": true,
- "dev": true
- },
- "gentle-fs": {
- "version": "2.3.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "aproba": "^1.1.2",
- "chownr": "^1.1.2",
- "cmd-shim": "^3.0.3",
- "fs-vacuum": "^1.2.10",
- "graceful-fs": "^4.1.11",
- "iferr": "^0.1.5",
- "infer-owner": "^1.0.4",
- "mkdirp": "^0.5.1",
- "path-is-inside": "^1.0.2",
- "read-cmd-shim": "^1.0.1",
- "slide": "^1.1.6"
- },
- "dependencies": {
- "aproba": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true
- },
- "iferr": {
- "version": "0.1.5",
- "bundled": true,
- "dev": true
- }
+ "@babel/highlight": "^7.10.4"
}
},
- "get-caller-file": {
- "version": "1.0.3",
- "bundled": true,
- "dev": true
- },
- "get-stream": {
- "version": "4.1.0",
- "bundled": true,
+ "@babel/generator": {
+ "version": "7.11.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
+ "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
"dev": true,
"requires": {
- "pump": "^3.0.0"
+ "@babel/types": "^7.11.5",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
}
},
- "getpass": {
- "version": "0.1.7",
- "bundled": true,
+ "@babel/helper-annotate-as-pure": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz",
+ "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==",
"dev": true,
"requires": {
- "assert-plus": "^1.0.0"
+ "@babel/types": "^7.10.4"
}
},
- "glob": {
- "version": "7.1.6",
- "bundled": true,
+ "@babel/helper-define-map": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz",
+ "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==",
"dev": true,
"requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/types": "^7.10.5",
+ "lodash": "^4.17.19"
}
},
- "global-dirs": {
- "version": "0.1.1",
- "bundled": true,
+ "@babel/helper-function-name": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
+ "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
"dev": true,
"requires": {
- "ini": "^1.3.4"
+ "@babel/helper-get-function-arity": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "got": {
- "version": "6.7.1",
- "bundled": true,
+ "@babel/helper-get-function-arity": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+ "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
"dev": true,
"requires": {
- "create-error-class": "^3.0.0",
- "duplexer3": "^0.1.4",
- "get-stream": "^3.0.0",
- "is-redirect": "^1.0.0",
- "is-retry-allowed": "^1.0.0",
- "is-stream": "^1.0.0",
- "lowercase-keys": "^1.0.0",
- "safe-buffer": "^5.0.1",
- "timed-out": "^4.0.0",
- "unzip-response": "^2.0.1",
- "url-parse-lax": "^1.0.0"
- },
- "dependencies": {
- "get-stream": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true
- }
+ "@babel/types": "^7.10.4"
}
},
- "graceful-fs": {
- "version": "4.2.4",
- "bundled": true,
- "dev": true
- },
- "har-schema": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "har-validator": {
- "version": "5.1.0",
- "bundled": true,
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz",
+ "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==",
"dev": true,
"requires": {
- "ajv": "^5.3.0",
- "har-schema": "^2.0.0"
+ "@babel/types": "^7.11.0"
}
},
- "has": {
- "version": "1.0.3",
- "bundled": true,
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz",
+ "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==",
"dev": true,
"requires": {
- "function-bind": "^1.1.1"
+ "@babel/types": "^7.10.4"
}
},
- "has-flag": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true
- },
- "has-symbols": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "has-unicode": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true
- },
- "hosted-git-info": {
- "version": "2.8.8",
- "bundled": true,
- "dev": true
- },
- "http-cache-semantics": {
- "version": "3.8.1",
- "bundled": true,
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
},
- "http-proxy-agent": {
- "version": "2.1.0",
- "bundled": true,
+ "@babel/helper-replace-supers": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
+ "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
"dev": true,
"requires": {
- "agent-base": "4",
- "debug": "3.1.0"
+ "@babel/helper-member-expression-to-functions": "^7.10.4",
+ "@babel/helper-optimise-call-expression": "^7.10.4",
+ "@babel/traverse": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "http-signature": {
- "version": "1.2.0",
- "bundled": true,
+ "@babel/helper-split-export-declaration": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
+ "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
"dev": true,
"requires": {
- "assert-plus": "^1.0.0",
- "jsprim": "^1.2.2",
- "sshpk": "^1.7.0"
+ "@babel/types": "^7.11.0"
}
},
- "https-proxy-agent": {
- "version": "2.2.4",
- "bundled": true,
+ "@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
"dev": true,
"requires": {
- "agent-base": "^4.3.0",
- "debug": "^3.1.0"
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
}
},
- "humanize-ms": {
- "version": "1.2.1",
- "bundled": true,
+ "@babel/parser": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
+ "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
+ "dev": true
+ },
+ "@babel/template": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+ "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
"dev": true,
"requires": {
- "ms": "^2.0.0"
+ "@babel/code-frame": "^7.10.4",
+ "@babel/parser": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "iconv-lite": {
- "version": "0.4.23",
- "bundled": true,
+ "@babel/traverse": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
+ "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
"dev": true,
"requires": {
- "safer-buffer": ">= 2.1.2 < 3"
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.11.5",
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/parser": "^7.11.5",
+ "@babel/types": "^7.11.5",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.19"
}
},
- "iferr": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "ignore-walk": {
- "version": "3.0.3",
- "bundled": true,
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"requires": {
- "minimatch": "^3.0.4"
+ "ms": "^2.1.1"
}
},
- "import-lazy": {
- "version": "2.1.0",
- "bundled": true,
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
- },
- "imurmurhash": {
- "version": "0.1.4",
- "bundled": true,
+ }
+ }
+ },
+ "@babel/plugin-transform-destructuring": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz",
+ "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
- },
- "infer-owner": {
- "version": "1.0.4",
- "bundled": true,
+ }
+ }
+ },
+ "@babel/plugin-transform-dotall-regex": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz",
+ "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.8.3",
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-for-of": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz",
+ "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "dev": true
+ }
+ }
+ },
+ "@babel/plugin-transform-modules-amd": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.5.tgz",
+ "integrity": "sha512-elm5uruNio7CTLFItVC/rIzKLfQ17+fX7EVz5W0TMgIHFo1zY0Ozzx+lgwhL4plzl8OzVn6Qasx5DeEFyoNiRw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.10.5",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
},
- "inflight": {
- "version": "1.0.6",
- "bundled": true,
+ "babel-plugin-dynamic-import-node": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
+ "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
"dev": true,
"requires": {
- "once": "^1.3.0",
- "wrappy": "1"
+ "object.assign": "^4.1.0"
}
- },
- "inherits": {
- "version": "2.0.4",
- "bundled": true,
- "dev": true
- },
- "ini": {
- "version": "1.3.5",
- "bundled": true,
- "dev": true
- },
- "init-package-json": {
- "version": "1.10.3",
- "bundled": true,
+ }
+ }
+ },
+ "@babel/plugin-transform-modules-commonjs": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz",
+ "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-simple-access": "^7.10.4",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
"dev": true,
"requires": {
- "glob": "^7.1.1",
- "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0",
- "promzard": "^0.3.0",
- "read": "~1.0.1",
- "read-package-json": "1 || 2",
- "semver": "2.x || 3.x || 4 || 5",
- "validate-npm-package-license": "^3.0.1",
- "validate-npm-package-name": "^3.0.0"
+ "@babel/highlight": "^7.10.4"
}
},
- "invert-kv": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "ip": {
- "version": "1.1.5",
- "bundled": true,
- "dev": true
- },
- "ip-regex": {
- "version": "2.1.0",
- "bundled": true,
- "dev": true
- },
- "is-callable": {
- "version": "1.1.4",
- "bundled": true,
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
},
- "is-ci": {
- "version": "1.2.1",
- "bundled": true,
+ "@babel/helper-simple-access": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz",
+ "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==",
"dev": true,
"requires": {
- "ci-info": "^1.5.0"
- },
- "dependencies": {
- "ci-info": {
- "version": "1.6.0",
- "bundled": true,
- "dev": true
- }
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "is-cidr": {
- "version": "3.0.0",
- "bundled": true,
+ "@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
"dev": true,
"requires": {
- "cidr-regex": "^2.0.10"
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
}
},
- "is-date-object": {
- "version": "1.0.1",
- "bundled": true,
+ "@babel/parser": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
+ "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
"dev": true
},
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "bundled": true,
+ "@babel/template": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+ "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
"dev": true,
"requires": {
- "number-is-nan": "^1.0.0"
+ "@babel/code-frame": "^7.10.4",
+ "@babel/parser": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "is-installed-globally": {
- "version": "0.1.0",
- "bundled": true,
+ "babel-plugin-dynamic-import-node": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
+ "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
"dev": true,
"requires": {
- "global-dirs": "^0.1.0",
- "is-path-inside": "^1.0.0"
+ "object.assign": "^4.1.0"
}
- },
- "is-npm": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "is-obj": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "is-path-inside": {
- "version": "1.0.1",
- "bundled": true,
+ }
+ }
+ },
+ "@babel/plugin-transform-modules-systemjs": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.5.tgz",
+ "integrity": "sha512-f4RLO/OL14/FP1AEbcsWMzpbUz6tssRaeQg11RH1BP/XnPpRoVwgeYViMFacnkaw4k4wjRSjn3ip1Uw9TaXuMw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-hoist-variables": "^7.10.4",
+ "@babel/helper-module-transforms": "^7.10.5",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "babel-plugin-dynamic-import-node": "^2.3.3"
+ },
+ "dependencies": {
+ "@babel/helper-hoist-variables": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz",
+ "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==",
"dev": true,
"requires": {
- "path-is-inside": "^1.0.1"
+ "@babel/types": "^7.10.4"
}
},
- "is-redirect": {
- "version": "1.0.0",
- "bundled": true,
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
},
- "is-regex": {
- "version": "1.0.4",
- "bundled": true,
+ "babel-plugin-dynamic-import-node": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
+ "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
"dev": true,
"requires": {
- "has": "^1.0.1"
+ "object.assign": "^4.1.0"
}
- },
- "is-retry-allowed": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true
- },
- "is-stream": {
- "version": "1.1.0",
- "bundled": true,
+ }
+ }
+ },
+ "@babel/plugin-transform-modules-umd": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz",
+ "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-transforms": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
- },
- "is-symbol": {
- "version": "1.0.2",
- "bundled": true,
+ }
+ }
+ },
+ "@babel/plugin-transform-parameters": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.5.tgz",
+ "integrity": "sha512-xPHwUj5RdFV8l1wuYiu5S9fqWGM2DrYc24TMvUiRrPVm+SM3XeqU9BcokQX/kEUe+p2RBwy+yoiR1w/Blq6ubw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "dependencies": {
+ "@babel/helper-get-function-arity": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+ "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
"dev": true,
"requires": {
- "has-symbols": "^1.0.0"
+ "@babel/types": "^7.10.4"
}
},
- "is-typedarray": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "isarray": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "isexe": {
- "version": "2.0.0",
- "bundled": true,
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
- },
- "isstream": {
- "version": "0.1.2",
- "bundled": true,
+ }
+ }
+ },
+ "@babel/plugin-transform-unicode-escapes": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz",
+ "integrity": "sha512-y5XJ9waMti2J+e7ij20e+aH+fho7Wb7W8rNuu72aKRwCHFqQdhkdU2lo3uZ9tQuboEJcUFayXdARhcxLQ3+6Fg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
"dev": true
- },
- "jsbn": {
- "version": "0.1.1",
- "bundled": true,
+ }
+ }
+ },
+ "@babel/polyfill": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz",
+ "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.6.5",
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
+ "@babel/preset-env": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.11.5.tgz",
+ "integrity": "sha512-kXqmW1jVcnB2cdueV+fyBM8estd5mlNfaQi6lwLgRwCby4edpavgbFhiBNjmWA3JpB/yZGSISa7Srf+TwxDQoA==",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.11.0",
+ "@babel/helper-compilation-targets": "^7.10.4",
+ "@babel/helper-module-imports": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-proposal-async-generator-functions": "^7.10.4",
+ "@babel/plugin-proposal-class-properties": "^7.10.4",
+ "@babel/plugin-proposal-dynamic-import": "^7.10.4",
+ "@babel/plugin-proposal-export-namespace-from": "^7.10.4",
+ "@babel/plugin-proposal-json-strings": "^7.10.4",
+ "@babel/plugin-proposal-logical-assignment-operators": "^7.11.0",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4",
+ "@babel/plugin-proposal-numeric-separator": "^7.10.4",
+ "@babel/plugin-proposal-object-rest-spread": "^7.11.0",
+ "@babel/plugin-proposal-optional-catch-binding": "^7.10.4",
+ "@babel/plugin-proposal-optional-chaining": "^7.11.0",
+ "@babel/plugin-proposal-private-methods": "^7.10.4",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.10.4",
+ "@babel/plugin-syntax-async-generators": "^7.8.0",
+ "@babel/plugin-syntax-class-properties": "^7.10.4",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.0",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.0",
+ "@babel/plugin-syntax-top-level-await": "^7.10.4",
+ "@babel/plugin-transform-arrow-functions": "^7.10.4",
+ "@babel/plugin-transform-async-to-generator": "^7.10.4",
+ "@babel/plugin-transform-block-scoped-functions": "^7.10.4",
+ "@babel/plugin-transform-block-scoping": "^7.10.4",
+ "@babel/plugin-transform-classes": "^7.10.4",
+ "@babel/plugin-transform-computed-properties": "^7.10.4",
+ "@babel/plugin-transform-destructuring": "^7.10.4",
+ "@babel/plugin-transform-dotall-regex": "^7.10.4",
+ "@babel/plugin-transform-duplicate-keys": "^7.10.4",
+ "@babel/plugin-transform-exponentiation-operator": "^7.10.4",
+ "@babel/plugin-transform-for-of": "^7.10.4",
+ "@babel/plugin-transform-function-name": "^7.10.4",
+ "@babel/plugin-transform-literals": "^7.10.4",
+ "@babel/plugin-transform-member-expression-literals": "^7.10.4",
+ "@babel/plugin-transform-modules-amd": "^7.10.4",
+ "@babel/plugin-transform-modules-commonjs": "^7.10.4",
+ "@babel/plugin-transform-modules-systemjs": "^7.10.4",
+ "@babel/plugin-transform-modules-umd": "^7.10.4",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.10.4",
+ "@babel/plugin-transform-new-target": "^7.10.4",
+ "@babel/plugin-transform-object-super": "^7.10.4",
+ "@babel/plugin-transform-parameters": "^7.10.4",
+ "@babel/plugin-transform-property-literals": "^7.10.4",
+ "@babel/plugin-transform-regenerator": "^7.10.4",
+ "@babel/plugin-transform-reserved-words": "^7.10.4",
+ "@babel/plugin-transform-shorthand-properties": "^7.10.4",
+ "@babel/plugin-transform-spread": "^7.11.0",
+ "@babel/plugin-transform-sticky-regex": "^7.10.4",
+ "@babel/plugin-transform-template-literals": "^7.10.4",
+ "@babel/plugin-transform-typeof-symbol": "^7.10.4",
+ "@babel/plugin-transform-unicode-escapes": "^7.10.4",
+ "@babel/plugin-transform-unicode-regex": "^7.10.4",
+ "@babel/preset-modules": "^0.1.3",
+ "@babel/types": "^7.11.5",
+ "browserslist": "^4.12.0",
+ "core-js-compat": "^3.6.2",
+ "invariant": "^2.2.2",
+ "levenary": "^1.1.1",
+ "semver": "^5.5.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
"dev": true,
- "optional": true
- },
- "json-parse-better-errors": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "json-schema": {
- "version": "0.2.3",
- "bundled": true,
- "dev": true
- },
- "json-schema-traverse": {
- "version": "0.3.1",
- "bundled": true,
- "dev": true
- },
- "json-stringify-safe": {
- "version": "5.0.1",
- "bundled": true,
- "dev": true
- },
- "jsonparse": {
- "version": "1.3.1",
- "bundled": true,
- "dev": true
+ "requires": {
+ "@babel/highlight": "^7.10.4"
+ }
},
- "jsprim": {
- "version": "1.4.1",
- "bundled": true,
+ "@babel/compat-data": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.11.0.tgz",
+ "integrity": "sha512-TPSvJfv73ng0pfnEOh17bYMPQbI95+nGWc71Ss4vZdRBHTDqmM9Z8ZV4rYz8Ks7sfzc95n30k6ODIq5UGnXcYQ==",
"dev": true,
"requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
+ "browserslist": "^4.12.0",
+ "invariant": "^2.2.4",
+ "semver": "^5.5.0"
}
},
- "latest-version": {
- "version": "3.1.0",
- "bundled": true,
+ "@babel/generator": {
+ "version": "7.11.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.11.6.tgz",
+ "integrity": "sha512-DWtQ1PV3r+cLbySoHrwn9RWEgKMBLLma4OBQloPRyDYvc5msJM9kvTLo1YnlJd1P/ZuKbdli3ijr5q3FvAF3uA==",
"dev": true,
"requires": {
- "package-json": "^4.0.0"
+ "@babel/types": "^7.11.5",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
}
},
- "lazy-property": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "lcid": {
- "version": "2.0.0",
- "bundled": true,
+ "@babel/helper-annotate-as-pure": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz",
+ "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==",
"dev": true,
"requires": {
- "invert-kv": "^2.0.0"
+ "@babel/types": "^7.10.4"
}
},
- "libcipm": {
- "version": "4.0.7",
- "bundled": true,
+ "@babel/helper-builder-binary-assignment-operator-visitor": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz",
+ "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==",
"dev": true,
"requires": {
- "bin-links": "^1.1.2",
- "bluebird": "^3.5.1",
- "figgy-pudding": "^3.5.1",
- "find-npm-prefix": "^1.0.2",
- "graceful-fs": "^4.1.11",
- "ini": "^1.3.5",
- "lock-verify": "^2.0.2",
- "mkdirp": "^0.5.1",
- "npm-lifecycle": "^3.0.0",
- "npm-logical-tree": "^1.2.1",
- "npm-package-arg": "^6.1.0",
- "pacote": "^9.1.0",
- "read-package-json": "^2.0.13",
- "rimraf": "^2.6.2",
- "worker-farm": "^1.6.0"
+ "@babel/helper-explode-assignable-expression": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "libnpm": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "bin-links": "^1.1.2",
- "bluebird": "^3.5.3",
- "find-npm-prefix": "^1.0.2",
- "libnpmaccess": "^3.0.2",
- "libnpmconfig": "^1.2.1",
- "libnpmhook": "^5.0.3",
- "libnpmorg": "^1.0.1",
- "libnpmpublish": "^1.1.2",
- "libnpmsearch": "^2.0.2",
- "libnpmteam": "^1.0.2",
- "lock-verify": "^2.0.2",
- "npm-lifecycle": "^3.0.0",
- "npm-logical-tree": "^1.2.1",
- "npm-package-arg": "^6.1.0",
- "npm-profile": "^4.0.2",
- "npm-registry-fetch": "^4.0.0",
- "npmlog": "^4.1.2",
- "pacote": "^9.5.3",
- "read-package-json": "^2.0.13",
- "stringify-package": "^1.0.0"
- }
- },
- "libnpmaccess": {
- "version": "3.0.2",
- "bundled": true,
+ "@babel/helper-compilation-targets": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz",
+ "integrity": "sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==",
"dev": true,
"requires": {
- "aproba": "^2.0.0",
- "get-stream": "^4.0.0",
- "npm-package-arg": "^6.1.0",
- "npm-registry-fetch": "^4.0.0"
+ "@babel/compat-data": "^7.10.4",
+ "browserslist": "^4.12.0",
+ "invariant": "^2.2.4",
+ "levenary": "^1.1.1",
+ "semver": "^5.5.0"
}
},
- "libnpmconfig": {
- "version": "1.2.1",
- "bundled": true,
+ "@babel/helper-create-regexp-features-plugin": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz",
+ "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==",
"dev": true,
"requires": {
- "figgy-pudding": "^3.5.1",
- "find-up": "^3.0.0",
- "ini": "^1.3.5"
- },
- "dependencies": {
- "find-up": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "locate-path": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "p-limit": {
- "version": "2.2.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "p-limit": "^2.0.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "bundled": true,
- "dev": true
- }
+ "@babel/helper-annotate-as-pure": "^7.10.4",
+ "@babel/helper-regex": "^7.10.4",
+ "regexpu-core": "^4.7.0"
}
},
- "libnpmhook": {
- "version": "5.0.3",
- "bundled": true,
+ "@babel/helper-explode-assignable-expression": {
+ "version": "7.11.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.11.4.tgz",
+ "integrity": "sha512-ux9hm3zR4WV1Y3xXxXkdG/0gxF9nvI0YVmKVhvK9AfMoaQkemL3sJpXw+Xbz65azo8qJiEz2XVDUpK3KYhH3ZQ==",
"dev": true,
"requires": {
- "aproba": "^2.0.0",
- "figgy-pudding": "^3.4.1",
- "get-stream": "^4.0.0",
- "npm-registry-fetch": "^4.0.0"
+ "@babel/types": "^7.10.4"
}
},
- "libnpmorg": {
- "version": "1.0.1",
- "bundled": true,
+ "@babel/helper-function-name": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
+ "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
"dev": true,
"requires": {
- "aproba": "^2.0.0",
- "figgy-pudding": "^3.4.1",
- "get-stream": "^4.0.0",
- "npm-registry-fetch": "^4.0.0"
+ "@babel/helper-get-function-arity": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "libnpmpublish": {
- "version": "1.1.2",
- "bundled": true,
+ "@babel/helper-get-function-arity": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+ "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
"dev": true,
"requires": {
- "aproba": "^2.0.0",
- "figgy-pudding": "^3.5.1",
- "get-stream": "^4.0.0",
- "lodash.clonedeep": "^4.5.0",
- "normalize-package-data": "^2.4.0",
- "npm-package-arg": "^6.1.0",
- "npm-registry-fetch": "^4.0.0",
- "semver": "^5.5.1",
- "ssri": "^6.0.1"
+ "@babel/types": "^7.10.4"
}
},
- "libnpmsearch": {
- "version": "2.0.2",
- "bundled": true,
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz",
+ "integrity": "sha512-JbFlKHFntRV5qKw3YC0CvQnDZ4XMwgzzBbld7Ly4Mj4cbFy3KywcR8NtNctRToMWJOVvLINJv525Gd6wwVEx/Q==",
"dev": true,
"requires": {
- "figgy-pudding": "^3.5.1",
- "get-stream": "^4.0.0",
- "npm-registry-fetch": "^4.0.0"
+ "@babel/types": "^7.11.0"
}
},
- "libnpmteam": {
- "version": "1.0.2",
- "bundled": true,
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz",
+ "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==",
"dev": true,
"requires": {
- "aproba": "^2.0.0",
- "figgy-pudding": "^3.4.1",
- "get-stream": "^4.0.0",
- "npm-registry-fetch": "^4.0.0"
+ "@babel/types": "^7.10.4"
}
},
- "libnpx": {
- "version": "10.2.2",
- "bundled": true,
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
+ "dev": true
+ },
+ "@babel/helper-regex": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz",
+ "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==",
"dev": true,
"requires": {
- "dotenv": "^5.0.1",
- "npm-package-arg": "^6.0.0",
- "rimraf": "^2.6.2",
- "safe-buffer": "^5.1.0",
- "update-notifier": "^2.3.0",
- "which": "^1.3.0",
- "y18n": "^4.0.0",
- "yargs": "^11.0.0"
+ "lodash": "^4.17.19"
}
},
- "locate-path": {
- "version": "2.0.0",
- "bundled": true,
+ "@babel/helper-remap-async-to-generator": {
+ "version": "7.11.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.11.4.tgz",
+ "integrity": "sha512-tR5vJ/vBa9wFy3m5LLv2faapJLnDFxNWff2SAYkSE4rLUdbp7CdObYFgI7wK4T/Mj4UzpjPwzR8Pzmr5m7MHGA==",
"dev": true,
"requires": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
+ "@babel/helper-annotate-as-pure": "^7.10.4",
+ "@babel/helper-wrap-function": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "lock-verify": {
- "version": "2.1.0",
- "bundled": true,
+ "@babel/helper-replace-supers": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
+ "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
"dev": true,
"requires": {
- "npm-package-arg": "^6.1.0",
- "semver": "^5.4.1"
+ "@babel/helper-member-expression-to-functions": "^7.10.4",
+ "@babel/helper-optimise-call-expression": "^7.10.4",
+ "@babel/traverse": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "lockfile": {
- "version": "1.0.4",
- "bundled": true,
+ "@babel/helper-split-export-declaration": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz",
+ "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==",
"dev": true,
"requires": {
- "signal-exit": "^3.0.2"
+ "@babel/types": "^7.11.0"
}
},
- "lodash._baseindexof": {
- "version": "3.1.0",
- "bundled": true,
- "dev": true
- },
- "lodash._baseuniq": {
- "version": "4.6.0",
- "bundled": true,
+ "@babel/helper-wrap-function": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz",
+ "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==",
"dev": true,
"requires": {
- "lodash._createset": "~4.0.0",
- "lodash._root": "~3.0.0"
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/template": "^7.10.4",
+ "@babel/traverse": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "lodash._bindcallback": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true
- },
- "lodash._cacheindexof": {
- "version": "3.0.2",
- "bundled": true,
- "dev": true
- },
- "lodash._createcache": {
- "version": "3.1.2",
- "bundled": true,
+ "@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
"dev": true,
"requires": {
- "lodash._getnative": "^3.0.0"
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
}
},
- "lodash._createset": {
- "version": "4.0.3",
- "bundled": true,
- "dev": true
- },
- "lodash._getnative": {
- "version": "3.9.1",
- "bundled": true,
- "dev": true
- },
- "lodash._root": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true
- },
- "lodash.clonedeep": {
- "version": "4.5.0",
- "bundled": true,
- "dev": true
- },
- "lodash.restparam": {
- "version": "3.6.1",
- "bundled": true,
- "dev": true
- },
- "lodash.union": {
- "version": "4.6.0",
- "bundled": true,
- "dev": true
- },
- "lodash.uniq": {
- "version": "4.5.0",
- "bundled": true,
- "dev": true
- },
- "lodash.without": {
- "version": "4.4.0",
- "bundled": true,
- "dev": true
- },
- "lowercase-keys": {
- "version": "1.0.1",
- "bundled": true,
+ "@babel/parser": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.11.5.tgz",
+ "integrity": "sha512-X9rD8qqm695vgmeaQ4fvz/o3+Wk4ZzQvSHkDBgpYKxpD4qTAUm88ZKtHkVqIOsYFFbIQ6wQYhC6q7pjqVK0E0Q==",
"dev": true
},
- "lru-cache": {
- "version": "5.1.1",
- "bundled": true,
+ "@babel/plugin-proposal-async-generator-functions": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.5.tgz",
+ "integrity": "sha512-cNMCVezQbrRGvXJwm9fu/1sJj9bHdGAgKodZdLqOQIpfoH3raqmRPBM17+lh7CzhiKRRBrGtZL9WcjxSoGYUSg==",
"dev": true,
"requires": {
- "yallist": "^3.0.2"
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-remap-async-to-generator": "^7.10.4",
+ "@babel/plugin-syntax-async-generators": "^7.8.0"
}
},
- "make-dir": {
- "version": "1.3.0",
- "bundled": true,
+ "@babel/plugin-proposal-dynamic-import": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz",
+ "integrity": "sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==",
"dev": true,
"requires": {
- "pify": "^3.0.0"
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.0"
}
},
- "make-fetch-happen": {
- "version": "5.0.2",
- "bundled": true,
+ "@babel/plugin-proposal-json-strings": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz",
+ "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==",
"dev": true,
"requires": {
- "agentkeepalive": "^3.4.1",
- "cacache": "^12.0.0",
- "http-cache-semantics": "^3.8.1",
- "http-proxy-agent": "^2.1.0",
- "https-proxy-agent": "^2.2.3",
- "lru-cache": "^5.1.1",
- "mississippi": "^3.0.0",
- "node-fetch-npm": "^2.0.2",
- "promise-retry": "^1.1.1",
- "socks-proxy-agent": "^4.0.0",
- "ssri": "^6.0.0"
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-json-strings": "^7.8.0"
}
},
- "map-age-cleaner": {
- "version": "0.1.3",
- "bundled": true,
+ "@babel/plugin-proposal-nullish-coalescing-operator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz",
+ "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==",
"dev": true,
"requires": {
- "p-defer": "^1.0.0"
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
}
},
- "meant": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "mem": {
- "version": "4.3.0",
- "bundled": true,
+ "@babel/plugin-proposal-numeric-separator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz",
+ "integrity": "sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==",
"dev": true,
"requires": {
- "map-age-cleaner": "^0.1.1",
- "mimic-fn": "^2.0.0",
- "p-is-promise": "^2.0.0"
- },
- "dependencies": {
- "mimic-fn": {
- "version": "2.1.0",
- "bundled": true,
- "dev": true
- }
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
}
},
- "mime-db": {
- "version": "1.35.0",
- "bundled": true,
- "dev": true
- },
- "mime-types": {
- "version": "2.1.19",
- "bundled": true,
+ "@babel/plugin-proposal-optional-catch-binding": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz",
+ "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==",
"dev": true,
"requires": {
- "mime-db": "~1.35.0"
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
}
},
- "minimatch": {
- "version": "3.0.4",
- "bundled": true,
+ "@babel/plugin-proposal-unicode-property-regex": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz",
+ "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==",
"dev": true,
"requires": {
- "brace-expansion": "^1.1.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "minizlib": {
- "version": "1.3.3",
- "bundled": true,
+ "@babel/plugin-syntax-class-properties": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.4.tgz",
+ "integrity": "sha512-GCSBF7iUle6rNugfURwNmCGG3Z/2+opxAMLs1nND4bhEG5PuxTIggDBoeYYSujAlLtsupzOHYJQgPS3pivwXIA==",
"dev": true,
"requires": {
- "minipass": "^2.9.0"
- },
- "dependencies": {
- "minipass": {
- "version": "2.9.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- }
- }
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "mississippi": {
- "version": "3.0.0",
- "bundled": true,
+ "@babel/plugin-syntax-numeric-separator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+ "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
"dev": true,
"requires": {
- "concat-stream": "^1.5.0",
- "duplexify": "^3.4.2",
- "end-of-stream": "^1.1.0",
- "flush-write-stream": "^1.0.0",
- "from2": "^2.1.0",
- "parallel-transform": "^1.1.0",
- "pump": "^3.0.0",
- "pumpify": "^1.3.3",
- "stream-each": "^1.1.0",
- "through2": "^2.0.0"
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "mkdirp": {
- "version": "0.5.5",
- "bundled": true,
+ "@babel/plugin-syntax-top-level-await": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz",
+ "integrity": "sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==",
"dev": true,
"requires": {
- "minimist": "^1.2.5"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.5",
- "bundled": true,
- "dev": true
- }
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "move-concurrently": {
- "version": "1.0.1",
- "bundled": true,
+ "@babel/plugin-transform-arrow-functions": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz",
+ "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==",
"dev": true,
"requires": {
- "aproba": "^1.1.1",
- "copy-concurrently": "^1.0.0",
- "fs-write-stream-atomic": "^1.0.8",
- "mkdirp": "^0.5.1",
- "rimraf": "^2.5.4",
- "run-queue": "^1.0.3"
- },
- "dependencies": {
- "aproba": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true
- }
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "ms": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true
- },
- "mute-stream": {
- "version": "0.0.7",
- "bundled": true,
- "dev": true
- },
- "nice-try": {
- "version": "1.0.5",
- "bundled": true,
- "dev": true
- },
- "node-fetch-npm": {
- "version": "2.0.2",
- "bundled": true,
+ "@babel/plugin-transform-async-to-generator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz",
+ "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==",
"dev": true,
"requires": {
- "encoding": "^0.1.11",
- "json-parse-better-errors": "^1.0.0",
- "safe-buffer": "^5.1.1"
+ "@babel/helper-module-imports": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-remap-async-to-generator": "^7.10.4"
}
},
- "node-gyp": {
- "version": "5.1.0",
- "bundled": true,
+ "@babel/plugin-transform-block-scoped-functions": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz",
+ "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==",
"dev": true,
"requires": {
- "env-paths": "^2.2.0",
- "glob": "^7.1.4",
- "graceful-fs": "^4.2.2",
- "mkdirp": "^0.5.1",
- "nopt": "^4.0.1",
- "npmlog": "^4.1.2",
- "request": "^2.88.0",
- "rimraf": "^2.6.3",
- "semver": "^5.7.1",
- "tar": "^4.4.12",
- "which": "^1.3.1"
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "nopt": {
- "version": "4.0.3",
- "bundled": true,
+ "@babel/plugin-transform-block-scoping": {
+ "version": "7.11.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.11.1.tgz",
+ "integrity": "sha512-00dYeDE0EVEHuuM+26+0w/SCL0BH2Qy7LwHuI4Hi4MH5gkC8/AqMN5uWFJIsoXZrAphiMm1iXzBw6L2T+eA0ew==",
"dev": true,
"requires": {
- "abbrev": "1",
- "osenv": "^0.1.4"
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "normalize-package-data": {
- "version": "2.5.0",
- "bundled": true,
+ "@babel/plugin-transform-computed-properties": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz",
+ "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==",
"dev": true,
"requires": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- },
- "dependencies": {
- "resolve": {
- "version": "1.10.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "path-parse": "^1.0.6"
- }
- }
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "npm-audit-report": {
- "version": "1.3.2",
- "bundled": true,
+ "@babel/plugin-transform-dotall-regex": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz",
+ "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==",
"dev": true,
"requires": {
- "cli-table3": "^0.5.0",
- "console-control-strings": "^1.1.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "npm-bundled": {
- "version": "1.1.1",
- "bundled": true,
+ "@babel/plugin-transform-duplicate-keys": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz",
+ "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==",
"dev": true,
"requires": {
- "npm-normalize-package-bin": "^1.0.1"
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "npm-cache-filename": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "npm-install-checks": {
- "version": "3.0.2",
- "bundled": true,
+ "@babel/plugin-transform-exponentiation-operator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz",
+ "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==",
"dev": true,
"requires": {
- "semver": "^2.3.0 || 3.x || 4 || 5"
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "npm-lifecycle": {
- "version": "3.1.4",
- "bundled": true,
+ "@babel/plugin-transform-function-name": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz",
+ "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==",
"dev": true,
"requires": {
- "byline": "^5.0.0",
- "graceful-fs": "^4.1.15",
- "node-gyp": "^5.0.2",
- "resolve-from": "^4.0.0",
- "slide": "^1.1.6",
- "uid-number": "0.0.6",
- "umask": "^1.1.0",
- "which": "^1.3.1"
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "npm-logical-tree": {
- "version": "1.2.1",
- "bundled": true,
- "dev": true
+ "@babel/plugin-transform-literals": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz",
+ "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
},
- "npm-normalize-package-bin": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
+ "@babel/plugin-transform-member-expression-literals": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz",
+ "integrity": "sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
},
- "npm-package-arg": {
- "version": "6.1.1",
- "bundled": true,
+ "@babel/plugin-transform-named-capturing-groups-regex": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz",
+ "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==",
"dev": true,
"requires": {
- "hosted-git-info": "^2.7.1",
- "osenv": "^0.1.5",
- "semver": "^5.6.0",
- "validate-npm-package-name": "^3.0.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.10.4"
}
},
- "npm-packlist": {
- "version": "1.4.8",
- "bundled": true,
+ "@babel/plugin-transform-new-target": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz",
+ "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==",
"dev": true,
"requires": {
- "ignore-walk": "^3.0.1",
- "npm-bundled": "^1.0.1",
- "npm-normalize-package-bin": "^1.0.1"
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "npm-pick-manifest": {
- "version": "3.0.2",
- "bundled": true,
+ "@babel/plugin-transform-object-super": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz",
+ "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==",
"dev": true,
"requires": {
- "figgy-pudding": "^3.5.1",
- "npm-package-arg": "^6.0.0",
- "semver": "^5.4.1"
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-replace-supers": "^7.10.4"
}
},
- "npm-profile": {
- "version": "4.0.4",
- "bundled": true,
+ "@babel/plugin-transform-property-literals": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz",
+ "integrity": "sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==",
"dev": true,
"requires": {
- "aproba": "^1.1.2 || 2",
- "figgy-pudding": "^3.4.1",
- "npm-registry-fetch": "^4.0.0"
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "npm-registry-fetch": {
- "version": "4.0.5",
- "bundled": true,
+ "@babel/plugin-transform-regenerator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz",
+ "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==",
"dev": true,
"requires": {
- "JSONStream": "^1.3.4",
- "bluebird": "^3.5.1",
- "figgy-pudding": "^3.4.1",
- "lru-cache": "^5.1.1",
- "make-fetch-happen": "^5.0.0",
- "npm-package-arg": "^6.1.0",
- "safe-buffer": "^5.2.0"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.2.1",
- "bundled": true,
- "dev": true
- }
+ "regenerator-transform": "^0.14.2"
}
},
- "npm-run-path": {
- "version": "2.0.2",
- "bundled": true,
+ "@babel/plugin-transform-reserved-words": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz",
+ "integrity": "sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==",
"dev": true,
"requires": {
- "path-key": "^2.0.0"
+ "@babel/helper-plugin-utils": "^7.10.4"
}
},
- "npm-user-validate": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
+ "@babel/plugin-transform-shorthand-properties": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz",
+ "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
},
- "npmlog": {
- "version": "4.1.2",
- "bundled": true,
+ "@babel/plugin-transform-spread": {
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.11.0.tgz",
+ "integrity": "sha512-UwQYGOqIdQJe4aWNyS7noqAnN2VbaczPLiEtln+zPowRNlD+79w3oi2TWfYe0eZgd+gjZCbsydN7lzWysDt+gw==",
"dev": true,
"requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.11.0"
}
},
- "number-is-nan": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
+ "@babel/plugin-transform-sticky-regex": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz",
+ "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/helper-regex": "^7.10.4"
+ }
},
- "oauth-sign": {
- "version": "0.9.0",
- "bundled": true,
- "dev": true
+ "@babel/plugin-transform-template-literals": {
+ "version": "7.10.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.5.tgz",
+ "integrity": "sha512-V/lnPGIb+KT12OQikDvgSuesRX14ck5FfJXt6+tXhdkJ+Vsd0lDCVtF6jcB4rNClYFzaB2jusZ+lNISDk2mMMw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
},
- "object-assign": {
- "version": "4.1.1",
- "bundled": true,
- "dev": true
+ "@babel/plugin-transform-typeof-symbol": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz",
+ "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
},
- "object-keys": {
- "version": "1.0.12",
- "bundled": true,
- "dev": true
+ "@babel/plugin-transform-unicode-regex": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz",
+ "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.10.4",
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
},
- "object.getownpropertydescriptors": {
- "version": "2.0.3",
- "bundled": true,
+ "@babel/template": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+ "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
"dev": true,
"requires": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.5.1"
+ "@babel/code-frame": "^7.10.4",
+ "@babel/parser": "^7.10.4",
+ "@babel/types": "^7.10.4"
}
},
- "once": {
- "version": "1.4.0",
- "bundled": true,
+ "@babel/traverse": {
+ "version": "7.11.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.11.5.tgz",
+ "integrity": "sha512-EjiPXt+r7LiCZXEfRpSJd+jUMnBd4/9OUv7Nx3+0u9+eimMwJmG0Q98lw4/289JCoxSE8OolDMNZaaF/JZ69WQ==",
"dev": true,
"requires": {
- "wrappy": "1"
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.11.5",
+ "@babel/helper-function-name": "^7.10.4",
+ "@babel/helper-split-export-declaration": "^7.11.0",
+ "@babel/parser": "^7.11.5",
+ "@babel/types": "^7.11.5",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0",
+ "lodash": "^4.17.19"
}
},
- "opener": {
- "version": "1.5.1",
- "bundled": true,
- "dev": true
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
},
- "os-homedir": {
- "version": "1.0.2",
- "bundled": true,
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
- },
- "os-locale": {
- "version": "3.1.0",
- "bundled": true,
+ }
+ }
+ },
+ "@babel/preset-modules": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz",
+ "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
+ "@babel/plugin-transform-dotall-regex": "^7.4.4",
+ "@babel/types": "^7.4.4",
+ "esutils": "^2.0.2"
+ }
+ },
+ "@babel/runtime": {
+ "version": "7.13.10",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.13.10.tgz",
+ "integrity": "sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw==",
+ "dev": true,
+ "requires": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
+ "@babel/types": {
+ "version": "7.13.14",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.13.14.tgz",
+ "integrity": "sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.12.11",
+ "lodash": "^4.17.19",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@codemirror/autocomplete": {
+ "version": "0.18.5",
+ "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-0.18.5.tgz",
+ "integrity": "sha512-Zp/HMTwvaP4B01HQx+5Ga0xBBLAwNaAlbALip355NPRBkYX9PZheX5b/F5IUAdI6kIrF2eYz1xAOChXgYg9maw==",
+ "requires": {
+ "@codemirror/language": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/text": "^0.18.0",
+ "@codemirror/tooltip": "^0.18.4",
+ "@codemirror/view": "^0.18.0",
+ "lezer-tree": "^0.13.0"
+ }
+ },
+ "@codemirror/basic-setup": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/basic-setup/-/basic-setup-0.18.0.tgz",
+ "integrity": "sha512-3IU6gBIkVVCF+ZtKqzCmYU1GLfbA12OsPYPWWq9rSzEb5G/FrWCA51ERYJpS3CzOI7TfBFjZZYc5j0OiNIF2VQ==",
+ "requires": {
+ "@codemirror/autocomplete": "^0.18.0",
+ "@codemirror/closebrackets": "^0.18.0",
+ "@codemirror/commands": "^0.18.0",
+ "@codemirror/comment": "^0.18.0",
+ "@codemirror/fold": "^0.18.0",
+ "@codemirror/gutter": "^0.18.0",
+ "@codemirror/highlight": "^0.18.0",
+ "@codemirror/history": "^0.18.0",
+ "@codemirror/language": "^0.18.0",
+ "@codemirror/lint": "^0.18.0",
+ "@codemirror/matchbrackets": "^0.18.0",
+ "@codemirror/rectangular-selection": "^0.18.0",
+ "@codemirror/search": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/view": "^0.18.0"
+ }
+ },
+ "@codemirror/closebrackets": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/closebrackets/-/closebrackets-0.18.0.tgz",
+ "integrity": "sha512-O1RAgUkzF4nq/B8IyXenZKZ1rJi2Mc7I6y4IhWhELiTnjyQy7YdAthTsJ40mNr8kZ6gRbasYe3K7TraITElZJA==",
+ "requires": {
+ "@codemirror/language": "^0.18.0",
+ "@codemirror/rangeset": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/text": "^0.18.0",
+ "@codemirror/view": "^0.18.0"
+ }
+ },
+ "@codemirror/commands": {
+ "version": "0.18.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-0.18.1.tgz",
+ "integrity": "sha512-JBdGjRTCHi/eVsj5oL1S4kzhepyUVW0EnmOvwh1IYH9iN6FnRkEgaxJBryRgbos7Or8RomOKK01pprGjfqN6oA==",
+ "requires": {
+ "@codemirror/language": "^0.18.0",
+ "@codemirror/matchbrackets": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/text": "^0.18.0",
+ "@codemirror/view": "^0.18.0",
+ "lezer-tree": "^0.13.0"
+ }
+ },
+ "@codemirror/comment": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/comment/-/comment-0.18.0.tgz",
+ "integrity": "sha512-yb/8dz/zIzXIa00L0Ed7/R8m2FupPZux/EMquwzbAOnTNcXeeaPVcp9kEMPf85b9D82csunXXdiOSalBVGjKWQ==",
+ "requires": {
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/text": "^0.18.0",
+ "@codemirror/view": "^0.18.0"
+ }
+ },
+ "@codemirror/fold": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/fold/-/fold-0.18.0.tgz",
+ "integrity": "sha512-qZsl85rp1Wm2ifaw1E25paDRVGr0m2vKRIoUG5mv+G2NxJx6lsuMLgU7MKIJQ+3iDHUR2is2yU8d6lOwwp5IEg==",
+ "requires": {
+ "@codemirror/gutter": "^0.18.0",
+ "@codemirror/language": "^0.18.0",
+ "@codemirror/rangeset": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/view": "^0.18.0"
+ }
+ },
+ "@codemirror/gutter": {
+ "version": "0.18.2",
+ "resolved": "https://registry.npmjs.org/@codemirror/gutter/-/gutter-0.18.2.tgz",
+ "integrity": "sha512-mrmzt6TG9sXSKOjL5LRLv/yPbVdQqVDNSUrisq9OpIHXwZgb2pg9jYhlhw8zdgB952BmENIMr2624I13uy568Q==",
+ "requires": {
+ "@codemirror/rangeset": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/view": "^0.18.0"
+ }
+ },
+ "@codemirror/highlight": {
+ "version": "0.18.3",
+ "resolved": "https://registry.npmjs.org/@codemirror/highlight/-/highlight-0.18.3.tgz",
+ "integrity": "sha512-NmRmkmWl8ht6Y6Y39ghov84AMPCqhUPIH9fmILs2NaWxZFZf4jGCTzrULnmREGsTie+26+LbKUncIU+PBu1Qng==",
+ "requires": {
+ "@codemirror/language": "^0.18.0",
+ "@codemirror/rangeset": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/view": "^0.18.0",
+ "lezer-tree": "^0.13.0",
+ "style-mod": "^4.0.0"
+ }
+ },
+ "@codemirror/history": {
+ "version": "0.18.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/history/-/history-0.18.1.tgz",
+ "integrity": "sha512-Aad3p4zs6UYKCUMXYjh7cvPK0ajuL+rMib9yBZ61w81LLl6OkM31Xrn9J6CLJmPxCwP3OJFiqBmNSBQ05oIsTw==",
+ "requires": {
+ "@codemirror/state": "^0.18.3",
+ "@codemirror/view": "^0.18.0"
+ }
+ },
+ "@codemirror/lang-json": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/lang-json/-/lang-json-0.18.0.tgz",
+ "integrity": "sha512-1xquwhwrocZEcURmccMYk1C3g2oj6mu0np1LT1dDGmvd/VVXC0Z9j6NV78zCSyJCIdL2y+RRBh4LVWW6J6NU6Q==",
+ "requires": {
+ "@codemirror/highlight": "^0.18.0",
+ "@codemirror/language": "^0.18.0",
+ "lezer-json": "^0.13.0"
+ }
+ },
+ "@codemirror/language": {
+ "version": "0.18.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-0.18.1.tgz",
+ "integrity": "sha512-j/TWV8sNmzU79kk/hPLb9NqSPoH59850kQSpgY11LxOEBlKVRKgaWabgNtUCSeVCAnfisGekupk3aq2ftILqug==",
+ "requires": {
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/text": "^0.18.0",
+ "@codemirror/view": "^0.18.0",
+ "lezer": "^0.13.4",
+ "lezer-tree": "^0.13.0"
+ }
+ },
+ "@codemirror/lint": {
+ "version": "0.18.2",
+ "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-0.18.2.tgz",
+ "integrity": "sha512-WUZdlWNqwF6OIJFD/n3Pfsi1R3eIYrAmnnFhfEBUI/ftBh8RqjqOoPJvctHm++re85cwWzXSSZgSWxzse11PSA==",
+ "requires": {
+ "@codemirror/panel": "^0.18.1",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/tooltip": "^0.18.4",
+ "@codemirror/view": "^0.18.0",
+ "crelt": "^1.0.5"
+ }
+ },
+ "@codemirror/matchbrackets": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/matchbrackets/-/matchbrackets-0.18.0.tgz",
+ "integrity": "sha512-dPDopnZVkD54sSYdmQbyQbPdiuIA83p7XxX6Hp1ScEkOjukwCiFXiA/84x10FUTsQpUYp8bDzm7gwII119bGIw==",
+ "requires": {
+ "@codemirror/language": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/view": "^0.18.0",
+ "lezer-tree": "^0.13.0"
+ }
+ },
+ "@codemirror/panel": {
+ "version": "0.18.1",
+ "resolved": "https://registry.npmjs.org/@codemirror/panel/-/panel-0.18.1.tgz",
+ "integrity": "sha512-5Zo9cUw0QDlFzX4nhIDYjTARPOnPk5rzxAUQo1O35kTLV+6zRh7wsGlvU7VrZnBcIoaAmHfKrZ4lt6+h7fbFGw==",
+ "requires": {
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/view": "^0.18.0"
+ }
+ },
+ "@codemirror/rangeset": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/rangeset/-/rangeset-0.18.0.tgz",
+ "integrity": "sha512-+dpK3T6EFv2vkoAc3sTZld0N5SHZDjD3YowFYuMWn0Xw3t+u6k+JZlGBuaFTXdsLeF0auclsm0XhRUpMVuXhTg==",
+ "requires": {
+ "@codemirror/state": "^0.18.0"
+ }
+ },
+ "@codemirror/rectangular-selection": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/rectangular-selection/-/rectangular-selection-0.18.0.tgz",
+ "integrity": "sha512-BQ4pp2zhXCVZNqct5LtLR3AOWVseENBF/3oOgBmwsCKH7c11NfTqIqgWG5EW8NLOXp8HP8cDm3np8eWez0VkGQ==",
+ "requires": {
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/text": "^0.18.0",
+ "@codemirror/view": "^0.18.0"
+ }
+ },
+ "@codemirror/search": {
+ "version": "0.18.2",
+ "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-0.18.2.tgz",
+ "integrity": "sha512-t90Ra34piJDF589hNDmuA1fVKCFDh0FTuTZTHDmmSaWS5OWq2++zAwRTQnOdQD+uGfEUwLQPiLJzu60NDhA5xw==",
+ "requires": {
+ "@codemirror/panel": "^0.18.1",
+ "@codemirror/rangeset": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/text": "^0.18.0",
+ "@codemirror/view": "^0.18.0",
+ "crelt": "^1.0.5"
+ }
+ },
+ "@codemirror/state": {
+ "version": "0.18.6",
+ "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-0.18.6.tgz",
+ "integrity": "sha512-jBY4KFY6RGPkuRUFXSZtgxpKebju8CJq7SkKYf+NsD8OZzDSauxPPYAL7V2z8ubvw74qLPIKIX2hERvY6WBdbg==",
+ "requires": {
+ "@codemirror/text": "^0.18.0"
+ }
+ },
+ "@codemirror/text": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@codemirror/text/-/text-0.18.0.tgz",
+ "integrity": "sha512-HMzHNIAbjCiCf3tEJMRg6ul01KPuXxQGNiHlHgAnqPguq/CX+L4Nvj5JlWQAI91Pupk18zhmM1c6eaazX4YeTg=="
+ },
+ "@codemirror/tooltip": {
+ "version": "0.18.4",
+ "resolved": "https://registry.npmjs.org/@codemirror/tooltip/-/tooltip-0.18.4.tgz",
+ "integrity": "sha512-LDlDOSEfjoG24uapLN7exK3Z3JchYFKUwWqo1x/9YdlAkmD1ik7cMSQZboCquP1uJVcXhtbpKmaO6vENGVaarg==",
+ "requires": {
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/view": "^0.18.0"
+ }
+ },
+ "@codemirror/view": {
+ "version": "0.18.10",
+ "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-0.18.10.tgz",
+ "integrity": "sha512-TEeR9YdEr0YwL8BTrd4ILSupv9dnU0yphf8cfG+I/EN92EwtMrJG2xaJ+b6/jS6XuPgCm7sI0ad/ml9RCmVvGQ==",
+ "requires": {
+ "@codemirror/rangeset": "^0.18.0",
+ "@codemirror/state": "^0.18.0",
+ "@codemirror/text": "^0.18.0",
+ "style-mod": "^4.0.0",
+ "w3c-keyname": "^2.2.4"
+ }
+ },
+ "@eslint/eslintrc": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz",
+ "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.12.4",
+ "debug": "^4.1.1",
+ "espree": "^7.3.0",
+ "globals": "^12.1.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^3.13.1",
+ "lodash": "^4.17.19",
+ "minimatch": "^3.0.4",
+ "strip-json-comments": "^3.1.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"dev": true,
"requires": {
- "execa": "^1.0.0",
- "lcid": "^2.0.0",
- "mem": "^4.0.0"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "6.0.5",
- "bundled": true,
- "dev": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "execa": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- }
- }
+ "ms": "2.1.2"
}
},
- "os-tmpdir": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "osenv": {
- "version": "0.1.5",
- "bundled": true,
+ "globals": {
+ "version": "12.4.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
+ "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
"dev": true,
"requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
+ "type-fest": "^0.8.1"
}
},
- "p-defer": {
- "version": "1.0.0",
- "bundled": true,
+ "ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
"dev": true
},
- "p-finally": {
- "version": "1.0.0",
- "bundled": true,
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "p-is-promise": {
- "version": "2.1.0",
- "bundled": true,
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ }
+ }
+ },
+ "@hapi/address": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
+ "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==",
+ "dev": true
+ },
+ "@hapi/bourne": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz",
+ "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==",
+ "dev": true
+ },
+ "@hapi/formula": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@hapi/formula/-/formula-1.2.0.tgz",
+ "integrity": "sha512-UFbtbGPjstz0eWHb+ga/GM3Z9EzqKXFWIbSOFURU0A/Gku0Bky4bCk9/h//K2Xr3IrCfjFNhMm4jyZ5dbCewGA==",
+ "dev": true
+ },
+ "@hapi/hoek": {
+ "version": "8.5.1",
+ "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz",
+ "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==",
+ "dev": true
+ },
+ "@hapi/joi": {
+ "version": "15.1.1",
+ "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz",
+ "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==",
+ "dev": true,
+ "requires": {
+ "@hapi/address": "2.x.x",
+ "@hapi/bourne": "1.x.x",
+ "@hapi/hoek": "8.x.x",
+ "@hapi/topo": "3.x.x"
+ }
+ },
+ "@hapi/pinpoint": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@hapi/pinpoint/-/pinpoint-1.0.2.tgz",
+ "integrity": "sha512-dtXC/WkZBfC5vxscazuiJ6iq4j9oNx1SHknmIr8hofarpKUZKmlUVYVIhNVzIEgK5Wrc4GMHL5lZtt1uS2flmQ==",
+ "dev": true
+ },
+ "@hapi/topo": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz",
+ "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==",
+ "dev": true,
+ "requires": {
+ "@hapi/hoek": "^8.3.0"
+ }
+ },
+ "@lit/reactive-element": {
+ "version": "1.0.0-rc.1",
+ "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.0.0-rc.1.tgz",
+ "integrity": "sha512-TLRPKOhQLNOMcpCXHiTKrNKX5eNzhf9y07jp27MXkjTH1IbXFvcT9/mVdOG/3qfMkip+iO6CEfv5a+y0wFhQig=="
+ },
+ "@mrmlnc/readdir-enhanced": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
+ "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
+ "dev": true,
+ "requires": {
+ "call-me-maybe": "^1.0.1",
+ "glob-to-regexp": "^0.3.0"
+ }
+ },
+ "@nodelib/fs.scandir": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
+ "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.stat": "2.0.3",
+ "run-parallel": "^1.1.9"
+ },
+ "dependencies": {
+ "@nodelib/fs.stat": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
+ "dev": true
+ }
+ }
+ },
+ "@nodelib/fs.stat": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
+ "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
+ "dev": true
+ },
+ "@nodelib/fs.walk": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
+ "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.scandir": "2.1.3",
+ "fastq": "^1.6.0"
+ }
+ },
+ "@octokit/auth-token": {
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.4.tgz",
+ "integrity": "sha512-LNfGu3Ro9uFAYh10MUZVaT7X2CnNm2C8IDQmabx+3DygYIQjs9FwzFAHN/0t6mu5HEPhxcb1XOuxdpY82vCg2Q==",
+ "dev": true,
+ "requires": {
+ "@octokit/types": "^6.0.0"
+ }
+ },
+ "@octokit/endpoint": {
+ "version": "6.0.10",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.10.tgz",
+ "integrity": "sha512-9+Xef8nT7OKZglfkOMm7IL6VwxXUQyR7DUSU0LH/F7VNqs8vyd7es5pTfz9E7DwUIx7R3pGscxu1EBhYljyu7Q==",
+ "dev": true,
+ "requires": {
+ "@octokit/types": "^6.0.0",
+ "is-plain-object": "^5.0.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "dependencies": {
+ "is-plain-object": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
"dev": true
},
- "p-limit": {
- "version": "1.2.0",
- "bundled": true,
+ "universal-user-agent": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
+ "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==",
+ "dev": true
+ }
+ }
+ },
+ "@octokit/openapi-types": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-2.2.0.tgz",
+ "integrity": "sha512-274lNUDonw10kT8wHg8fCcUc1ZjZHbWv0/TbAwb0ojhBQqZYc1cQ/4yqTVTtPMDeZ//g7xVEYe/s3vURkRghPg==",
+ "dev": true
+ },
+ "@octokit/plugin-paginate-rest": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz",
+ "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==",
+ "dev": true,
+ "requires": {
+ "@octokit/types": "^2.0.1"
+ },
+ "dependencies": {
+ "@octokit/types": {
+ "version": "2.16.2",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz",
+ "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==",
"dev": true,
"requires": {
- "p-try": "^1.0.0"
+ "@types/node": ">= 8"
}
- },
- "p-locate": {
- "version": "2.0.0",
- "bundled": true,
+ }
+ }
+ },
+ "@octokit/plugin-request-log": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.2.tgz",
+ "integrity": "sha512-oTJSNAmBqyDR41uSMunLQKMX0jmEXbwD1fpz8FG27lScV3RhtGfBa1/BBLym+PxcC16IBlF7KH9vP1BUYxA+Eg==",
+ "dev": true
+ },
+ "@octokit/plugin-rest-endpoint-methods": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz",
+ "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==",
+ "dev": true,
+ "requires": {
+ "@octokit/types": "^2.0.1",
+ "deprecation": "^2.3.1"
+ },
+ "dependencies": {
+ "@octokit/types": {
+ "version": "2.16.2",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz",
+ "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==",
"dev": true,
"requires": {
- "p-limit": "^1.1.0"
- }
- },
- "p-try": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "package-json": {
- "version": "4.0.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "got": "^6.7.1",
- "registry-auth-token": "^3.0.1",
- "registry-url": "^3.0.3",
- "semver": "^5.1.0"
- }
- },
- "pacote": {
- "version": "9.5.12",
- "bundled": true,
- "dev": true,
- "requires": {
- "bluebird": "^3.5.3",
- "cacache": "^12.0.2",
- "chownr": "^1.1.2",
- "figgy-pudding": "^3.5.1",
- "get-stream": "^4.1.0",
- "glob": "^7.1.3",
- "infer-owner": "^1.0.4",
- "lru-cache": "^5.1.1",
- "make-fetch-happen": "^5.0.0",
- "minimatch": "^3.0.4",
- "minipass": "^2.3.5",
- "mississippi": "^3.0.0",
- "mkdirp": "^0.5.1",
- "normalize-package-data": "^2.4.0",
- "npm-normalize-package-bin": "^1.0.0",
- "npm-package-arg": "^6.1.0",
- "npm-packlist": "^1.1.12",
- "npm-pick-manifest": "^3.0.0",
- "npm-registry-fetch": "^4.0.0",
- "osenv": "^0.1.5",
- "promise-inflight": "^1.0.1",
- "promise-retry": "^1.1.1",
- "protoduck": "^5.0.1",
- "rimraf": "^2.6.2",
- "safe-buffer": "^5.1.2",
- "semver": "^5.6.0",
- "ssri": "^6.0.1",
- "tar": "^4.4.10",
- "unique-filename": "^1.1.1",
- "which": "^1.3.1"
- },
- "dependencies": {
- "minipass": {
- "version": "2.9.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- }
- }
+ "@types/node": ">= 8"
}
- },
- "parallel-transform": {
- "version": "1.1.0",
- "bundled": true,
+ }
+ }
+ },
+ "@octokit/request": {
+ "version": "5.4.12",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.12.tgz",
+ "integrity": "sha512-MvWYdxengUWTGFpfpefBBpVmmEYfkwMoxonIB3sUGp5rhdgwjXL1ejo6JbgzG/QD9B/NYt/9cJX1pxXeSIUCkg==",
+ "dev": true,
+ "requires": {
+ "@octokit/endpoint": "^6.0.1",
+ "@octokit/request-error": "^2.0.0",
+ "@octokit/types": "^6.0.3",
+ "deprecation": "^2.0.0",
+ "is-plain-object": "^5.0.0",
+ "node-fetch": "^2.6.1",
+ "once": "^1.4.0",
+ "universal-user-agent": "^6.0.0"
+ },
+ "dependencies": {
+ "@octokit/request-error": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.4.tgz",
+ "integrity": "sha512-LjkSiTbsxIErBiRh5wSZvpZqT4t0/c9+4dOe0PII+6jXR+oj/h66s7E4a/MghV7iT8W9ffoQ5Skoxzs96+gBPA==",
"dev": true,
"requires": {
- "cyclist": "~0.2.2",
- "inherits": "^2.0.3",
- "readable-stream": "^2.1.5"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
+ "@octokit/types": "^6.0.0",
+ "deprecation": "^2.0.0",
+ "once": "^1.4.0"
}
},
- "path-exists": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "path-is-inside": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "path-key": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true
- },
- "path-parse": {
- "version": "1.0.6",
- "bundled": true,
- "dev": true
- },
- "performance-now": {
- "version": "2.1.0",
- "bundled": true,
- "dev": true
- },
- "pify": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true
- },
- "prepend-http": {
- "version": "1.0.4",
- "bundled": true,
- "dev": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "bundled": true,
+ "is-plain-object": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
"dev": true
},
- "promise-inflight": {
- "version": "1.0.1",
- "bundled": true,
+ "universal-user-agent": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
+ "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==",
"dev": true
- },
- "promise-retry": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "err-code": "^1.0.0",
- "retry": "^0.10.0"
- },
- "dependencies": {
- "retry": {
- "version": "0.10.1",
- "bundled": true,
- "dev": true
- }
- }
- },
- "promzard": {
- "version": "0.3.0",
- "bundled": true,
+ }
+ }
+ },
+ "@octokit/request-error": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz",
+ "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==",
+ "dev": true,
+ "requires": {
+ "@octokit/types": "^2.0.0",
+ "deprecation": "^2.0.0",
+ "once": "^1.4.0"
+ },
+ "dependencies": {
+ "@octokit/types": {
+ "version": "2.16.2",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.16.2.tgz",
+ "integrity": "sha512-O75k56TYvJ8WpAakWwYRN8Bgu60KrmX0z1KqFp1kNiFNkgW+JW+9EBKZ+S33PU6SLvbihqd+3drvPxKK68Ee8Q==",
"dev": true,
"requires": {
- "read": "1"
+ "@types/node": ">= 8"
}
- },
- "proto-list": {
- "version": "1.2.4",
- "bundled": true,
+ }
+ }
+ },
+ "@octokit/rest": {
+ "version": "16.43.2",
+ "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.2.tgz",
+ "integrity": "sha512-ngDBevLbBTFfrHZeiS7SAMAZ6ssuVmXuya+F/7RaVvlysgGa1JKJkKWY+jV6TCJYcW0OALfJ7nTIGXcBXzycfQ==",
+ "dev": true,
+ "requires": {
+ "@octokit/auth-token": "^2.4.0",
+ "@octokit/plugin-paginate-rest": "^1.1.1",
+ "@octokit/plugin-request-log": "^1.0.0",
+ "@octokit/plugin-rest-endpoint-methods": "2.4.0",
+ "@octokit/request": "^5.2.0",
+ "@octokit/request-error": "^1.0.2",
+ "atob-lite": "^2.0.0",
+ "before-after-hook": "^2.0.0",
+ "btoa-lite": "^1.0.0",
+ "deprecation": "^2.0.0",
+ "lodash.get": "^4.4.2",
+ "lodash.set": "^4.3.2",
+ "lodash.uniq": "^4.5.0",
+ "octokit-pagination-methods": "^1.1.0",
+ "once": "^1.4.0",
+ "universal-user-agent": "^4.0.0"
+ }
+ },
+ "@octokit/types": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.2.1.tgz",
+ "integrity": "sha512-jHs9OECOiZxuEzxMZcXmqrEO8GYraHF+UzNVH2ACYh8e/Y7YoT+hUf9ldvVd6zIvWv4p3NdxbQ0xx3ku5BnSiA==",
+ "dev": true,
+ "requires": {
+ "@octokit/openapi-types": "^2.2.0",
+ "@types/node": ">= 8"
+ }
+ },
+ "@open-wc/building-utils": {
+ "version": "2.18.4",
+ "resolved": "https://registry.npmjs.org/@open-wc/building-utils/-/building-utils-2.18.4.tgz",
+ "integrity": "sha512-wjNp9oE1SFsiBEqaI67ff60KHDpDbGMNF+82pvCHe412SFY4q8DNy8A+hesj1nZsuZHH1/olDfzBDbYKAnmgMg==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.11.1",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@webcomponents/shadycss": "^1.10.2",
+ "@webcomponents/webcomponentsjs": "^2.5.0",
+ "arrify": "^2.0.1",
+ "browserslist": "^4.16.0",
+ "chokidar": "^3.4.3",
+ "clean-css": "^4.2.3",
+ "clone": "^2.1.2",
+ "core-js-bundle": "^3.8.1",
+ "deepmerge": "^4.2.2",
+ "es-module-shims": "^0.4.7",
+ "html-minifier-terser": "^5.1.1",
+ "lru-cache": "^5.1.1",
+ "minimatch": "^3.0.4",
+ "parse5": "^5.1.1",
+ "path-is-inside": "^1.0.2",
+ "regenerator-runtime": "^0.13.7",
+ "resolve": "^1.19.0",
+ "rimraf": "^3.0.2",
+ "shady-css-scoped-element": "^0.0.2",
+ "systemjs": "^6.8.3",
+ "terser": "^4.6.7",
+ "valid-url": "^1.0.9",
+ "whatwg-fetch": "^3.5.0",
+ "whatwg-url": "^7.1.0"
+ },
+ "dependencies": {
+ "parse5": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
+ "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
"dev": true
- },
- "protoduck": {
- "version": "5.0.1",
- "bundled": true,
+ }
+ }
+ },
+ "@open-wc/rollup-plugin-html": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/@open-wc/rollup-plugin-html/-/rollup-plugin-html-1.2.5.tgz",
+ "integrity": "sha512-iW/sP/zLEjRN8DuHgAkUg3A3eOYoMgY+dJs7kiVhpKTLSKA5ETybrPeM4i/VS3q2D2wc3hwhnzvEmc8hN4mFQQ==",
+ "dev": true,
+ "requires": {
+ "@open-wc/building-utils": "^2.18.3",
+ "@types/html-minifier": "^3.5.3",
+ "fs-extra": "^8.1.0",
+ "glob": "^7.1.3",
+ "html-minifier-terser": "^5.1.1",
+ "parse5": "^5.1.1"
+ },
+ "dependencies": {
+ "parse5": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
+ "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
+ "dev": true
+ }
+ }
+ },
+ "@pwabuilder/pwainstall": {
+ "version": "1.6.6",
+ "resolved": "https://registry.npmjs.org/@pwabuilder/pwainstall/-/pwainstall-1.6.6.tgz",
+ "integrity": "sha512-7IAmrQsQEi+mhBT6gLSFzk4mAKm6SACTTeFDJqErG3c/8p+4NVxoXPj5NtdiIVSM89ua2XBLwtet/gat94HFGw==",
+ "requires": {
+ "lit-element": "^2.4.0"
+ }
+ },
+ "@rollup/plugin-babel": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz",
+ "integrity": "sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.10.4",
+ "@rollup/pluginutils": "^3.1.0"
+ }
+ },
+ "@rollup/plugin-json": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz",
+ "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^3.0.8"
+ }
+ },
+ "@rollup/plugin-node-resolve": {
+ "version": "11.2.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz",
+ "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^3.1.0",
+ "@types/resolve": "1.17.1",
+ "builtin-modules": "^3.1.0",
+ "deepmerge": "^4.2.2",
+ "is-module": "^1.0.0",
+ "resolve": "^1.19.0"
+ },
+ "dependencies": {
+ "@types/resolve": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
+ "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==",
"dev": true,
"requires": {
- "genfun": "^5.0.0"
+ "@types/node": "*"
}
- },
- "prr": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "pseudomap": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "psl": {
- "version": "1.1.29",
- "bundled": true,
+ }
+ }
+ },
+ "@rollup/plugin-replace": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz",
+ "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^3.1.0",
+ "magic-string": "^0.25.7"
+ }
+ },
+ "@rollup/plugin-strip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-strip/-/plugin-strip-2.0.0.tgz",
+ "integrity": "sha512-1xtE2FDk7Wwr2dEPugkQp3M2FGtSVYeRQaJnHJIkHzcXpBlxT/z+jJoVUvm8LGXso+bLWgO65WrmQ6bC6e/x+A==",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^3.0.4",
+ "estree-walker": "^1.0.1",
+ "magic-string": "^0.25.5"
+ }
+ },
+ "@rollup/plugin-typescript": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-8.2.1.tgz",
+ "integrity": "sha512-Qd2E1pleDR4bwyFxqbjt4eJf+wB0UKVMLc7/BAFDGVdAXQMCsD4DUv5/7/ww47BZCYxWtJqe1Lo0KVNswBJlRw==",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^3.1.0",
+ "resolve": "^1.17.0"
+ }
+ },
+ "@rollup/pluginutils": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
+ "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
+ "dev": true,
+ "requires": {
+ "@types/estree": "0.0.39",
+ "estree-walker": "^1.0.1",
+ "picomatch": "^2.2.2"
+ }
+ },
+ "@surma/rollup-plugin-off-main-thread": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.1.tgz",
+ "integrity": "sha512-ZPBWYQDdO4JZiTmTP3DABsHhIPA7bEJk9Znk7tZsrbPGanoGo8YxMv//WLx5Cvb+lRgS42+6yiOIYYHCKDmkpQ==",
+ "dev": true,
+ "requires": {
+ "ejs": "^2.6.1",
+ "magic-string": "^0.25.0"
+ }
+ },
+ "@types/accepts": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz",
+ "integrity": "sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/body-parser": {
+ "version": "1.19.0",
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz",
+ "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==",
+ "dev": true,
+ "requires": {
+ "@types/connect": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/clean-css": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.2.tgz",
+ "integrity": "sha512-xiTJn3bmDh1lA8c6iVJs4ZhHw+pcmxXlJQXOB6G1oULaak8rmarIeFKI4aTJ7849dEhaO612wgIualZfbxTJwA==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
+ "dev": true
+ },
+ "@types/command-line-args": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.0.0.tgz",
+ "integrity": "sha512-4eOPXyn5DmP64MCMF8ePDvdlvlzt2a+F8ZaVjqmh2yFCpGjc1kI3kGnCFYX9SCsGTjQcWIyVZ86IHCEyjy/MNg==",
+ "dev": true
+ },
+ "@types/connect": {
+ "version": "3.4.34",
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz",
+ "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/content-disposition": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.3.tgz",
+ "integrity": "sha512-P1bffQfhD3O4LW0ioENXUhZ9OIa0Zn+P7M+pWgkCKaT53wVLSq0mrKksCID/FGHpFhRSxRGhgrQmfhRuzwtKdg==",
+ "dev": true
+ },
+ "@types/cookies": {
+ "version": "0.7.6",
+ "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.6.tgz",
+ "integrity": "sha512-FK4U5Qyn7/Sc5ih233OuHO0qAkOpEcD/eG6584yEiLKizTFRny86qHLe/rej3HFQrkBuUjF4whFliAdODbVN/w==",
+ "dev": true,
+ "requires": {
+ "@types/connect": "*",
+ "@types/express": "*",
+ "@types/keygrip": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/estree": {
+ "version": "0.0.39",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
+ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
+ "dev": true
+ },
+ "@types/express": {
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz",
+ "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==",
+ "dev": true,
+ "requires": {
+ "@types/body-parser": "*",
+ "@types/express-serve-static-core": "^4.17.18",
+ "@types/qs": "*",
+ "@types/serve-static": "*"
+ }
+ },
+ "@types/express-serve-static-core": {
+ "version": "4.17.19",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz",
+ "integrity": "sha512-DJOSHzX7pCiSElWaGR8kCprwibCB/3yW6vcT8VG3P0SJjnv19gnWG/AZMfM60Xj/YJIp/YCaDHyvzsFVeniARA==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*",
+ "@types/qs": "*",
+ "@types/range-parser": "*"
+ }
+ },
+ "@types/fs-extra": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.1.tgz",
+ "integrity": "sha512-TcUlBem321DFQzBNuz8p0CLLKp0VvF/XH9E4KHNmgwyp4E3AfgI5cjiIVZWlbfThBop2qxFIh4+LeY6hVWWZ2w==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/glob": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==",
+ "dev": true,
+ "requires": {
+ "@types/minimatch": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/html-minifier": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/@types/html-minifier/-/html-minifier-3.5.3.tgz",
+ "integrity": "sha512-j1P/4PcWVVCPEy5lofcHnQ6BtXz9tHGiFPWzqm7TtGuWZEfCHEP446HlkSNc9fQgNJaJZ6ewPtp2aaFla/Uerg==",
+ "dev": true,
+ "requires": {
+ "@types/clean-css": "*",
+ "@types/relateurl": "*",
+ "@types/uglify-js": "*"
+ }
+ },
+ "@types/http-assert": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.1.tgz",
+ "integrity": "sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ==",
+ "dev": true
+ },
+ "@types/http-errors": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-1.8.0.tgz",
+ "integrity": "sha512-2aoSC4UUbHDj2uCsCxcG/vRMXey/m17bC7UwitVm5hn22nI8O8Y9iDpA76Orc+DWkQ4zZrOKEshCqR/jSuXAHA==",
+ "dev": true
+ },
+ "@types/json-schema": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
+ "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
+ "dev": true
+ },
+ "@types/json5": {
+ "version": "0.0.29",
+ "resolved": "http://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
+ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
+ "dev": true
+ },
+ "@types/keygrip": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.2.tgz",
+ "integrity": "sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==",
+ "dev": true
+ },
+ "@types/koa": {
+ "version": "2.13.1",
+ "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.13.1.tgz",
+ "integrity": "sha512-Qbno7FWom9nNqu0yHZ6A0+RWt4mrYBhw3wpBAQ3+IuzGcLlfeYkzZrnMq5wsxulN2np8M4KKeUpTodsOsSad5Q==",
+ "dev": true,
+ "requires": {
+ "@types/accepts": "*",
+ "@types/content-disposition": "*",
+ "@types/cookies": "*",
+ "@types/http-assert": "*",
+ "@types/http-errors": "*",
+ "@types/keygrip": "*",
+ "@types/koa-compose": "*",
+ "@types/node": "*"
+ }
+ },
+ "@types/koa-compose": {
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.5.tgz",
+ "integrity": "sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==",
+ "dev": true,
+ "requires": {
+ "@types/koa": "*"
+ }
+ },
+ "@types/lodash": {
+ "version": "4.14.169",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.169.tgz",
+ "integrity": "sha512-DvmZHoHTFJ8zhVYwCLWbQ7uAbYQEk52Ev2/ZiQ7Y7gQGeV9pjBqjnQpECMHfKS1rCYAhMI7LHVxwyZLZinJgdw==",
+ "dev": true
+ },
+ "@types/lodash-es": {
+ "version": "4.17.4",
+ "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.4.tgz",
+ "integrity": "sha512-BBz79DCJbD2CVYZH67MBeHZRX++HF+5p8Mo5MzjZi64Wac39S3diedJYHZtScbRVf4DjZyN6LzA0SB0zy+HSSQ==",
+ "dev": true,
+ "requires": {
+ "@types/lodash": "*"
+ }
+ },
+ "@types/mime": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==",
+ "dev": true
+ },
+ "@types/minimatch": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
+ "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
+ "dev": true
+ },
+ "@types/node": {
+ "version": "13.9.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.2.tgz",
+ "integrity": "sha512-bnoqK579sAYrQbp73wwglccjJ4sfRdKU7WNEZ5FW4K2U6Kc0/eZ5kvXG0JKsEKFB50zrFmfFt52/cvBbZa7eXg==",
+ "dev": true
+ },
+ "@types/normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==",
+ "dev": true
+ },
+ "@types/parse5": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz",
+ "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==",
+ "dev": true
+ },
+ "@types/qs": {
+ "version": "6.9.6",
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.6.tgz",
+ "integrity": "sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==",
+ "dev": true
+ },
+ "@types/range-parser": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz",
+ "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==",
+ "dev": true
+ },
+ "@types/relateurl": {
+ "version": "0.2.28",
+ "resolved": "https://registry.npmjs.org/@types/relateurl/-/relateurl-0.2.28.tgz",
+ "integrity": "sha1-a9p9uGU/piZD9e5p6facEaOS46Y=",
+ "dev": true
+ },
+ "@types/resolve": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz",
+ "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/serve-static": {
+ "version": "1.13.9",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz",
+ "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==",
+ "dev": true,
+ "requires": {
+ "@types/mime": "^1",
+ "@types/node": "*"
+ }
+ },
+ "@types/service_worker_api": {
+ "version": "0.0.9",
+ "resolved": "https://registry.npmjs.org/@types/service_worker_api/-/service_worker_api-0.0.9.tgz",
+ "integrity": "sha1-cmn/L6DifiOjiiLokJU09jgj3ug=",
+ "dev": true,
+ "requires": {
+ "@types/whatwg-fetch": "*"
+ }
+ },
+ "@types/trusted-types": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-1.0.6.tgz",
+ "integrity": "sha512-230RC8sFeHoT6sSUlRO6a8cAnclO06eeiq1QDfiv2FGCLWFvvERWgwIQD4FWqD9A69BN7Lzee4OXwoMVnnsWDw=="
+ },
+ "@types/uglify-js": {
+ "version": "3.9.3",
+ "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.9.3.tgz",
+ "integrity": "sha512-KswB5C7Kwduwjj04Ykz+AjvPcfgv/37Za24O2EDzYNbwyzOo8+ydtvzUfZ5UMguiVu29Gx44l1A6VsPPcmYu9w==",
+ "dev": true,
+ "requires": {
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
- },
- "pump": {
- "version": "3.0.0",
- "bundled": true,
+ }
+ }
+ },
+ "@types/whatwg-fetch": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-fetch/-/whatwg-fetch-0.0.33.tgz",
+ "integrity": "sha1-GcDShjyMsjgPIaHHNrecv3iVuxM=",
+ "dev": true,
+ "requires": {
+ "@types/whatwg-streams": "*"
+ }
+ },
+ "@types/whatwg-streams": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-streams/-/whatwg-streams-3.2.1.tgz",
+ "integrity": "sha512-Syv05sRL25b8cC8tqgXSQgLZZmqGq2GO+NafrtHbjPJccP6gWBXmHvo2Trw3AWXQ4QLIkVuOB7uStCuhzswyiw==",
+ "dev": true,
+ "requires": {
+ "whatwg-streams": "*"
+ }
+ },
+ "@types/ws": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.1.tgz",
+ "integrity": "sha512-ISCK1iFnR+jYv7+jLNX0wDqesZ/5RAeY3wUx6QaphmocphU61h+b+PHjS18TF4WIPTu/MMzxIq2PHr32o2TS5Q==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@typescript-eslint/eslint-plugin": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.12.0.tgz",
+ "integrity": "sha512-wHKj6q8s70sO5i39H2g1gtpCXCvjVszzj6FFygneNFyIAxRvNSVz9GML7XpqrB9t7hNutXw+MHnLN/Ih6uyB8Q==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/experimental-utils": "4.12.0",
+ "@typescript-eslint/scope-manager": "4.12.0",
+ "debug": "^4.1.1",
+ "functional-red-black-tree": "^1.0.1",
+ "regexpp": "^3.0.0",
+ "semver": "^7.3.2",
+ "tsutils": "^3.17.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"dev": true,
"requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
+ "ms": "2.1.2"
}
},
- "pumpify": {
- "version": "1.5.1",
- "bundled": true,
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
- "duplexify": "^3.6.0",
- "inherits": "^2.0.3",
- "pump": "^2.0.0"
- },
- "dependencies": {
- "pump": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
- }
+ "yallist": "^4.0.0"
}
},
- "punycode": {
- "version": "1.4.1",
- "bundled": true,
- "dev": true
- },
- "qrcode-terminal": {
- "version": "0.12.0",
- "bundled": true,
- "dev": true
- },
- "qs": {
- "version": "6.5.2",
- "bundled": true,
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "query-string": {
- "version": "6.8.2",
- "bundled": true,
+ "semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
"dev": true,
"requires": {
- "decode-uri-component": "^0.2.0",
- "split-on-first": "^1.0.0",
- "strict-uri-encode": "^2.0.0"
+ "lru-cache": "^6.0.0"
}
},
- "qw": {
- "version": "1.0.1",
- "bundled": true,
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
- },
- "rc": {
- "version": "1.2.8",
- "bundled": true,
- "dev": true,
- "requires": {
- "deep-extend": "^0.6.0",
- "ini": "~1.3.0",
- "minimist": "^1.2.0",
- "strip-json-comments": "~2.0.1"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.5",
- "bundled": true,
- "dev": true
- }
- }
- },
- "read": {
- "version": "1.0.7",
- "bundled": true,
- "dev": true,
- "requires": {
- "mute-stream": "~0.0.4"
- }
- },
- "read-cmd-shim": {
- "version": "1.0.5",
- "bundled": true,
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2"
- }
- },
- "read-installed": {
- "version": "4.0.3",
- "bundled": true,
+ }
+ }
+ },
+ "@typescript-eslint/experimental-utils": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.12.0.tgz",
+ "integrity": "sha512-MpXZXUAvHt99c9ScXijx7i061o5HEjXltO+sbYfZAAHxv3XankQkPaNi5myy0Yh0Tyea3Hdq1pi7Vsh0GJb0fA==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.3",
+ "@typescript-eslint/scope-manager": "4.12.0",
+ "@typescript-eslint/types": "4.12.0",
+ "@typescript-eslint/typescript-estree": "4.12.0",
+ "eslint-scope": "^5.0.0",
+ "eslint-utils": "^2.0.0"
+ }
+ },
+ "@typescript-eslint/parser": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.12.0.tgz",
+ "integrity": "sha512-9XxVADAo9vlfjfoxnjboBTxYOiNY93/QuvcPgsiKvHxW6tOZx1W4TvkIQ2jB3k5M0pbFP5FlXihLK49TjZXhuQ==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/scope-manager": "4.12.0",
+ "@typescript-eslint/types": "4.12.0",
+ "@typescript-eslint/typescript-estree": "4.12.0",
+ "debug": "^4.1.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"dev": true,
"requires": {
- "debuglog": "^1.0.1",
- "graceful-fs": "^4.1.2",
- "read-package-json": "^2.0.0",
- "readdir-scoped-modules": "^1.0.0",
- "semver": "2 || 3 || 4 || 5",
- "slide": "~1.1.3",
- "util-extend": "^1.0.1"
+ "ms": "2.1.2"
}
},
- "read-package-json": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "glob": "^7.1.1",
- "graceful-fs": "^4.1.2",
- "json-parse-better-errors": "^1.0.1",
- "normalize-package-data": "^2.0.0",
- "npm-normalize-package-bin": "^1.0.0"
- }
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ }
+ }
+ },
+ "@typescript-eslint/scope-manager": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.12.0.tgz",
+ "integrity": "sha512-QVf9oCSVLte/8jvOsxmgBdOaoe2J0wtEmBr13Yz0rkBNkl5D8bfnf6G4Vhox9qqMIoG7QQoVwd2eG9DM/ge4Qg==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "4.12.0",
+ "@typescript-eslint/visitor-keys": "4.12.0"
+ }
+ },
+ "@typescript-eslint/types": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.12.0.tgz",
+ "integrity": "sha512-N2RhGeheVLGtyy+CxRmxdsniB7sMSCfsnbh8K/+RUIXYYq3Ub5+sukRCjVE80QerrUBvuEvs4fDhz5AW/pcL6g==",
+ "dev": true
+ },
+ "@typescript-eslint/typescript-estree": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.12.0.tgz",
+ "integrity": "sha512-gZkFcmmp/CnzqD2RKMich2/FjBTsYopjiwJCroxqHZIY11IIoN0l5lKqcgoAPKHt33H2mAkSfvzj8i44Jm7F4w==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "4.12.0",
+ "@typescript-eslint/visitor-keys": "4.12.0",
+ "debug": "^4.1.1",
+ "globby": "^11.0.1",
+ "is-glob": "^4.0.1",
+ "lodash": "^4.17.15",
+ "semver": "^7.3.2",
+ "tsutils": "^3.17.1"
+ },
+ "dependencies": {
+ "@nodelib/fs.stat": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz",
+ "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==",
+ "dev": true
},
- "read-package-tree": {
- "version": "5.3.1",
- "bundled": true,
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dev": true,
"requires": {
- "read-package-json": "^2.0.0",
- "readdir-scoped-modules": "^1.0.0",
- "util-promisify": "^2.1.0"
+ "fill-range": "^7.0.1"
}
},
- "readable-stream": {
- "version": "3.6.0",
- "bundled": true,
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"dev": true,
"requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
+ "ms": "2.1.2"
}
},
- "readdir-scoped-modules": {
- "version": "1.1.0",
- "bundled": true,
+ "fast-glob": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
+ "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
"dev": true,
"requires": {
- "debuglog": "^1.0.1",
- "dezalgo": "^1.0.0",
- "graceful-fs": "^4.1.2",
- "once": "^1.3.0"
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.0",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.2",
+ "picomatch": "^2.2.1"
}
},
- "registry-auth-token": {
- "version": "3.4.0",
- "bundled": true,
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true,
"requires": {
- "rc": "^1.1.6",
- "safe-buffer": "^5.0.1"
+ "to-regex-range": "^5.0.1"
}
},
- "registry-url": {
- "version": "3.1.0",
- "bundled": true,
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
"dev": true,
"requires": {
- "rc": "^1.0.1"
+ "is-glob": "^4.0.1"
}
},
- "request": {
- "version": "2.88.0",
- "bundled": true,
+ "globby": {
+ "version": "11.0.2",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz",
+ "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==",
"dev": true,
"requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.0",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.4.3",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
+ "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"
}
},
- "require-directory": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true
- },
- "require-main-filename": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "resolve-from": {
- "version": "4.0.0",
- "bundled": true,
- "dev": true
- },
- "retry": {
- "version": "0.12.0",
- "bundled": true,
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
- "rimraf": {
- "version": "2.7.1",
- "bundled": true,
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
- "glob": "^7.1.3"
+ "yallist": "^4.0.0"
}
},
- "run-queue": {
- "version": "1.0.3",
- "bundled": true,
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
"dev": true,
"requires": {
- "aproba": "^1.1.1"
- },
- "dependencies": {
- "aproba": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true
- }
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
}
},
- "safe-buffer": {
- "version": "5.1.2",
- "bundled": true,
- "dev": true
- },
- "safer-buffer": {
+ "ms": {
"version": "2.1.2",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
"semver": {
- "version": "5.7.1",
- "bundled": true,
- "dev": true
- },
- "semver-diff": {
- "version": "2.1.0",
- "bundled": true,
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
"dev": true,
"requires": {
- "semver": "^5.0.3"
+ "lru-cache": "^6.0.0"
}
},
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "sha": {
- "version": "3.0.0",
- "bundled": true,
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.2"
+ "is-number": "^7.0.0"
}
},
- "shebang-command": {
- "version": "1.2.0",
- "bundled": true,
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ }
+ }
+ },
+ "@typescript-eslint/visitor-keys": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.12.0.tgz",
+ "integrity": "sha512-hVpsLARbDh4B9TKYz5cLbcdMIOAoBYgFPCSP9FFS/liSF+b33gVNq8JHY3QGhHNVz85hObvL7BEYLlgx553WCw==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "4.12.0",
+ "eslint-visitor-keys": "^2.0.0"
+ }
+ },
+ "@vaadin/router": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/@vaadin/router/-/router-1.7.4.tgz",
+ "integrity": "sha512-B4JVtzFVUMlsjuJHNXEMfNZrM4QDrdeOMc6EEigiHYxwF82py6yDdP6SWP0aPoP3f6aQHt51tLWdXSpkKpWf7A==",
+ "requires": {
+ "@vaadin/vaadin-usage-statistics": "^2.1.0",
+ "path-to-regexp": "2.4.0"
+ }
+ },
+ "@vaadin/vaadin-development-mode-detector": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@vaadin/vaadin-development-mode-detector/-/vaadin-development-mode-detector-2.0.4.tgz",
+ "integrity": "sha512-S+PaFrZpK8uBIOnIHxjntTrgumd5ztuCnZww96ydGKXgo9whXfZsbMwDuD/102a/IuPUMyF+dh/n3PbWzJ6igA=="
+ },
+ "@vaadin/vaadin-usage-statistics": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@vaadin/vaadin-usage-statistics/-/vaadin-usage-statistics-2.1.0.tgz",
+ "integrity": "sha512-e81nbqY5zsaYhLJuOVkJkB/Um1pGK5POIqIlTNhUfjeoyGaJ63tiX8+D5n6F+GgVxUTLUarsKa6SKRcQel0AzA==",
+ "requires": {
+ "@vaadin/vaadin-development-mode-detector": "^2.0.0"
+ }
+ },
+ "@web/config-loader": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@web/config-loader/-/config-loader-0.1.3.tgz",
+ "integrity": "sha512-XVKH79pk4d3EHRhofete8eAnqto1e8mCRAqPV00KLNFzCWSe8sWmLnqKCqkPNARC6nksMaGrATnA5sPDRllMpQ==",
+ "dev": true,
+ "requires": {
+ "semver": "^7.3.4"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
- "shebang-regex": "^1.0.0"
+ "yallist": "^4.0.0"
}
},
- "shebang-regex": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "bundled": true,
- "dev": true
- },
- "slide": {
- "version": "1.1.6",
- "bundled": true,
- "dev": true
- },
- "smart-buffer": {
- "version": "4.1.0",
- "bundled": true,
- "dev": true
- },
- "socks": {
- "version": "2.3.3",
- "bundled": true,
+ "semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
"dev": true,
"requires": {
- "ip": "1.1.5",
- "smart-buffer": "^4.1.0"
+ "lru-cache": "^6.0.0"
}
},
- "socks-proxy-agent": {
- "version": "4.0.2",
- "bundled": true,
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ }
+ }
+ },
+ "@web/dev-server": {
+ "version": "0.1.10",
+ "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.1.10.tgz",
+ "integrity": "sha512-5Pj2GPNKO6Uq2aQCq1+/fkXdZ5guALevUb6M324oiTr1srBXHod6QunbzqXovO5Bcgmo79ZOneHMgoQNwxtIYA==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.12.11",
+ "@rollup/plugin-node-resolve": "^11.0.1",
+ "@types/command-line-args": "^5.0.0",
+ "@web/config-loader": "^0.1.3",
+ "@web/dev-server-core": "^0.3.8",
+ "@web/dev-server-rollup": "^0.3.2",
+ "camelcase": "^6.2.0",
+ "chalk": "^4.1.0",
+ "command-line-args": "^5.1.1",
+ "command-line-usage": "^6.1.1",
+ "debounce": "^1.2.0",
+ "deepmerge": "^4.2.2",
+ "ip": "^1.1.5",
+ "open": "^8.0.2",
+ "portfinder": "^1.0.28"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+ "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
"dev": true,
"requires": {
- "agent-base": "~4.2.1",
- "socks": "~2.3.2"
- },
- "dependencies": {
- "agent-base": {
- "version": "4.2.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "es6-promisify": "^5.0.0"
- }
- }
+ "@babel/highlight": "^7.10.4"
}
},
- "sorted-object": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true
- },
- "sorted-union-stream": {
- "version": "2.1.3",
- "bundled": true,
+ "@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
"dev": true,
"requires": {
- "from2": "^1.3.0",
- "stream-iterate": "^1.1.0"
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
},
"dependencies": {
- "from2": {
- "version": "1.3.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "inherits": "~2.0.1",
- "readable-stream": "~1.1.10"
- }
- },
- "isarray": {
- "version": "0.0.1",
- "bundled": true,
- "dev": true
- },
- "readable-stream": {
- "version": "1.1.14",
- "bundled": true,
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.1",
- "isarray": "0.0.1",
- "string_decoder": "~0.10.x"
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
}
- },
- "string_decoder": {
- "version": "0.10.31",
- "bundled": true,
- "dev": true
}
}
},
- "spdx-correct": {
- "version": "3.0.0",
- "bundled": true,
+ "@rollup/plugin-node-resolve": {
+ "version": "11.2.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz",
+ "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==",
"dev": true,
"requires": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
+ "@rollup/pluginutils": "^3.1.0",
+ "@types/resolve": "1.17.1",
+ "builtin-modules": "^3.1.0",
+ "deepmerge": "^4.2.2",
+ "is-module": "^1.0.0",
+ "resolve": "^1.19.0"
}
},
- "spdx-exceptions": {
- "version": "2.1.0",
- "bundled": true,
- "dev": true
- },
- "spdx-expression-parse": {
- "version": "3.0.0",
- "bundled": true,
+ "@types/resolve": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
+ "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==",
"dev": true,
"requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
+ "@types/node": "*"
}
},
- "spdx-license-ids": {
- "version": "3.0.5",
- "bundled": true,
+ "array-back": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.1.tgz",
+ "integrity": "sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg==",
"dev": true
},
- "split-on-first": {
- "version": "1.1.0",
- "bundled": true,
+ "camelcase": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
+ "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
"dev": true
},
- "sshpk": {
- "version": "1.14.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- }
- },
- "ssri": {
- "version": "6.0.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "figgy-pudding": "^3.5.1"
- }
- },
- "stream-each": {
- "version": "1.2.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "end-of-stream": "^1.1.0",
- "stream-shift": "^1.0.0"
- }
- },
- "stream-iterate": {
- "version": "1.2.0",
- "bundled": true,
+ "chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"dev": true,
"requires": {
- "readable-stream": "^2.1.5",
- "stream-shift": "^1.0.0"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
},
"dependencies": {
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "color-convert": "^2.0.1"
}
},
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
- "safe-buffer": "~5.1.0"
+ "has-flag": "^4.0.0"
}
}
}
},
- "stream-shift": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
},
- "strict-uri-encode": {
- "version": "2.0.0",
- "bundled": true,
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "string-width": {
- "version": "2.1.1",
- "bundled": true,
+ "command-line-usage": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.1.tgz",
+ "integrity": "sha512-F59pEuAR9o1SF/bD0dQBDluhpT4jJQNWUHEuVBqpDmCUo6gPjCi+m9fCWnWZVR/oG6cMTUms4h+3NPl74wGXvA==",
"dev": true,
"requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
+ "array-back": "^4.0.1",
+ "chalk": "^2.4.2",
+ "table-layout": "^1.0.1",
+ "typical": "^5.2.0"
},
"dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "strip-ansi": {
- "version": "4.0.0",
- "bundled": true,
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
- "ansi-regex": "^3.0.0"
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
}
}
}
},
- "string_decoder": {
- "version": "1.3.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "safe-buffer": "~5.2.0"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.2.0",
- "bundled": true,
- "dev": true
- }
- }
- },
- "stringify-package": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "strip-ansi": {
- "version": "3.0.1",
- "bundled": true,
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
"requires": {
- "ansi-regex": "^2.0.0"
+ "ms": "^2.1.1"
}
},
- "strip-eof": {
- "version": "1.0.0",
- "bundled": true,
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
- "strip-json-comments": {
- "version": "2.0.1",
- "bundled": true,
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true
},
- "supports-color": {
- "version": "5.4.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- },
- "tar": {
- "version": "4.4.13",
- "bundled": true,
- "dev": true,
- "requires": {
- "chownr": "^1.1.1",
- "fs-minipass": "^1.2.5",
- "minipass": "^2.8.6",
- "minizlib": "^1.2.1",
- "mkdirp": "^0.5.0",
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.3"
- },
- "dependencies": {
- "minipass": {
- "version": "2.9.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "safe-buffer": "^5.1.2",
- "yallist": "^3.0.0"
- }
- }
- }
- },
- "term-size": {
- "version": "1.2.0",
- "bundled": true,
+ "portfinder": {
+ "version": "1.0.28",
+ "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz",
+ "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==",
"dev": true,
"requires": {
- "execa": "^0.7.0"
+ "async": "^2.6.2",
+ "debug": "^3.1.1",
+ "mkdirp": "^0.5.5"
}
},
- "text-table": {
- "version": "0.2.0",
- "bundled": true,
- "dev": true
- },
- "through": {
- "version": "2.3.8",
- "bundled": true,
+ "typical": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz",
+ "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==",
"dev": true
- },
- "through2": {
- "version": "2.0.3",
- "bundled": true,
+ }
+ }
+ },
+ "@web/dev-server-core": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.3.8.tgz",
+ "integrity": "sha512-Qbo2ZVUopmjEP8ZDc8v0N/nTW9LbmycuC+uoTwp62PfHfqSN9RgXGzuGMmp5sBPRXi/E1oi1GQ+lMoDWXLjKYA==",
+ "dev": true,
+ "requires": {
+ "@types/koa": "^2.11.6",
+ "@types/ws": "^7.4.0",
+ "@web/parse5-utils": "^1.2.0",
+ "chokidar": "^3.4.3",
+ "clone": "^2.1.2",
+ "es-module-lexer": "^0.4.0",
+ "get-stream": "^6.0.0",
+ "is-stream": "^2.0.0",
+ "isbinaryfile": "^4.0.6",
+ "koa": "^2.13.0",
+ "koa-etag": "^4.0.0",
+ "koa-send": "^5.0.1",
+ "koa-static": "^5.0.0",
+ "lru-cache": "^6.0.0",
+ "mime-types": "^2.1.27",
+ "parse5": "^6.0.1",
+ "picomatch": "^2.2.2",
+ "ws": "^7.4.2"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
- "readable-stream": "^2.1.5",
- "xtend": "~4.0.1"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
- "dev": true,
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
+ "yallist": "^4.0.0"
}
},
- "timed-out": {
- "version": "4.0.1",
- "bundled": true,
+ "parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
"dev": true
},
- "tiny-relative-date": {
- "version": "1.3.0",
- "bundled": true,
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
- },
- "tough-cookie": {
- "version": "2.4.3",
- "bundled": true,
+ }
+ }
+ },
+ "@web/dev-server-rollup": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.3.2.tgz",
+ "integrity": "sha512-c5ROnMAUrOJPXTQFFXZiOy0ta4Y5yXLA2QkD71htNhIcqeOI4yx6ueDtuFqovRxVI0qcWGk46UdfZ0UGT/9MIg==",
+ "dev": true,
+ "requires": {
+ "@web/dev-server-core": "^0.3.3",
+ "chalk": "^4.1.0",
+ "parse5": "^6.0.1",
+ "rollup": "^2.35.1",
+ "whatwg-url": "^8.4.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "psl": "^1.1.24",
- "punycode": "^1.4.1"
+ "color-convert": "^2.0.1"
}
},
- "tunnel-agent": {
- "version": "0.6.0",
- "bundled": true,
+ "chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"dev": true,
"requires": {
- "safe-buffer": "^5.0.1"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
}
},
- "tweetnacl": {
- "version": "0.14.5",
- "bundled": true,
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
- "optional": true
+ "requires": {
+ "color-name": "~1.1.4"
+ }
},
- "typedarray": {
- "version": "0.0.6",
- "bundled": true,
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "uid-number": {
- "version": "0.0.6",
- "bundled": true,
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
- "umask": {
- "version": "1.1.0",
- "bundled": true,
+ "parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
"dev": true
},
- "unique-filename": {
- "version": "1.1.1",
- "bundled": true,
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
- "unique-slug": "^2.0.0"
+ "has-flag": "^4.0.0"
}
},
- "unique-slug": {
- "version": "2.0.0",
- "bundled": true,
+ "tr46": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz",
+ "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==",
"dev": true,
"requires": {
- "imurmurhash": "^0.1.4"
+ "punycode": "^2.1.1"
}
},
- "unique-string": {
+ "webidl-conversions": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
+ "dev": true
+ },
+ "whatwg-url": {
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.5.0.tgz",
+ "integrity": "sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.7.0",
+ "tr46": "^2.0.2",
+ "webidl-conversions": "^6.1.0"
+ }
+ }
+ }
+ },
+ "@web/parse5-utils": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@web/parse5-utils/-/parse5-utils-1.2.2.tgz",
+ "integrity": "sha512-B68DoJ5qF8Cu3o7nDA2RQTCf9bslVz2b0WHTk3qir5YCbWfhnPEGhDOedOjbE8xDiHqgzI1zXQsJ2+655aluLA==",
+ "dev": true,
+ "requires": {
+ "@types/parse5": "^5.0.3",
+ "parse5": "^6.0.1"
+ },
+ "dependencies": {
+ "parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+ "dev": true
+ }
+ }
+ },
+ "@webcomponents/shadycss": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/@webcomponents/shadycss/-/shadycss-1.10.2.tgz",
+ "integrity": "sha512-9Iseu8bRtecb0klvv+WXZOVZatsRkbaH7M97Z+f+Pt909R4lDfgUODAnra23DOZTpeMTAkVpf4m/FZztN7Ox1A==",
+ "dev": true
+ },
+ "@webcomponents/webcomponentsjs": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@webcomponents/webcomponentsjs/-/webcomponentsjs-2.5.0.tgz",
+ "integrity": "sha512-C0l51MWQZ9kLzcxOZtniOMohpIFdCLZum7/TEHv3XWFc1Fvt5HCpbSX84x8ltka/JuNKcuiDnxXFkiB2gaePcg==",
+ "dev": true
+ },
+ "abort-controller": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
+ "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
+ "dev": true,
+ "requires": {
+ "event-target-shim": "^5.0.0"
+ }
+ },
+ "accepts": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
+ "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
+ "requires": {
+ "mime-types": "~2.1.24",
+ "negotiator": "0.6.2"
+ }
+ },
+ "acorn": {
+ "version": "7.4.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
+ "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
+ "dev": true
+ },
+ "acorn-jsx": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz",
+ "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
+ "dev": true
+ },
+ "agent-base": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
+ "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
+ "dev": true,
+ "requires": {
+ "es6-promisify": "^5.0.0"
+ }
+ },
+ "ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "ansi-colors": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "any-promise": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
+ "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=",
+ "dev": true
+ },
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
+ },
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "dev": true
+ },
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "dev": true
+ },
+ "array-back": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
+ "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
+ "dev": true
+ },
+ "array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
+ },
+ "array-includes": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz",
+ "integrity": "sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.1",
+ "get-intrinsic": "^1.0.1",
+ "is-string": "^1.0.5"
+ }
+ },
+ "array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true
+ },
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
+ },
+ "array.prototype.flat": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz",
+ "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.1"
+ }
+ },
+ "arrify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
+ "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
+ "dev": true
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+ "dev": true
+ },
+ "astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "dev": true
+ },
+ "async": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
+ "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.14"
+ }
+ },
+ "async-retry": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.2.3.tgz",
+ "integrity": "sha512-tfDb02Th6CE6pJUF2gjW5ZVjsgwlucVXOEQMvEX9JgSJMs9gAX+Nz3xRuJBKuUYjTSYORqvDBORdAQ3LU59g7Q==",
+ "dev": true,
+ "requires": {
+ "retry": "0.12.0"
+ }
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "dev": true
+ },
+ "at-least-node": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+ "dev": true
+ },
+ "atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true
+ },
+ "atob-lite": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz",
+ "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY=",
+ "dev": true
+ },
+ "babel-extract-comments": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz",
+ "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==",
+ "dev": true,
+ "requires": {
+ "babylon": "^6.18.0"
+ }
+ },
+ "babel-plugin-syntax-object-rest-spread": {
+ "version": "6.13.0",
+ "resolved": "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+ "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
+ "dev": true
+ },
+ "babel-plugin-transform-object-rest-spread": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
+ "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
+ "dev": true,
+ "requires": {
+ "babel-plugin-syntax-object-rest-spread": "^6.8.0",
+ "babel-runtime": "^6.26.0"
+ }
+ },
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ },
+ "dependencies": {
+ "regenerator-runtime": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+ "dev": true
+ }
+ }
+ },
+ "babylon": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
+ "dev": true
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "base": {
+ "version": "0.11.2",
+ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "dev": true,
+ "requires": {
+ "cache-base": "^1.0.1",
+ "class-utils": "^0.3.5",
+ "component-emitter": "^1.2.1",
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.1",
+ "mixin-deep": "^1.2.0",
+ "pascalcase": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
"version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
"requires": {
- "crypto-random-string": "^1.0.0"
+ "is-descriptor": "^1.0.0"
}
},
- "unpipe": {
+ "is-accessor-descriptor": {
"version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "unzip-response": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true
- },
- "update-notifier": {
- "version": "2.5.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
"requires": {
- "boxen": "^1.2.1",
- "chalk": "^2.0.1",
- "configstore": "^3.0.0",
- "import-lazy": "^2.1.0",
- "is-ci": "^1.0.10",
- "is-installed-globally": "^0.1.0",
- "is-npm": "^1.0.0",
- "latest-version": "^3.0.0",
- "semver-diff": "^2.0.0",
- "xdg-basedir": "^3.0.0"
+ "kind-of": "^6.0.0"
}
},
- "url-parse-lax": {
+ "is-data-descriptor": {
"version": "1.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "prepend-http": "^1.0.1"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "util-extend": {
- "version": "1.0.3",
- "bundled": true,
- "dev": true
- },
- "util-promisify": {
- "version": "2.1.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "object.getownpropertydescriptors": "^2.0.3"
- }
- },
- "uuid": {
- "version": "3.3.3",
- "bundled": true,
- "dev": true
- },
- "validate-npm-package-license": {
- "version": "3.0.4",
- "bundled": true,
- "dev": true,
- "requires": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
- "validate-npm-package-name": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "builtins": "^1.0.3"
- }
- },
- "verror": {
- "version": "1.10.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
- }
- },
- "wcwidth": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "defaults": "^1.0.3"
- }
- },
- "which": {
- "version": "1.3.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "which-module": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "wide-align": {
- "version": "1.1.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "string-width": "^1.0.2"
- },
- "dependencies": {
- "string-width": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- }
- }
- },
- "widest-line": {
- "version": "2.0.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "string-width": "^2.1.1"
- }
- },
- "worker-farm": {
- "version": "1.7.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "errno": "~0.1.7"
- }
- },
- "wrap-ansi": {
- "version": "2.1.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
"requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
- },
- "dependencies": {
- "string-width": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- }
+ "kind-of": "^6.0.0"
}
},
- "wrappy": {
+ "is-descriptor": {
"version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "write-file-atomic": {
- "version": "2.4.3",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.11",
- "imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.2"
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
}
- },
- "xdg-basedir": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true
- },
- "xtend": {
- "version": "4.0.1",
- "bundled": true,
- "dev": true
- },
- "y18n": {
- "version": "4.0.0",
- "bundled": true,
- "dev": true
- },
- "yallist": {
- "version": "3.0.3",
- "bundled": true,
- "dev": true
- },
- "yargs": {
- "version": "11.1.1",
- "bundled": true,
- "dev": true,
+ }
+ }
+ },
+ "before-after-hook": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz",
+ "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==",
+ "dev": true
+ },
+ "binary-extensions": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
+ "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
+ "dev": true
+ },
+ "bluebird": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-1.0.8.tgz",
+ "integrity": "sha1-hRx4JebM5Z5LQ93pXVdLiGdUY/w=",
+ "dev": true
+ },
+ "body-parser": {
+ "version": "1.19.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
+ "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
+ "requires": {
+ "bytes": "3.1.0",
+ "content-type": "~1.0.4",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "http-errors": "1.7.2",
+ "iconv-lite": "0.4.24",
+ "on-finished": "~2.3.0",
+ "qs": "6.7.0",
+ "raw-body": "2.4.0",
+ "type-is": "~1.6.17"
+ },
+ "dependencies": {
+ "http-errors": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
+ "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
"requires": {
- "cliui": "^4.0.0",
- "decamelize": "^1.1.1",
- "find-up": "^2.1.0",
- "get-caller-file": "^1.0.1",
- "os-locale": "^3.1.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
- "which-module": "^2.0.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^9.0.2"
- },
- "dependencies": {
- "y18n": {
- "version": "3.2.1",
- "bundled": true,
- "dev": true
- }
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.1",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.0"
}
},
- "yargs-parser": {
- "version": "9.0.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "camelcase": "^4.1.0"
- }
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
}
}
},
- "npm-install-peers": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/npm-install-peers/-/npm-install-peers-1.2.1.tgz",
- "integrity": "sha512-bhy5b13N8dk+IBnBhgpJ50nrvIg3JPIAPkRzsbu529CBBWKXOze9hNZ8swyWfUypvxv2rPZDexzUIbVQLQMCVw==",
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
"dev": true,
"requires": {
- "chalk": "^1.1.3",
- "npm": "*"
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
},
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "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"
+ "is-extendable": "^0.1.0"
}
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true
}
}
},
- "npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "browser-fs-access": {
+ "version": "0.16.2",
+ "resolved": "https://registry.npmjs.org/browser-fs-access/-/browser-fs-access-0.16.2.tgz",
+ "integrity": "sha512-wuboS/Vmm85dYIvaY/oIVboNFr3YI1bV+PF19t6gtDUcjaXN7yyroJ/oKdkXJZp6UeQPdWP/tgKGmFbQkfVrYA=="
+ },
+ "browserslist": {
+ "version": "4.16.3",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz",
+ "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==",
+ "dev": true,
"requires": {
- "path-key": "^2.0.0"
+ "caniuse-lite": "^1.0.30001181",
+ "colorette": "^1.2.1",
+ "electron-to-chromium": "^1.3.649",
+ "escalade": "^3.1.1",
+ "node-releases": "^1.1.70"
}
},
- "npmlog": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
- "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "btoa-lite": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz",
+ "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=",
+ "dev": true
+ },
+ "buffer-equal-constant-time": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
+ "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=",
+ "dev": true
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+ "dev": true
+ },
+ "builtin-modules": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz",
+ "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==",
+ "dev": true
+ },
+ "bytes": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
+ "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
+ },
+ "cache-base": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
"dev": true,
"requires": {
- "are-we-there-yet": "~1.1.2",
- "console-control-strings": "~1.1.0",
- "gauge": "~2.7.3",
- "set-blocking": "~2.0.0"
+ "collection-visit": "^1.0.0",
+ "component-emitter": "^1.2.1",
+ "get-value": "^2.0.6",
+ "has-value": "^1.0.0",
+ "isobject": "^3.0.1",
+ "set-value": "^2.0.0",
+ "to-object-path": "^0.3.0",
+ "union-value": "^1.0.0",
+ "unset-value": "^1.0.0"
}
},
- "nth-check": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
- "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
+ "cache-content-type": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz",
+ "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==",
+ "dev": true,
"requires": {
- "boolbase": "~1.0.0"
+ "mime-types": "^2.1.18",
+ "ylru": "^1.2.0"
}
},
- "num2fraction": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
- "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4="
+ "call-bind": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz",
+ "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.0"
+ }
},
- "number-is-nan": {
+ "call-me-maybe": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
- },
- "nuxt": {
- "version": "1.4.5",
- "resolved": "https://registry.npmjs.org/nuxt/-/nuxt-1.4.5.tgz",
- "integrity": "sha512-JhGCcDId3umMh+Hzvx2p6GUy/R4DNTUaNiP60jjMaYXXee6oumrpZh45t0S9Z0kPQz6+2H2/4J5ATxmVFFL8ZQ==",
- "requires": {
- "@nuxtjs/youch": "^4.2.3",
- "ansi-html": "^0.0.7",
- "autoprefixer": "^7.2.5",
- "babel-core": "^6.26.0",
- "babel-loader": "^7.1.2",
- "babel-preset-vue-app": "^2.0.0",
- "caniuse-lite": "^1.0.30000808",
- "chalk": "^2.3.1",
- "chokidar": "^2.0.1",
- "clone": "^2.1.1",
- "compression": "^1.7.1",
- "connect": "^3.6.5",
- "css-hot-loader": "^1.3.7",
- "css-loader": "^0.28.9",
- "debug": "^3.1.0",
- "es6-promise": "^4.2.4",
- "etag": "^1.8.1",
- "extract-text-webpack-plugin": "^3.0.2",
- "file-loader": "^1.1.6",
- "fresh": "^0.5.2",
- "friendly-errors-webpack-plugin": "^1.6.1",
- "fs-extra": "^5.0.0",
- "glob": "^7.1.2",
- "hash-sum": "^1.0.2",
- "html-minifier": "^3.5.9",
- "html-webpack-plugin": "^2.30.1",
- "launch-editor": "^2.2.1",
- "launch-editor-middleware": "^2.2.1",
- "lodash": "^4.17.5",
- "lru-cache": "^4.1.1",
- "memory-fs": "^0.4.1",
- "minimist": "^1.2.0",
- "opencollective": "^1.0.3",
- "postcss": "^6.0.17",
- "postcss-cssnext": "^3.1.0",
- "postcss-import": "^11.1.0",
- "postcss-import-resolver": "^1.1.0",
- "postcss-loader": "^2.1.0",
- "postcss-url": "^7.3.0",
- "pretty-error": "^2.1.1",
- "progress-bar-webpack-plugin": "^1.10.0",
- "semver": "^5.5.0",
- "serialize-javascript": "^1.4.0",
- "serve-static": "^1.13.2",
- "server-destroy": "^1.0.1",
- "source-map": "^0.7.0",
- "style-resources-loader": "^1.0.0",
- "uglifyjs-webpack-plugin": "^1.1.8",
- "upath": "^1.1.0",
- "url-loader": "^0.6.2",
- "vue": "^2.5.17",
- "vue-loader": "^13.7.2",
- "vue-meta": "^1.4.3",
- "vue-router": "^3.0.1",
- "vue-server-renderer": "^2.5.17",
- "vue-template-compiler": "^2.5.17",
- "vuex": "^3.0.1",
- "webpack": "^3.11.0",
- "webpack-bundle-analyzer": "^2.10.0",
- "webpack-dev-middleware": "^2.0.5",
- "webpack-hot-middleware": "^2.21.0",
- "webpack-node-externals": "^1.6.0"
+ "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
+ "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
+ "dev": true
+ },
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
+ },
+ "camel-case": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
+ "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
+ "dev": true,
+ "requires": {
+ "pascal-case": "^3.1.2",
+ "tslib": "^2.0.3"
},
"dependencies": {
- "source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ=="
+ "tslib": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
+ "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
+ "dev": true
}
}
},
- "nuxt-class-component": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/nuxt-class-component/-/nuxt-class-component-1.2.1.tgz",
- "integrity": "sha512-U8IDcwza4fooni5fp/pCgRjcNE6mRM1o48mGpDLdjp/FY8WehbF1Q6LNmyBOob5yDpR7sLhGsFYWdfR7vJ1AHg==",
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ },
+ "caniuse-lite": {
+ "version": "1.0.30001207",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001207.tgz",
+ "integrity": "sha512-UPQZdmAsyp2qfCTiMU/zqGSWOYaY9F9LL61V8f+8MrubsaDGpaHD9HRV/EWZGULZn0Hxu48SKzI5DgFwTvHuYw==",
+ "dev": true
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
"requires": {
- "vue-class-component": "^6.2.0",
- "vuex-class": "^0.3.0"
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
}
},
- "nyc": {
- "version": "13.3.0",
- "resolved": "https://registry.npmjs.org/nyc/-/nyc-13.3.0.tgz",
- "integrity": "sha512-P+FwIuro2aFG6B0Esd9ZDWUd51uZrAEoGutqZxzrVmYl3qSfkLgcQpBPBjtDFsUQLFY1dvTQJPOyeqr8S9GF8w==",
+ "chokidar": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
+ "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
"dev": true,
"requires": {
- "archy": "^1.0.0",
- "arrify": "^1.0.1",
- "caching-transform": "^3.0.1",
- "convert-source-map": "^1.6.0",
- "find-cache-dir": "^2.0.0",
- "find-up": "^3.0.0",
- "foreground-child": "^1.5.6",
- "glob": "^7.1.3",
- "istanbul-lib-coverage": "^2.0.3",
- "istanbul-lib-hook": "^2.0.3",
- "istanbul-lib-instrument": "^3.1.0",
- "istanbul-lib-report": "^2.0.4",
- "istanbul-lib-source-maps": "^3.0.2",
- "istanbul-reports": "^2.1.1",
- "make-dir": "^1.3.0",
- "merge-source-map": "^1.1.0",
- "resolve-from": "^4.0.0",
- "rimraf": "^2.6.3",
- "signal-exit": "^3.0.2",
- "spawn-wrap": "^1.4.2",
- "test-exclude": "^5.1.0",
- "uuid": "^3.3.2",
- "yargs": "^12.0.5",
- "yargs-parser": "^11.1.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true
- },
- "append-transform": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "default-require-extensions": "^2.0.0"
- }
- },
- "archy": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "arrify": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "async": {
- "version": "2.6.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "lodash": "^4.17.11"
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "caching-transform": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "hasha": "^3.0.0",
- "make-dir": "^1.3.0",
- "package-hash": "^3.0.0",
- "write-file-atomic": "^2.3.0"
- }
- },
- "camelcase": {
- "version": "5.0.0",
- "bundled": true,
- "dev": true
- },
- "cliui": {
- "version": "4.1.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "string-width": "^2.1.1",
- "strip-ansi": "^4.0.0",
- "wrap-ansi": "^2.0.0"
- }
- },
- "code-point-at": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true
- },
- "commander": {
- "version": "2.17.1",
- "bundled": true,
- "dev": true,
- "optional": true
- },
- "commondir": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true,
- "dev": true
- },
- "convert-source-map": {
- "version": "1.6.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.1"
- }
- },
- "cross-spawn": {
- "version": "4.0.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "lru-cache": "^4.0.1",
- "which": "^1.2.9"
- }
- },
- "debug": {
- "version": "4.1.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "decamelize": {
- "version": "1.2.0",
- "bundled": true,
- "dev": true
- },
- "default-require-extensions": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "strip-bom": "^3.0.0"
- }
- },
- "end-of-stream": {
- "version": "1.4.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "once": "^1.4.0"
- }
- },
- "error-ex": {
- "version": "1.3.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "is-arrayish": "^0.2.1"
- }
- },
- "es6-error": {
- "version": "4.1.1",
- "bundled": true,
- "dev": true
- },
- "execa": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "6.0.5",
- "bundled": true,
- "dev": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- }
- }
- },
- "find-cache-dir": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "commondir": "^1.0.1",
- "make-dir": "^1.0.0",
- "pkg-dir": "^3.0.0"
- }
- },
- "find-up": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "foreground-child": {
- "version": "1.5.6",
- "bundled": true,
- "dev": true,
- "requires": {
- "cross-spawn": "^4",
- "signal-exit": "^3.0.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "get-caller-file": {
- "version": "1.0.3",
- "bundled": true,
- "dev": true
- },
- "get-stream": {
- "version": "4.1.0",
- "bundled": true,
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "fsevents": "~2.3.1",
+ "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"
+ },
+ "dependencies": {
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dev": true,
"requires": {
- "pump": "^3.0.0"
+ "fill-range": "^7.0.1"
}
},
- "glob": {
- "version": "7.1.3",
- "bundled": true,
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true,
"requires": {
- "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"
+ "to-regex-range": "^5.0.1"
}
},
- "graceful-fs": {
- "version": "4.1.15",
- "bundled": true,
- "dev": true
- },
- "handlebars": {
- "version": "4.1.0",
- "bundled": true,
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true,
"requires": {
- "async": "^2.5.0",
- "optimist": "^0.6.1",
- "source-map": "^0.6.1",
- "uglify-js": "^3.1.4"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "bundled": true,
- "dev": true
- }
+ "is-glob": "^4.0.1"
}
},
- "has-flag": {
- "version": "3.0.0",
- "bundled": true,
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
- "hasha": {
- "version": "3.0.0",
- "bundled": true,
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"requires": {
- "is-stream": "^1.0.1"
+ "is-number": "^7.0.0"
}
- },
- "hosted-git-info": {
- "version": "2.7.1",
- "bundled": true,
- "dev": true
- },
- "imurmurhash": {
- "version": "0.1.4",
- "bundled": true,
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "bundled": true,
+ }
+ }
+ },
+ "class-utils": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "dev": true,
+ "requires": {
+ "arr-union": "^3.1.0",
+ "define-property": "^0.2.5",
+ "isobject": "^3.0.0",
+ "static-extend": "^0.1.1"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
- "once": "^1.3.0",
- "wrappy": "1"
+ "is-descriptor": "^0.1.0"
}
- },
- "inherits": {
- "version": "2.0.3",
- "bundled": true,
- "dev": true
- },
- "invert-kv": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "is-arrayish": {
- "version": "0.2.1",
- "bundled": true,
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "is-stream": {
- "version": "1.1.0",
- "bundled": true,
- "dev": true
- },
- "isexe": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "istanbul-lib-coverage": {
- "version": "2.0.3",
- "bundled": true,
+ }
+ }
+ },
+ "clean-css": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
+ "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==",
+ "dev": true,
+ "requires": {
+ "source-map": "~0.6.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
- },
- "istanbul-lib-hook": {
- "version": "2.0.3",
- "bundled": true,
+ }
+ }
+ },
+ "cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
+ "dev": true
+ },
+ "co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "dev": true
+ },
+ "collection-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "dev": true,
+ "requires": {
+ "map-visit": "^1.0.0",
+ "object-visit": "^1.0.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "colorette": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz",
+ "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==",
+ "dev": true
+ },
+ "colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+ "dev": true
+ },
+ "combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dev": true,
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "command-line-args": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.1.1.tgz",
+ "integrity": "sha512-hL/eG8lrll1Qy1ezvkant+trihbGnaKaeEjj6Scyr3DN+RC7iQ5Rz84IeLERfAWDGo0HBSNAakczwgCilDXnWg==",
+ "dev": true,
+ "requires": {
+ "array-back": "^3.0.1",
+ "find-replace": "^3.0.0",
+ "lodash.camelcase": "^4.3.0",
+ "typical": "^4.0.0"
+ }
+ },
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
+ },
+ "common-tags": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz",
+ "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==",
+ "dev": true
+ },
+ "component-emitter": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "concurrently": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.0.1.tgz",
+ "integrity": "sha512-YCF/Wf31a910hXu7eGN9/SyHKD/usw3Shw4IPYuqIsxxC39v92engYlIlOs/zXnBJtX/6aVuhgzfhZeGJkhU4w==",
+ "dev": true,
+ "requires": {
+ "chalk": "^4.1.0",
+ "date-fns": "^2.16.1",
+ "lodash": "^4.17.20",
+ "read-pkg": "^5.2.0",
+ "rxjs": "^6.6.3",
+ "spawn-command": "^0.0.2-1",
+ "supports-color": "^8.1.0",
+ "tree-kill": "^1.2.2",
+ "yargs": "^16.2.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "append-transform": "^1.0.0"
+ "color-convert": "^2.0.1"
}
},
- "istanbul-lib-report": {
- "version": "2.0.4",
- "bundled": true,
+ "chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"dev": true,
"requires": {
- "istanbul-lib-coverage": "^2.0.3",
- "make-dir": "^1.3.0",
- "supports-color": "^6.0.0"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
},
"dependencies": {
"supports-color": {
- "version": "6.1.0",
- "bundled": true,
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "has-flag": "^4.0.0"
}
}
}
},
- "istanbul-lib-source-maps": {
- "version": "3.0.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "debug": "^4.1.1",
- "istanbul-lib-coverage": "^2.0.3",
- "make-dir": "^1.3.0",
- "rimraf": "^2.6.2",
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "bundled": true,
- "dev": true
- }
- }
- },
- "istanbul-reports": {
- "version": "2.1.1",
- "bundled": true,
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
- "handlebars": "^4.1.0"
+ "color-name": "~1.1.4"
}
},
- "json-parse-better-errors": {
- "version": "1.0.2",
- "bundled": true,
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "lcid": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "invert-kv": "^2.0.0"
- }
- },
- "load-json-file": {
+ "has-flag": {
"version": "4.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^4.0.0",
- "pify": "^3.0.0",
- "strip-bom": "^3.0.0"
- }
- },
- "locate-path": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "lodash.flattendeep": {
- "version": "4.4.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
- "lru-cache": {
- "version": "4.1.5",
- "bundled": true,
- "dev": true,
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "make-dir": {
- "version": "1.3.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "pify": "^3.0.0"
- }
- },
- "map-age-cleaner": {
- "version": "0.1.3",
- "bundled": true,
- "dev": true,
- "requires": {
- "p-defer": "^1.0.0"
- }
- },
- "mem": {
- "version": "4.1.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "map-age-cleaner": "^0.1.1",
- "mimic-fn": "^1.0.0",
- "p-is-promise": "^2.0.0"
- }
- },
- "merge-source-map": {
- "version": "1.1.0",
- "bundled": true,
+ "supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"dev": true,
"requires": {
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "bundled": true,
- "dev": true
- }
+ "has-flag": "^4.0.0"
}
- },
- "mimic-fn": {
- "version": "1.2.0",
- "bundled": true,
+ }
+ }
+ },
+ "contains-path": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
+ "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
+ "dev": true
+ },
+ "content-disposition": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
+ "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ },
+ "content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
+ },
+ "convert-source-map": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
+ "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "cookie": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
+ "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
+ },
+ "cookie-signature": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
+ },
+ "cookies": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz",
+ "integrity": "sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==",
+ "dev": true,
+ "requires": {
+ "depd": "~2.0.0",
+ "keygrip": "~1.1.0"
+ },
+ "dependencies": {
+ "depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"dev": true
- },
- "minimatch": {
- "version": "3.0.4",
- "bundled": true,
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "0.0.10",
- "bundled": true,
+ }
+ }
+ },
+ "copy-descriptor": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "dev": true
+ },
+ "core-js": {
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
+ "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==",
+ "dev": true
+ },
+ "core-js-bundle": {
+ "version": "3.10.0",
+ "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.10.0.tgz",
+ "integrity": "sha512-Rh+60FxNOd23Fm35vK/P3U1usjte2VNKBBW9bGZym5cV2Cc9pgviMQjSEOe8llIZAZjbr5NuL4GoeBK8DM3ewg==",
+ "dev": true
+ },
+ "core-js-compat": {
+ "version": "3.6.4",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.4.tgz",
+ "integrity": "sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA==",
+ "dev": true,
+ "requires": {
+ "browserslist": "^4.8.3",
+ "semver": "7.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+ "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
"dev": true
- },
- "mkdirp": {
- "version": "0.5.1",
- "bundled": true,
+ }
+ }
+ },
+ "cors": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+ "requires": {
+ "object-assign": "^4",
+ "vary": "^1"
+ }
+ },
+ "crelt": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz",
+ "integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA=="
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "crypto-random-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
+ "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
+ "dev": true
+ },
+ "danger": {
+ "version": "10.6.0",
+ "resolved": "https://registry.npmjs.org/danger/-/danger-10.6.0.tgz",
+ "integrity": "sha512-cN9skuxtkgfnV4CQpF20L3Yt3VhMlBvvWAoh2QashDepI420gwcxoCRpxdCF7GP3aVJuh5LuI9ObrDvAxpnCFA==",
+ "dev": true,
+ "requires": {
+ "@babel/polyfill": "^7.2.5",
+ "@octokit/rest": "^16.43.1",
+ "async-retry": "1.2.3",
+ "chalk": "^2.3.0",
+ "commander": "^2.18.0",
+ "debug": "^4.1.1",
+ "fast-json-patch": "^3.0.0-1",
+ "get-stdin": "^6.0.0",
+ "gitlab": "^10.0.1",
+ "http-proxy-agent": "^2.1.0",
+ "https-proxy-agent": "^2.2.1",
+ "hyperlinker": "^1.0.0",
+ "json5": "^2.1.0",
+ "jsonpointer": "^4.0.1",
+ "jsonwebtoken": "^8.4.0",
+ "lodash.find": "^4.6.0",
+ "lodash.includes": "^4.3.0",
+ "lodash.isobject": "^3.0.2",
+ "lodash.keys": "^4.0.8",
+ "lodash.mapvalues": "^4.6.0",
+ "lodash.memoize": "^4.1.2",
+ "memfs-or-file-map-to-github-branch": "^1.1.0",
+ "micromatch": "^3.1.10",
+ "node-cleanup": "^2.1.2",
+ "node-fetch": "2.6.1",
+ "override-require": "^1.1.1",
+ "p-limit": "^2.1.0",
+ "parse-diff": "^0.7.0",
+ "parse-git-config": "^2.0.3",
+ "parse-github-url": "^1.0.2",
+ "parse-link-header": "^1.0.1",
+ "pinpoint": "^1.1.0",
+ "prettyjson": "^1.2.1",
+ "readline-sync": "^1.4.9",
+ "require-from-string": "^2.0.2",
+ "supports-hyperlinks": "^1.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"dev": true,
"requires": {
- "minimist": "0.0.8"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.8",
- "bundled": true,
- "dev": true
- }
+ "ms": "2.1.2"
}
},
"ms": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true
- },
- "nice-try": {
- "version": "1.0.5",
- "bundled": true,
- "dev": true
- },
- "normalize-package-data": {
- "version": "2.5.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
- }
- },
- "npm-run-path": {
- "version": "2.0.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "path-key": "^2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "bundled": true,
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
- },
- "once": {
- "version": "1.4.0",
- "bundled": true,
+ }
+ }
+ },
+ "date-fns": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.19.0.tgz",
+ "integrity": "sha512-X3bf2iTPgCAQp9wvjOQytnf5vO5rESYRXlPIVcgSbtT5OTScPcsf9eZU+B/YIkKAtYr5WeCii58BgATrNitlWg==",
+ "dev": true
+ },
+ "debounce": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.0.tgz",
+ "integrity": "sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg==",
+ "dev": true
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true
+ },
+ "deep-equal": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
+ "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
+ "dev": true
+ },
+ "deep-extend": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+ "dev": true
+ },
+ "deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+ "dev": true
+ },
+ "deepmerge": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
+ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg=="
+ },
+ "define-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+ "dev": true
+ },
+ "define-properties": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "dev": true,
+ "requires": {
+ "object-keys": "^1.0.12"
+ }
+ },
+ "define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.2",
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
"requires": {
- "wrappy": "1"
+ "kind-of": "^6.0.0"
}
},
- "optimist": {
- "version": "0.6.1",
- "bundled": true,
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
"requires": {
- "minimist": "~0.0.1",
- "wordwrap": "~0.0.2"
+ "kind-of": "^6.0.0"
}
},
- "os-homedir": {
+ "is-descriptor": {
"version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "os-locale": {
- "version": "3.1.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
"requires": {
- "execa": "^1.0.0",
- "lcid": "^2.0.0",
- "mem": "^4.0.0"
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
}
- },
- "p-defer": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "p-finally": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true
- },
- "p-is-promise": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "p-limit": {
+ }
+ }
+ },
+ "defined": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz",
+ "integrity": "sha1-817qfXBekzuvE7LwOz+D2SFAOz4=",
+ "dev": true
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "dev": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "dev": true
+ },
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+ },
+ "deprecation": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
+ "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==",
+ "dev": true
+ },
+ "destroy": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
+ },
+ "didyoumean2": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/didyoumean2/-/didyoumean2-4.1.0.tgz",
+ "integrity": "sha512-qTBmfQoXvhKO75D/05C8m+fteQmn4U46FWYiLhXtZQInzitXLWY0EQ/2oKnpAz9g2lQWW8jYcLcT+hPJGT+kig==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.10.2",
+ "leven": "^3.1.0",
+ "lodash.deburr": "^4.1.0"
+ }
+ },
+ "dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "requires": {
+ "path-type": "^4.0.0"
+ }
+ },
+ "doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "dot-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
+ "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
+ "dev": true,
+ "requires": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ },
+ "dependencies": {
+ "tslib": {
"version": "2.1.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "p-limit": "^2.0.0"
- }
- },
- "p-try": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "package-hash": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.15",
- "hasha": "^3.0.0",
- "lodash.flattendeep": "^4.4.0",
- "release-zalgo": "^1.0.0"
- }
- },
- "parse-json": {
- "version": "4.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
- }
- },
- "path-exists": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "path-key": {
- "version": "2.0.1",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
+ "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
"dev": true
- },
- "path-parse": {
- "version": "1.0.6",
- "bundled": true,
- "dev": true
- },
- "path-type": {
- "version": "3.0.0",
- "bundled": true,
+ }
+ }
+ },
+ "downloadjs": {
+ "version": "1.4.7",
+ "resolved": "https://registry.npmjs.org/downloadjs/-/downloadjs-1.4.7.tgz",
+ "integrity": "sha1-9p+W+UDg0FU9rCkROYZaPNAQHjw="
+ },
+ "ecdsa-sig-formatter": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
+ "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
+ },
+ "ejs": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz",
+ "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==",
+ "dev": true
+ },
+ "electron-to-chromium": {
+ "version": "1.3.707",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.707.tgz",
+ "integrity": "sha512-BqddgxNPrcWnbDdJw7SzXVzPmp+oiyjVrc7tkQVaznPGSS9SKZatw6qxoP857M+HbOyyqJQwYQtsuFIMSTNSZA==",
+ "dev": true
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
+ },
+ "end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
+ "enquirer": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "^4.1.1"
+ }
+ },
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "es-abstract": {
+ "version": "1.18.0-next.1",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz",
+ "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==",
+ "dev": true,
+ "requires": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.2.2",
+ "is-negative-zero": "^2.0.0",
+ "is-regex": "^1.1.1",
+ "object-inspect": "^1.8.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.1",
+ "string.prototype.trimend": "^1.0.1",
+ "string.prototype.trimstart": "^1.0.1"
+ },
+ "dependencies": {
+ "object.assign": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
+ "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
"dev": true,
"requires": {
- "pify": "^3.0.0"
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "has-symbols": "^1.0.1",
+ "object-keys": "^1.1.1"
}
- },
- "pify": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true
- },
- "pkg-dir": {
- "version": "3.0.0",
- "bundled": true,
+ }
+ }
+ },
+ "es-module-lexer": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz",
+ "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==",
+ "dev": true
+ },
+ "es-module-shims": {
+ "version": "0.4.7",
+ "resolved": "https://registry.npmjs.org/es-module-shims/-/es-module-shims-0.4.7.tgz",
+ "integrity": "sha512-0LTiSQoPWwdcaTVIQXhGlaDwTneD0g9/tnH1PNs3zHFFH+xoCeJclDM3rQeqF9nurXPfMKm3l9+kfPRa5VpbKg==",
+ "dev": true
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "es6-promise": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
+ "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
+ "dev": true
+ },
+ "es6-promisify": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
+ "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
+ "dev": true,
+ "requires": {
+ "es6-promise": "^4.0.3"
+ }
+ },
+ "escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "dev": true
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
+ "eslint": {
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.17.0.tgz",
+ "integrity": "sha512-zJk08MiBgwuGoxes5sSQhOtibZ75pz0J35XTRlZOk9xMffhpA9BTbQZxoXZzOl5zMbleShbGwtw+1kGferfFwQ==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@eslint/eslintrc": "^0.2.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",
+ "eslint-scope": "^5.1.1",
+ "eslint-utils": "^2.1.0",
+ "eslint-visitor-keys": "^2.0.0",
+ "espree": "^7.3.1",
+ "esquery": "^1.2.0",
+ "esutils": "^2.0.2",
+ "file-entry-cache": "^6.0.0",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^5.0.0",
+ "globals": "^12.1.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^3.13.1",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash": "^4.17.19",
+ "minimatch": "^3.0.4",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "progress": "^2.0.0",
+ "regexpp": "^3.1.0",
+ "semver": "^7.2.1",
+ "strip-ansi": "^6.0.0",
+ "strip-json-comments": "^3.1.0",
+ "table": "^6.0.4",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"requires": {
- "find-up": "^3.0.0"
+ "color-convert": "^2.0.1"
}
},
- "pseudomap": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "pump": {
- "version": "3.0.0",
- "bundled": true,
+ "chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
"dev": true,
"requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
}
},
- "read-pkg": {
- "version": "3.0.0",
- "bundled": true,
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
- "load-json-file": "^4.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^3.0.0"
+ "color-name": "~1.1.4"
}
},
- "read-pkg-up": {
- "version": "4.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "find-up": "^3.0.0",
- "read-pkg": "^3.0.0"
- }
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
},
- "release-zalgo": {
- "version": "1.0.0",
- "bundled": true,
+ "cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"dev": true,
"requires": {
- "es6-error": "^4.0.1"
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
}
},
- "require-directory": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true
- },
- "require-main-filename": {
- "version": "1.0.1",
- "bundled": true,
- "dev": true
- },
- "resolve": {
- "version": "1.10.0",
- "bundled": true,
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"dev": true,
"requires": {
- "path-parse": "^1.0.6"
+ "ms": "2.1.2"
}
},
- "resolve-from": {
- "version": "4.0.0",
- "bundled": true,
- "dev": true
- },
- "rimraf": {
- "version": "2.6.3",
- "bundled": true,
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
"dev": true,
"requires": {
- "glob": "^7.1.3"
+ "is-glob": "^4.0.1"
}
},
- "safe-buffer": {
- "version": "5.1.2",
- "bundled": true,
- "dev": true
- },
- "semver": {
- "version": "5.6.0",
- "bundled": true,
- "dev": true
- },
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "shebang-command": {
- "version": "1.2.0",
- "bundled": true,
+ "globals": {
+ "version": "12.4.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
+ "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
"dev": true,
"requires": {
- "shebang-regex": "^1.0.0"
+ "type-fest": "^0.8.1"
}
},
- "shebang-regex": {
- "version": "1.0.0",
- "bundled": true,
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
- "signal-exit": {
- "version": "3.0.2",
- "bundled": true,
+ "ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
"dev": true
},
- "spawn-wrap": {
- "version": "1.4.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "foreground-child": "^1.5.6",
- "mkdirp": "^0.5.0",
- "os-homedir": "^1.0.1",
- "rimraf": "^2.6.2",
- "signal-exit": "^3.0.2",
- "which": "^1.3.0"
- }
- },
- "spdx-correct": {
- "version": "3.1.0",
- "bundled": true,
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"requires": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
+ "yallist": "^4.0.0"
}
},
- "spdx-exceptions": {
- "version": "2.2.0",
- "bundled": true,
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "spdx-expression-parse": {
- "version": "3.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-license-ids": {
- "version": "3.0.3",
- "bundled": true,
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
"dev": true
},
- "string-width": {
- "version": "2.1.1",
- "bundled": true,
+ "semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
"dev": true,
"requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
+ "lru-cache": "^6.0.0"
}
},
- "strip-ansi": {
- "version": "4.0.0",
- "bundled": true,
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
"dev": true,
"requires": {
- "ansi-regex": "^3.0.0"
+ "shebang-regex": "^3.0.0"
}
},
- "strip-bom": {
+ "shebang-regex": {
"version": "3.0.0",
- "bundled": true,
- "dev": true
- },
- "strip-eof": {
- "version": "1.0.0",
- "bundled": true,
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true
},
- "test-exclude": {
- "version": "5.1.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "arrify": "^1.0.1",
- "minimatch": "^3.0.4",
- "read-pkg-up": "^4.0.0",
- "require-main-filename": "^1.0.1"
- }
- },
- "uglify-js": {
- "version": "3.4.9",
- "bundled": true,
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
- "optional": true,
"requires": {
- "commander": "~2.17.1",
- "source-map": "~0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "bundled": true,
- "dev": true,
- "optional": true
- }
+ "has-flag": "^4.0.0"
}
},
- "uuid": {
- "version": "3.3.2",
- "bundled": true,
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
"dev": true
},
- "validate-npm-package-license": {
- "version": "3.0.4",
- "bundled": true,
- "dev": true,
- "requires": {
- "spdx-correct": "^3.0.0",
- "spdx-expression-parse": "^3.0.0"
- }
- },
"which": {
- "version": "1.3.1",
- "bundled": true,
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
"dev": true,
"requires": {
"isexe": "^2.0.0"
}
},
- "which-module": {
- "version": "2.0.0",
- "bundled": true,
- "dev": true
- },
- "wordwrap": {
- "version": "0.0.3",
- "bundled": true,
- "dev": true
- },
- "wrap-ansi": {
- "version": "2.1.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "bundled": true,
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "bundled": true,
- "dev": true,
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
- "string-width": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- }
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "bundled": true,
- "dev": true
- },
- "write-file-atomic": {
- "version": "2.4.2",
- "bundled": true,
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.11",
- "imurmurhash": "^0.1.4",
- "signal-exit": "^3.0.2"
- }
- },
- "y18n": {
- "version": "4.0.0",
- "bundled": true,
- "dev": true
- },
- "yallist": {
- "version": "2.1.2",
- "bundled": true,
- "dev": true
- },
- "yargs": {
- "version": "12.0.5",
- "bundled": true,
- "dev": true,
- "requires": {
- "cliui": "^4.0.0",
- "decamelize": "^1.2.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^1.0.1",
- "os-locale": "^3.0.0",
- "require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
- "which-module": "^2.0.0",
- "y18n": "^3.2.1 || ^4.0.0",
- "yargs-parser": "^11.1.1"
- }
- },
- "yargs-parser": {
- "version": "11.1.1",
- "bundled": true,
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- }
- }
- },
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
- },
- "object-copy": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
- "requires": {
- "copy-descriptor": "^0.1.0",
- "define-property": "^0.2.5",
- "kind-of": "^3.0.3"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "object-keys": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz",
- "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg=="
- },
- "object-visit": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
- "requires": {
- "isobject": "^3.0.0"
- }
- },
- "object.assign": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
- "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
- "requires": {
- "define-properties": "^1.1.2",
- "function-bind": "^1.1.1",
- "has-symbols": "^1.0.0",
- "object-keys": "^1.0.11"
- }
- },
- "object.pick": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
- "requires": {
- "isobject": "^3.0.1"
- }
- },
- "on-finished": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
- "requires": {
- "ee-first": "1.1.1"
- }
- },
- "on-headers": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
- "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "requires": {
- "wrappy": "1"
- }
- },
- "onecolor": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/onecolor/-/onecolor-3.1.0.tgz",
- "integrity": "sha512-YZSypViXzu3ul5LMu/m6XjJ9ol8qAy9S2VjHl5E6UlhUH1KGKWabyEJifn0Jjpw23bYDzC2ucKMPGiH5kfwSGQ=="
- },
- "onetime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
- "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
- "requires": {
- "mimic-fn": "^1.0.0"
- }
- },
- "opencollective": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/opencollective/-/opencollective-1.0.3.tgz",
- "integrity": "sha1-ruY3K8KBRFg2kMPKja7PwSDdDvE=",
- "requires": {
- "babel-polyfill": "6.23.0",
- "chalk": "1.1.3",
- "inquirer": "3.0.6",
- "minimist": "1.2.0",
- "node-fetch": "1.6.3",
- "opn": "4.0.2"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "babel-polyfill": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.23.0.tgz",
- "integrity": "sha1-g2TKYt+Or7gwSZ9pkXdGbDsDSZ0=",
- "requires": {
- "babel-runtime": "^6.22.0",
- "core-js": "^2.4.0",
- "regenerator-runtime": "^0.10.0"
- }
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
}
}
},
- "opener": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz",
- "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA=="
- },
- "opn": {
- "version": "4.0.2",
- "resolved": "http://registry.npmjs.org/opn/-/opn-4.0.2.tgz",
- "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=",
- "requires": {
- "object-assign": "^4.0.1",
- "pinkie-promise": "^2.0.0"
- }
+ "eslint-config-prettier": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-7.1.0.tgz",
+ "integrity": "sha512-9sm5/PxaFG7qNJvJzTROMM1Bk1ozXVTKI0buKOyb0Bsr1hrwi0H/TzxF/COtf1uxikIK8SwhX7K6zg78jAzbeA==",
+ "dev": true
},
- "optimist": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "eslint-import-resolver-node": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz",
+ "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==",
"dev": true,
"requires": {
- "minimist": "~0.0.1",
- "wordwrap": "~0.0.2"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.10",
- "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
- "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
- "dev": true
- }
+ "debug": "^2.6.9",
+ "resolve": "^1.13.1"
}
},
- "optionator": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
- "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+ "eslint-module-utils": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz",
+ "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==",
"dev": true,
"requires": {
- "deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.4",
- "levn": "~0.3.0",
- "prelude-ls": "~1.1.2",
- "type-check": "~0.3.2",
- "wordwrap": "~1.0.0"
- },
- "dependencies": {
- "wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
- "dev": true
- }
- }
- },
- "os-browserify": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
- "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc="
- },
- "os-homedir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
- "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
- },
- "os-locale": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
- "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==",
- "requires": {
- "execa": "^0.7.0",
- "lcid": "^1.0.0",
- "mem": "^1.1.0"
+ "debug": "^2.6.9",
+ "pkg-dir": "^2.0.0"
}
},
- "os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
- },
- "osenv": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
- "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "eslint-plugin-es": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz",
+ "integrity": "sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==",
"dev": true,
"requires": {
- "os-homedir": "^1.0.0",
- "os-tmpdir": "^1.0.0"
- }
- },
- "p-defer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
- "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
- "dev": true
- },
- "p-finally": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
- },
- "p-is-promise": {
- "version": "1.1.0",
- "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz",
- "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=",
- "dev": true
- },
- "p-limit": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
- "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
- "requires": {
- "p-try": "^1.0.0"
- }
- },
- "p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "requires": {
- "p-limit": "^1.1.0"
+ "eslint-utils": "^2.0.0",
+ "regexpp": "^3.0.0"
}
},
- "p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
- },
- "pac-proxy-agent": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-1.1.0.tgz",
- "integrity": "sha512-QBELCWyLYPgE2Gj+4wUEiMscHrQ8nRPBzYItQNOHWavwBt25ohZHQC4qnd5IszdVVrFbLsQ+dPkm6eqdjJAmwQ==",
+ "eslint-plugin-import": {
+ "version": "2.22.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz",
+ "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==",
"dev": true,
"requires": {
- "agent-base": "2",
- "debug": "2",
- "extend": "3",
- "get-uri": "2",
- "http-proxy-agent": "1",
- "https-proxy-agent": "1",
- "pac-resolver": "~2.0.0",
- "raw-body": "2",
- "socks-proxy-agent": "2"
+ "array-includes": "^3.1.1",
+ "array.prototype.flat": "^1.2.3",
+ "contains-path": "^0.1.0",
+ "debug": "^2.6.9",
+ "doctrine": "1.5.0",
+ "eslint-import-resolver-node": "^0.3.4",
+ "eslint-module-utils": "^2.6.0",
+ "has": "^1.0.3",
+ "minimatch": "^3.0.4",
+ "object.values": "^1.1.1",
+ "read-pkg-up": "^2.0.0",
+ "resolve": "^1.17.0",
+ "tsconfig-paths": "^3.9.0"
},
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "doctrine": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
+ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
"dev": true,
"requires": {
- "ms": "2.0.0"
+ "esutils": "^2.0.2",
+ "isarray": "^1.0.0"
}
}
}
},
- "pac-resolver": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-2.0.0.tgz",
- "integrity": "sha1-mbiNLxk/ve78HJpSnB8yYKtSd80=",
+ "eslint-plugin-node": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz",
+ "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==",
"dev": true,
"requires": {
- "co": "~3.0.6",
- "degenerator": "~1.0.2",
- "ip": "1.0.1",
- "netmask": "~1.0.4",
- "thunkify": "~2.1.1"
+ "eslint-plugin-es": "^3.0.0",
+ "eslint-utils": "^2.0.0",
+ "ignore": "^5.1.1",
+ "minimatch": "^3.0.4",
+ "resolve": "^1.10.1",
+ "semver": "^6.1.0"
},
"dependencies": {
- "co": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/co/-/co-3.0.6.tgz",
- "integrity": "sha1-FEXyJsXrlWE45oyawwFn6n0ua9o=",
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
}
}
},
- "pako": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
- "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg=="
- },
- "parallel-transform": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz",
- "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=",
- "requires": {
- "cyclist": "~0.2.2",
- "inherits": "^2.0.3",
- "readable-stream": "^2.1.5"
- }
- },
- "param-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
- "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
- "requires": {
- "no-case": "^2.2.0"
- }
- },
- "parse-asn1": {
- "version": "5.1.4",
- "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz",
- "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==",
- "requires": {
- "asn1.js": "^4.0.0",
- "browserify-aes": "^1.0.0",
- "create-hash": "^1.1.0",
- "evp_bytestokey": "^1.0.0",
- "pbkdf2": "^3.0.3",
- "safe-buffer": "^5.1.1"
- }
- },
- "parse-entities": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.1.tgz",
- "integrity": "sha512-NBWYLQm1KSoDKk7GAHyioLTvCZ5QjdH/ASBBQTD3iLiAWJXS5bg1jEWI8nIJ+vgVvsceBVBcDGRWSo0KVQBvvg==",
+ "eslint-plugin-prettier": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz",
+ "integrity": "sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ==",
"dev": true,
"requires": {
- "character-entities": "^1.0.0",
- "character-entities-legacy": "^1.0.0",
- "character-reference-invalid": "^1.0.0",
- "is-alphanumerical": "^1.0.0",
- "is-decimal": "^1.0.0",
- "is-hexadecimal": "^1.0.0"
+ "prettier-linter-helpers": "^1.0.0"
}
},
- "parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dev": true,
"requires": {
- "error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
}
},
- "parseurl": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
- "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
- },
- "pascalcase": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
- },
- "path-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
- "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo="
- },
- "path-dirname": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
- "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
- },
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
- },
- "path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
- },
- "path-parse": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
- "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
- },
- "path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
- },
- "path-type": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
- "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "eslint-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
+ "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "dev": true,
"requires": {
- "pify": "^2.0.0"
+ "eslint-visitor-keys": "^1.1.0"
},
"dependencies": {
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+ "eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true
}
}
},
- "pathval": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
- "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
- "dev": true
- },
- "pbkdf2": {
- "version": "3.0.17",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
- "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
- "requires": {
- "create-hash": "^1.1.2",
- "create-hmac": "^1.1.4",
- "ripemd160": "^2.0.1",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
- }
- },
- "pend": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
- "dev": true
- },
- "performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "eslint-visitor-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz",
+ "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==",
"dev": true
},
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
- },
- "pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
- },
- "pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "espree": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
+ "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
+ "dev": true,
"requires": {
- "pinkie": "^2.0.0"
+ "acorn": "^7.4.0",
+ "acorn-jsx": "^5.3.1",
+ "eslint-visitor-keys": "^1.3.0"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true
+ }
}
},
- "pixrem": {
+ "esprima": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pixrem/-/pixrem-4.0.1.tgz",
- "integrity": "sha1-LaSh3m7EQjxfw3lOkwuB1EkOxoY=",
- "requires": {
- "browserslist": "^2.0.0",
- "postcss": "^6.0.0",
- "reduce-css-calc": "^1.2.7"
- }
- },
- "pkg-dir": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
- "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
- "requires": {
- "find-up": "^2.1.0"
- }
- },
- "pleeease-filters": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/pleeease-filters/-/pleeease-filters-4.0.0.tgz",
- "integrity": "sha1-ZjKy+wVkjSdY2GU4T7zteeHMrsc=",
- "requires": {
- "onecolor": "^3.0.4",
- "postcss": "^6.0.1"
- }
- },
- "posix-character-classes": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
- },
- "postcss": {
- "version": "6.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.4.0"
- }
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true
},
- "postcss-apply": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/postcss-apply/-/postcss-apply-0.8.0.tgz",
- "integrity": "sha1-FOVEu7XLbxweBIhXll15rgZrE0M=",
+ "esquery": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
+ "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
+ "dev": true,
"requires": {
- "babel-runtime": "^6.23.0",
- "balanced-match": "^0.4.2",
- "postcss": "^6.0.0"
+ "estraverse": "^5.1.0"
},
"dependencies": {
- "balanced-match": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
- "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg="
+ "estraverse": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
+ "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
+ "dev": true
}
}
},
- "postcss-attribute-case-insensitive": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-2.0.0.tgz",
- "integrity": "sha1-lNxCLI+QmX8WvTOjZUu77AhJY7Q=",
- "requires": {
- "postcss": "^6.0.0",
- "postcss-selector-parser": "^2.2.3"
- }
- },
- "postcss-calc": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz",
- "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=",
+ "esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
"requires": {
- "postcss": "^5.0.2",
- "postcss-message-helpers": "^2.0.0",
- "reduce-css-calc": "^1.2.6"
+ "estraverse": "^5.2.0"
},
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
+ "estraverse": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
+ "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
+ "dev": true
}
}
},
- "postcss-color-function": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-color-function/-/postcss-color-function-4.0.1.tgz",
- "integrity": "sha1-QCs/LOvD9pR+YY+2vjZU++zvZEQ=",
- "requires": {
- "css-color-function": "~1.3.3",
- "postcss": "^6.0.1",
- "postcss-message-helpers": "^2.0.0",
- "postcss-value-parser": "^3.3.0"
- }
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true
},
- "postcss-color-gray": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-4.1.0.tgz",
- "integrity": "sha512-L4iLKQLdqChz6ZOgGb6dRxkBNw78JFYcJmBz1orHpZoeLtuhDDGegRtX9gSyfoCIM7rWZ3VNOyiqqvk83BEN+w==",
+ "estree-walker": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
+ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true
+ },
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
+ },
+ "event-target-shim": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
+ "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
+ "dev": true
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "dev": true,
"requires": {
- "color": "^2.0.1",
- "postcss": "^6.0.14",
- "postcss-message-helpers": "^2.0.0",
- "reduce-function-call": "^1.0.2"
+ "cross-spawn": "^6.0.0",
+ "get-stream": "^4.0.0",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^2.0.0",
+ "p-finally": "^1.0.0",
+ "signal-exit": "^3.0.0",
+ "strip-eof": "^1.0.0"
},
"dependencies": {
- "color": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color/-/color-2.0.1.tgz",
- "integrity": "sha512-ubUCVVKfT7r2w2D3qtHakj8mbmKms+tThR8gI8zEYCbUBl8/voqFGt3kgBqGwXAopgXybnkuOq+qMYCRrp4cXw==",
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
"requires": {
- "color-convert": "^1.9.1",
- "color-string": "^1.5.2"
+ "pump": "^3.0.0"
}
},
- "color-string": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
- "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
- "requires": {
- "color-name": "^1.0.0",
- "simple-swizzle": "^0.2.2"
- }
+ "is-stream": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
}
}
},
- "postcss-color-hex-alpha": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-3.0.0.tgz",
- "integrity": "sha1-HlPmyKyyN5Vej9CLfs2xuLgwn5U=",
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
"requires": {
- "color": "^1.0.3",
- "postcss": "^6.0.1",
- "postcss-message-helpers": "^2.0.0"
+ "debug": "^2.3.3",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "posix-character-classes": "^0.1.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
},
"dependencies": {
- "color": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/color/-/color-1.0.3.tgz",
- "integrity": "sha1-5I6DLYXxTvaU+0aIEcLVz+cptV0=",
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
"requires": {
- "color-convert": "^1.8.2",
- "color-string": "^1.4.0"
+ "is-descriptor": "^0.1.0"
}
},
- "color-string": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
- "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
"requires": {
- "color-name": "^1.0.0",
- "simple-swizzle": "^0.2.2"
+ "is-extendable": "^0.1.0"
}
}
}
},
- "postcss-color-hsl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/postcss-color-hsl/-/postcss-color-hsl-2.0.0.tgz",
- "integrity": "sha1-EnA2ZvoxBDDj8wpFTawThjF9WEQ=",
+ "expand-tilde": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+ "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
+ "dev": true,
"requires": {
- "postcss": "^6.0.1",
- "postcss-value-parser": "^3.3.0",
- "units-css": "^0.4.0"
+ "homedir-polyfill": "^1.0.1"
}
},
- "postcss-color-hwb": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-color-hwb/-/postcss-color-hwb-3.0.0.tgz",
- "integrity": "sha1-NAKxnvTYSXVAwftQcr6YY8qVVx4=",
+ "express": {
+ "version": "4.17.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
+ "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
"requires": {
- "color": "^1.0.3",
- "postcss": "^6.0.1",
- "postcss-message-helpers": "^2.0.0",
- "reduce-function-call": "^1.0.2"
+ "accepts": "~1.3.7",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.19.0",
+ "content-disposition": "0.5.3",
+ "content-type": "~1.0.4",
+ "cookie": "0.4.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "finalhandler": "~1.1.2",
+ "fresh": "0.5.2",
+ "merge-descriptors": "1.0.1",
+ "methods": "~1.1.2",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "~2.0.5",
+ "qs": "6.7.0",
+ "range-parser": "~1.2.1",
+ "safe-buffer": "5.1.2",
+ "send": "0.17.1",
+ "serve-static": "1.14.1",
+ "setprototypeof": "1.1.1",
+ "statuses": "~1.5.0",
+ "type-is": "~1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "~1.1.2"
},
"dependencies": {
- "color": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/color/-/color-1.0.3.tgz",
- "integrity": "sha1-5I6DLYXxTvaU+0aIEcLVz+cptV0=",
- "requires": {
- "color-convert": "^1.8.2",
- "color-string": "^1.4.0"
- }
- },
- "color-string": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
- "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
- "requires": {
- "color-name": "^1.0.0",
- "simple-swizzle": "^0.2.2"
- }
+ "path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
}
}
},
- "postcss-color-rebeccapurple": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-3.1.0.tgz",
- "integrity": "sha512-212hJUk9uSsbwO5ECqVjmh/iLsmiVL1xy9ce9TVf+X3cK/ZlUIlaMdoxje/YpsL9cmUH3I7io+/G2LyWx5rg1g==",
- "requires": {
- "postcss": "^6.0.22",
- "postcss-values-parser": "^1.5.0"
- }
- },
- "postcss-color-rgb": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/postcss-color-rgb/-/postcss-color-rgb-2.0.0.tgz",
- "integrity": "sha1-FFOcinExSUtILg3RzCZf9lFLUmM=",
- "requires": {
- "postcss": "^6.0.1",
- "postcss-value-parser": "^3.3.0"
- }
- },
- "postcss-color-rgba-fallback": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-color-rgba-fallback/-/postcss-color-rgba-fallback-3.0.0.tgz",
- "integrity": "sha1-N9XJNToHoJJwkSqCYGu0Kg1wLAQ=",
- "requires": {
- "postcss": "^6.0.6",
- "postcss-value-parser": "^3.3.0",
- "rgb-hex": "^2.1.0"
- }
- },
- "postcss-colormin": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz",
- "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=",
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+ "dev": true,
"requires": {
- "colormin": "^1.0.5",
- "postcss": "^5.0.13",
- "postcss-value-parser": "^3.2.3"
+ "assign-symbols": "^1.0.0",
+ "is-extendable": "^1.0.1"
},
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
"requires": {
- "has-flag": "^1.0.0"
+ "is-plain-object": "^2.0.4"
}
}
}
},
- "postcss-convert-values": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz",
- "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=",
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
"requires": {
- "postcss": "^5.0.11",
- "postcss-value-parser": "^3.1.2"
+ "array-unique": "^0.3.2",
+ "define-property": "^1.0.0",
+ "expand-brackets": "^2.1.4",
+ "extend-shallow": "^2.0.1",
+ "fragment-cache": "^0.2.1",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
},
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
+ "define-property": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
"requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
+ "is-descriptor": "^1.0.0"
}
},
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
"requires": {
- "has-flag": "^1.0.0"
+ "is-extendable": "^0.1.0"
}
- }
- }
- },
- "postcss-cssnext": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/postcss-cssnext/-/postcss-cssnext-3.1.0.tgz",
- "integrity": "sha512-awPDhI4OKetcHCr560iVCoDuP6e/vn0r6EAqdWPpAavJMvkBSZ6kDpSN4b3mB3Ti57hQMunHHM8Wvx9PeuYXtA==",
- "requires": {
- "autoprefixer": "^7.1.1",
- "caniuse-api": "^2.0.0",
- "chalk": "^2.0.1",
- "pixrem": "^4.0.0",
- "pleeease-filters": "^4.0.0",
- "postcss": "^6.0.5",
- "postcss-apply": "^0.8.0",
- "postcss-attribute-case-insensitive": "^2.0.0",
- "postcss-calc": "^6.0.0",
- "postcss-color-function": "^4.0.0",
- "postcss-color-gray": "^4.0.0",
- "postcss-color-hex-alpha": "^3.0.0",
- "postcss-color-hsl": "^2.0.0",
- "postcss-color-hwb": "^3.0.0",
- "postcss-color-rebeccapurple": "^3.0.0",
- "postcss-color-rgb": "^2.0.0",
- "postcss-color-rgba-fallback": "^3.0.0",
- "postcss-custom-media": "^6.0.0",
- "postcss-custom-properties": "^6.1.0",
- "postcss-custom-selectors": "^4.0.1",
- "postcss-font-family-system-ui": "^3.0.0",
- "postcss-font-variant": "^3.0.0",
- "postcss-image-set-polyfill": "^0.3.5",
- "postcss-initial": "^2.0.0",
- "postcss-media-minmax": "^3.0.0",
- "postcss-nesting": "^4.0.1",
- "postcss-pseudo-class-any-link": "^4.0.0",
- "postcss-pseudoelements": "^5.0.0",
- "postcss-replace-overflow-wrap": "^2.0.0",
- "postcss-selector-matches": "^3.0.1",
- "postcss-selector-not": "^3.0.1"
- },
- "dependencies": {
- "caniuse-api": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-2.0.0.tgz",
- "integrity": "sha1-sd21pZZrFvSNxJmERNS7xsfZ2DQ=",
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
"requires": {
- "browserslist": "^2.0.0",
- "caniuse-lite": "^1.0.0",
- "lodash.memoize": "^4.1.2",
- "lodash.uniq": "^4.5.0"
+ "kind-of": "^6.0.0"
}
},
- "postcss-calc": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-6.0.2.tgz",
- "integrity": "sha512-fiznXjEN5T42Qm7qqMCVJXS3roaj9r4xsSi+meaBVe7CJBl8t/QLOXu02Z2E6oWAMWIvCuF6JrvzFekmVEbOKA==",
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
"requires": {
- "css-unit-converter": "^1.1.1",
- "postcss": "^7.0.2",
- "postcss-selector-parser": "^2.2.2",
- "reduce-css-calc": "^2.0.0"
- },
- "dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "postcss": {
- "version": "7.0.14",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz",
- "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==",
- "requires": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
- }
- }
+ "kind-of": "^6.0.0"
}
},
- "reduce-css-calc": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.6.tgz",
- "integrity": "sha512-+l5/qlQmdsbM9h6JerJ/y5vR5Ci0k93aszLNpCmbadC3nBcbRGmIBm0s9Nj59i22LvCjTGftWzdQRwdknayxhw==",
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
"requires": {
- "css-unit-converter": "^1.1.1",
- "postcss-value-parser": "^3.3.0"
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
}
- },
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ }
+ }
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
+ "fast-diff": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
+ "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
+ "dev": true
+ },
+ "fast-glob": {
+ "version": "2.2.7",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz",
+ "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==",
+ "dev": true,
+ "requires": {
+ "@mrmlnc/readdir-enhanced": "^2.2.1",
+ "@nodelib/fs.stat": "^1.1.2",
+ "glob-parent": "^3.1.0",
+ "is-glob": "^4.0.0",
+ "merge2": "^1.2.3",
+ "micromatch": "^3.1.10"
+ }
+ },
+ "fast-json-patch": {
+ "version": "3.0.0-1",
+ "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.0.0-1.tgz",
+ "integrity": "sha512-6pdFb07cknxvPzCeLsFHStEy+MysPJPgZQ9LbQ/2O67unQF93SNqfdSqnPPl71YMHX+AD8gbl7iuoGFzHEdDuw==",
+ "dev": true
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "dev": true
+ },
+ "fastq": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.1.tgz",
+ "integrity": "sha512-mpIH5sKYueh3YyeJwqtVo8sORi0CgtmkVbK6kZStpQlZBYQuTzG2CZ7idSiJuA7bY0SFCWUc5WIs+oYumGCQNw==",
+ "dev": true,
+ "requires": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "file-entry-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz",
+ "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^3.0.4"
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "is-extendable": "^0.1.0"
}
}
}
},
- "postcss-custom-media": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-6.0.0.tgz",
- "integrity": "sha1-vlMnhBEOyylQRPtTlaGABushpzc=",
+ "finalhandler": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
+ "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
"requires": {
- "postcss": "^6.0.1"
+ "debug": "2.6.9",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "on-finished": "~2.3.0",
+ "parseurl": "~1.3.3",
+ "statuses": "~1.5.0",
+ "unpipe": "~1.0.0"
}
},
- "postcss-custom-properties": {
- "version": "6.3.1",
- "resolved": "http://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-6.3.1.tgz",
- "integrity": "sha512-zoiwn4sCiUFbr4KcgcNZLFkR6gVQom647L+z1p/KBVHZ1OYwT87apnS42atJtx6XlX2yI7N5fjXbFixShQO2QQ==",
+ "find-replace": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz",
+ "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==",
+ "dev": true,
"requires": {
- "balanced-match": "^1.0.0",
- "postcss": "^6.0.18"
+ "array-back": "^3.0.1"
}
},
- "postcss-custom-selectors": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-4.0.1.tgz",
- "integrity": "sha1-eBOC+UxS5yfvXKR3bqKt9JphE4I=",
+ "flat-cache": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+ "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "dev": true,
"requires": {
- "postcss": "^6.0.1",
- "postcss-selector-matches": "^3.0.0"
+ "flatted": "^3.1.0",
+ "rimraf": "^3.0.2"
}
},
- "postcss-discard-comments": {
- "version": "2.0.4",
- "resolved": "http://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz",
- "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=",
+ "flatted": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz",
+ "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==",
+ "dev": true
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
+ "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
+ "dev": true,
"requires": {
- "postcss": "^5.0.14"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
}
},
- "postcss-discard-duplicates": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz",
- "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=",
+ "forwarded": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
+ "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
"requires": {
- "postcss": "^5.0.4"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
+ "map-cache": "^0.2.2"
}
},
- "postcss-discard-empty": {
- "version": "2.1.0",
- "resolved": "http://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz",
- "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=",
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
+ },
+ "fs-exists-sync": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz",
+ "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=",
+ "dev": true
+ },
+ "fs-extra": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true
+ },
+ "gensync": {
+ "version": "1.0.0-beta.1",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
+ "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
+ "dev": true
+ },
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "dev": true
+ },
+ "get-intrinsic": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz",
+ "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1"
+ }
+ },
+ "get-own-enumerable-property-symbols": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz",
+ "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==",
+ "dev": true
+ },
+ "get-stdin": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz",
+ "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
+ "dev": true
+ },
+ "get-stream": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz",
+ "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==",
+ "dev": true
+ },
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+ "dev": true
+ },
+ "git-config-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-1.0.1.tgz",
+ "integrity": "sha1-bTP37WPbDQ4RgTFQO6s6ykfVRmQ=",
+ "dev": true,
"requires": {
- "postcss": "^5.0.14"
+ "extend-shallow": "^2.0.1",
+ "fs-exists-sync": "^0.1.0",
+ "homedir-polyfill": "^1.0.0"
},
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
"requires": {
- "has-flag": "^1.0.0"
+ "is-extendable": "^0.1.0"
}
}
}
},
- "postcss-discard-overridden": {
- "version": "0.1.1",
- "resolved": "http://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz",
- "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=",
+ "gitlab": {
+ "version": "10.2.1",
+ "resolved": "https://registry.npmjs.org/gitlab/-/gitlab-10.2.1.tgz",
+ "integrity": "sha512-z+DxRF1C9uayVbocs9aJkJz+kGy14TSm1noB/rAIEBbXOkOYbjKxyuqJzt+0zeFpXFdgA0yq6DVVbvM7HIfGwg==",
+ "dev": true,
+ "requires": {
+ "form-data": "^2.5.0",
+ "humps": "^2.0.1",
+ "ky": "^0.12.0",
+ "ky-universal": "^0.3.0",
+ "li": "^1.3.0",
+ "query-string": "^6.8.2",
+ "universal-url": "^2.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+ "dev": true,
"requires": {
- "postcss": "^5.0.16"
+ "is-glob": "^3.1.0",
+ "path-dirname": "^1.0.0"
},
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+ "dev": true,
"requires": {
- "has-flag": "^1.0.0"
+ "is-extglob": "^2.1.0"
}
}
}
},
- "postcss-discard-unused": {
- "version": "2.2.3",
- "resolved": "http://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz",
- "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=",
+ "glob-to-regexp": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
+ "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
+ "dev": true
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true
+ },
+ "globby": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz",
+ "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==",
+ "dev": true,
"requires": {
- "postcss": "^5.0.14",
- "uniqs": "^2.0.0"
+ "@types/glob": "^7.1.1",
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.0.3",
+ "glob": "^7.1.3",
+ "ignore": "^5.1.1",
+ "merge2": "^1.2.3",
+ "slash": "^3.0.0"
},
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+ "@nodelib/fs.stat": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
+ "dev": true
},
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
}
},
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "fast-glob": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
+ "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
+ "dev": true,
"requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
+ "@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"
}
},
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
"requires": {
- "has-flag": "^1.0.0"
+ "to-regex-range": "^5.0.1"
}
- }
- }
- },
- "postcss-filter-plugins": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz",
- "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==",
- "requires": {
- "postcss": "^5.0.4"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
},
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
}
},
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
},
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
"requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
}
},
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
"requires": {
- "has-flag": "^1.0.0"
+ "is-number": "^7.0.0"
}
}
}
},
- "postcss-font-family-system-ui": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-font-family-system-ui/-/postcss-font-family-system-ui-3.0.0.tgz",
- "integrity": "sha512-58G/hTxMSSKlIRpcPUjlyo6hV2MEzvcVO2m4L/T7Bb2fJTG4DYYfQjQeRvuimKQh1V1sOzCIz99g+H2aFNtlQw==",
+ "graceful-fs": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
+ "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
+ "dev": true
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
"requires": {
- "postcss": "^6.0"
+ "function-bind": "^1.1.1"
}
},
- "postcss-font-variant": {
+ "has-flag": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-3.0.0.tgz",
- "integrity": "sha1-CMzIj2BQuoLtjvLMdsDGprQfGD4=",
- "requires": {
- "postcss": "^6.0.1"
- }
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
},
- "postcss-html": {
- "version": "0.36.0",
- "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz",
- "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==",
- "dev": true,
- "requires": {
- "htmlparser2": "^3.10.0"
- }
+ "has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true
},
- "postcss-image-set-polyfill": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/postcss-image-set-polyfill/-/postcss-image-set-polyfill-0.3.5.tgz",
- "integrity": "sha1-Dxk0E3AM8fgr05Bm7wFtZaShgYE=",
+ "has-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "dev": true,
"requires": {
- "postcss": "^6.0.1",
- "postcss-media-query-parser": "^0.2.3"
+ "get-value": "^2.0.6",
+ "has-values": "^1.0.0",
+ "isobject": "^3.0.0"
}
},
- "postcss-import": {
- "version": "11.1.0",
- "resolved": "http://registry.npmjs.org/postcss-import/-/postcss-import-11.1.0.tgz",
- "integrity": "sha512-5l327iI75POonjxkXgdRCUS+AlzAdBx4pOvMEhTKTCjb1p8IEeVR9yx3cPbmN7LIWJLbfnIXxAhoB4jpD0c/Cw==",
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "dev": true,
"requires": {
- "postcss": "^6.0.1",
- "postcss-value-parser": "^3.2.3",
- "read-cache": "^1.0.0",
- "resolve": "^1.1.7"
+ "is-number": "^3.0.0",
+ "kind-of": "^4.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
}
},
- "postcss-import-resolver": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/postcss-import-resolver/-/postcss-import-resolver-1.1.0.tgz",
- "integrity": "sha512-GPIrMNh1ySSdA+BhTyWEv247KIW7WmPRWzvVMgGYR5YBWXAkj+iCdETmdyVQxakQRSLVTwfUibrOejxegka/OQ==",
- "requires": {
- "enhanced-resolve": "^3.4.1"
- }
+ "hasurl": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hasurl/-/hasurl-1.0.0.tgz",
+ "integrity": "sha512-43ypUd3DbwyCT01UYpA99AEZxZ4aKtRxWGBHEIbjcOsUghd9YUON0C+JF6isNjaiwC/UF5neaUudy6JS9jZPZQ==",
+ "dev": true
},
- "postcss-initial": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-2.0.0.tgz",
- "integrity": "sha1-cnFfczbgu3k1HZnuZcSiU6hEG6Q=",
- "requires": {
- "lodash.template": "^4.2.4",
- "postcss": "^6.0.1"
- }
+ "he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+ "dev": true
},
- "postcss-jsx": {
- "version": "0.36.0",
- "resolved": "https://registry.npmjs.org/postcss-jsx/-/postcss-jsx-0.36.0.tgz",
- "integrity": "sha512-/lWOSXSX5jlITCKFkuYU2WLFdrncZmjSVyNpHAunEgirZXLwI8RjU556e3Uz4mv0WVHnJA9d3JWb36lK9Yx99g==",
+ "homedir-polyfill": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
+ "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
"dev": true,
"requires": {
- "@babel/core": ">=7.1.0"
+ "parse-passwd": "^1.0.0"
}
},
- "postcss-less": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz",
- "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==",
+ "hosted-git-info": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
+ "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
+ "dev": true
+ },
+ "html-minifier-terser": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
+ "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==",
"dev": true,
"requires": {
- "postcss": "^7.0.14"
+ "camel-case": "^4.1.1",
+ "clean-css": "^4.2.3",
+ "commander": "^4.1.1",
+ "he": "^1.2.0",
+ "param-case": "^3.0.3",
+ "relateurl": "^0.2.7",
+ "terser": "^4.6.3"
},
"dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "postcss": {
- "version": "7.0.14",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz",
- "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
- }
- },
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
+ "commander": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
+ "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
+ "dev": true
}
}
},
- "postcss-load-config": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.0.0.tgz",
- "integrity": "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==",
+ "http-assert": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.4.1.tgz",
+ "integrity": "sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw==",
+ "dev": true,
"requires": {
- "cosmiconfig": "^4.0.0",
- "import-cwd": "^2.0.0"
+ "deep-equal": "~1.0.1",
+ "http-errors": "~1.7.2"
}
},
- "postcss-load-options": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz",
- "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=",
+ "http-errors": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz",
+ "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==",
"requires": {
- "cosmiconfig": "^2.1.0",
- "object-assign": "^4.1.0"
- },
- "dependencies": {
- "cosmiconfig": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz",
- "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==",
- "requires": {
- "is-directory": "^0.3.1",
- "js-yaml": "^3.4.3",
- "minimist": "^1.2.0",
- "object-assign": "^4.1.0",
- "os-homedir": "^1.0.1",
- "parse-json": "^2.2.0",
- "require-from-string": "^1.1.0"
- }
- },
- "parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "requires": {
- "error-ex": "^1.2.0"
- }
- },
- "require-from-string": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz",
- "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg="
- }
+ "depd": "~1.1.2",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.1.1",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.0"
}
},
- "postcss-load-plugins": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz",
- "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=",
+ "http-proxy-agent": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
+ "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
+ "dev": true,
"requires": {
- "cosmiconfig": "^2.1.1",
- "object-assign": "^4.1.0"
+ "agent-base": "4",
+ "debug": "3.1.0"
},
"dependencies": {
- "cosmiconfig": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz",
- "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==",
- "requires": {
- "is-directory": "^0.3.1",
- "js-yaml": "^3.4.3",
- "minimist": "^1.2.0",
- "object-assign": "^4.1.0",
- "os-homedir": "^1.0.1",
- "parse-json": "^2.2.0",
- "require-from-string": "^1.1.0"
- }
- },
- "parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
"requires": {
- "error-ex": "^1.2.0"
+ "ms": "2.0.0"
}
- },
- "require-from-string": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz",
- "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg="
}
}
},
- "postcss-loader": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.6.tgz",
- "integrity": "sha512-hgiWSc13xVQAq25cVw80CH0l49ZKlAnU1hKPOdRrNj89bokRr/bZF2nT+hebPPF9c9xs8c3gw3Fr2nxtmXYnNg==",
+ "https-proxy-agent": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz",
+ "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==",
+ "dev": true,
"requires": {
- "loader-utils": "^1.1.0",
- "postcss": "^6.0.0",
- "postcss-load-config": "^2.0.0",
- "schema-utils": "^0.4.0"
+ "agent-base": "^4.3.0",
+ "debug": "^3.1.0"
},
"dependencies": {
- "schema-utils": {
- "version": "0.4.7",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
- "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
"requires": {
- "ajv": "^6.1.0",
- "ajv-keywords": "^3.1.0"
+ "ms": "^2.1.1"
}
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
}
}
},
- "postcss-markdown": {
- "version": "0.36.0",
- "resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.36.0.tgz",
- "integrity": "sha512-rl7fs1r/LNSB2bWRhyZ+lM/0bwKv9fhl38/06gF6mKMo/NPnp55+K1dSTosSVjFZc0e1ppBlu+WT91ba0PMBfQ==",
- "dev": true,
+ "humps": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/humps/-/humps-2.0.1.tgz",
+ "integrity": "sha1-3QLqYIG9BWjcXQcxhEY5V7qe+ao=",
+ "dev": true
+ },
+ "hyperlinker": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz",
+ "integrity": "sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==",
+ "dev": true
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"requires": {
- "remark": "^10.0.1",
- "unist-util-find-all-after": "^1.0.2"
+ "safer-buffer": ">= 2.1.2 < 3"
}
},
- "postcss-media-minmax": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-3.0.0.tgz",
- "integrity": "sha1-Z1JWA3pD70C8Twdgv9BtTcadSNI=",
+ "ignore": {
+ "version": "5.1.8",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
+ "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
+ "dev": true
+ },
+ "import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
"requires": {
- "postcss": "^6.0.1"
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
}
},
- "postcss-media-query-parser": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
- "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ="
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
},
- "postcss-merge-idents": {
- "version": "2.1.7",
- "resolved": "http://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz",
- "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=",
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
"requires": {
- "has": "^1.0.1",
- "postcss": "^5.0.10",
- "postcss-value-parser": "^3.1.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
+ "once": "^1.3.0",
+ "wrappy": "1"
}
},
- "postcss-merge-longhand": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz",
- "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=",
- "requires": {
- "postcss": "^5.0.4"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true
+ },
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dev": true,
+ "requires": {
+ "loose-envify": "^1.0.0"
}
},
- "postcss-merge-rules": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz",
- "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=",
+ "ip": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
+ "dev": true
+ },
+ "ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
"requires": {
- "browserslist": "^1.5.2",
- "caniuse-api": "^1.5.2",
- "postcss": "^5.0.4",
- "postcss-selector-parser": "^2.2.2",
- "vendors": "^1.0.0"
+ "kind-of": "^3.0.2"
},
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "browserslist": {
- "version": "1.7.7",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
- "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
- "requires": {
- "caniuse-db": "^1.0.30000639",
- "electron-to-chromium": "^1.2.7"
- }
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
"requires": {
- "has-flag": "^1.0.0"
+ "is-buffer": "^1.1.5"
}
}
}
},
- "postcss-message-helpers": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz",
- "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4="
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
},
- "postcss-minify-font-values": {
- "version": "1.0.5",
- "resolved": "http://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz",
- "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=",
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
"requires": {
- "object-assign": "^4.0.1",
- "postcss": "^5.0.4",
- "postcss-value-parser": "^3.0.2"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
+ "binary-extensions": "^2.0.0"
}
},
- "postcss-minify-gradients": {
- "version": "1.0.5",
- "resolved": "http://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz",
- "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=",
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
+ "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
+ "dev": true
+ },
+ "is-core-module": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
+ "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
"requires": {
- "postcss": "^5.0.12",
- "postcss-value-parser": "^3.3.0"
+ "kind-of": "^3.0.2"
},
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
"requires": {
- "has-flag": "^1.0.0"
+ "is-buffer": "^1.1.5"
}
}
}
},
- "postcss-minify-params": {
- "version": "1.2.2",
- "resolved": "http://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz",
- "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=",
+ "is-date-object": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
+ "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
+ "dev": true
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+ "dev": true,
"requires": {
- "alphanum-sort": "^1.0.1",
- "postcss": "^5.0.2",
- "postcss-value-parser": "^3.0.2",
- "uniqs": "^2.0.0"
+ "is-accessor-descriptor": "^0.1.6",
+ "is-data-descriptor": "^0.1.4",
+ "kind-of": "^5.0.0"
},
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
}
}
},
- "postcss-minify-selectors": {
+ "is-docker": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.0.tgz",
+ "integrity": "sha512-K4GwB4i/HzhAzwP/XSlspzRdFTI9N8OxJOyOU7Y5Rz+p+WBokXWVWblaJeBkggthmoSV0OoGTH5thJNvplpkvQ==",
+ "dev": true
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
+ },
+ "is-extglob": {
"version": "2.1.1",
- "resolved": "http://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz",
- "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "is-generator-function": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz",
+ "integrity": "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+ "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
+ "dev": true
+ },
+ "is-negative-zero": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
+ "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==",
+ "dev": true
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
"requires": {
- "alphanum-sort": "^1.0.2",
- "has": "^1.0.1",
- "postcss": "^5.0.14",
- "postcss-selector-parser": "^2.0.0"
+ "kind-of": "^3.0.2"
},
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
"requires": {
- "has-flag": "^1.0.0"
+ "is-buffer": "^1.1.5"
}
}
}
},
- "postcss-modules-extract-imports": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz",
- "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==",
+ "is-obj": {
+ "version": "1.0.1",
+ "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
"requires": {
- "postcss": "^6.0.1"
+ "isobject": "^3.0.1"
}
},
- "postcss-modules-local-by-default": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
- "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
+ "is-regex": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
+ "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
+ "dev": true,
+ "requires": {
+ "has-symbols": "^1.0.1"
+ }
+ },
+ "is-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
+ "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=",
+ "dev": true
+ },
+ "is-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
+ "dev": true
+ },
+ "is-string": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
+ "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
+ "dev": true
+ },
+ "is-symbol": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
+ "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
+ "dev": true,
"requires": {
- "css-selector-tokenizer": "^0.7.0",
- "postcss": "^6.0.1"
+ "has-symbols": "^1.0.1"
}
},
- "postcss-modules-scope": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
- "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
- "requires": {
- "css-selector-tokenizer": "^0.7.0",
- "postcss": "^6.0.1"
- }
+ "is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+ "dev": true
},
- "postcss-modules-values": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz",
- "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
+ "is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "dev": true,
"requires": {
- "icss-replace-symbols": "^1.1.0",
- "postcss": "^6.0.1"
+ "is-docker": "^2.0.0"
}
},
- "postcss-nesting": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-4.2.1.tgz",
- "integrity": "sha512-IkyWXICwagCnlaviRexi7qOdwPw3+xVVjgFfGsxmztvRVaNxAlrypOIKqDE5mxY+BVxnId1rnUKBRQoNE2VDaA==",
- "requires": {
- "postcss": "^6.0.11"
- }
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
},
- "postcss-normalize-charset": {
- "version": "1.1.1",
- "resolved": "http://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz",
- "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=",
- "requires": {
- "postcss": "^5.0.5"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
- }
+ "isbinaryfile": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.6.tgz",
+ "integrity": "sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg==",
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true
},
- "postcss-normalize-url": {
- "version": "3.0.8",
- "resolved": "http://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz",
- "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=",
+ "js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dev": true,
"requires": {
- "is-absolute-url": "^2.0.0",
- "normalize-url": "^1.4.0",
- "postcss": "^5.0.14",
- "postcss-value-parser": "^3.2.3"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
}
},
- "postcss-ordered-values": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz",
- "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=",
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "dev": true
+ },
+ "json5": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.2.tgz",
+ "integrity": "sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ==",
+ "dev": true,
"requires": {
- "postcss": "^5.0.4",
- "postcss-value-parser": "^3.0.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
+ "minimist": "^1.2.5"
}
},
- "postcss-pseudo-class-any-link": {
+ "jsonfile": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-4.0.0.tgz",
- "integrity": "sha1-kVKgYT00UHIFE+iJKFS65C0O5o4=",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "dev": true,
"requires": {
- "postcss": "^6.0.1",
- "postcss-selector-parser": "^2.2.3"
+ "graceful-fs": "^4.1.6"
}
},
- "postcss-pseudoelements": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/postcss-pseudoelements/-/postcss-pseudoelements-5.0.0.tgz",
- "integrity": "sha1-7vGU6NUkZFylIKlJ6V5RjoEkAss=",
- "requires": {
- "postcss": "^6.0.0"
- }
+ "jsonify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+ "dev": true
},
- "postcss-reduce-idents": {
- "version": "2.4.0",
- "resolved": "http://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz",
- "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=",
+ "jsonpointer": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz",
+ "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==",
+ "dev": true
+ },
+ "jsonwebtoken": {
+ "version": "8.5.1",
+ "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz",
+ "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==",
+ "dev": true,
"requires": {
- "postcss": "^5.0.4",
- "postcss-value-parser": "^3.0.2"
+ "jws": "^3.2.2",
+ "lodash.includes": "^4.3.0",
+ "lodash.isboolean": "^3.0.3",
+ "lodash.isinteger": "^4.0.4",
+ "lodash.isnumber": "^3.0.3",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.isstring": "^4.0.1",
+ "lodash.once": "^4.0.0",
+ "ms": "^2.1.1",
+ "semver": "^5.6.0"
},
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
}
}
},
- "postcss-reduce-initial": {
- "version": "1.0.1",
- "resolved": "http://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz",
- "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=",
+ "jwa": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz",
+ "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==",
+ "dev": true,
"requires": {
- "postcss": "^5.0.4"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
+ "buffer-equal-constant-time": "1.0.1",
+ "ecdsa-sig-formatter": "1.0.11",
+ "safe-buffer": "^5.0.1"
}
},
- "postcss-reduce-transforms": {
- "version": "1.0.4",
- "resolved": "http://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz",
- "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=",
+ "jws": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz",
+ "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==",
+ "dev": true,
"requires": {
- "has": "^1.0.1",
- "postcss": "^5.0.8",
- "postcss-value-parser": "^3.0.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
+ "jwa": "^1.4.1",
+ "safe-buffer": "^5.0.1"
}
},
- "postcss-replace-overflow-wrap": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-2.0.0.tgz",
- "integrity": "sha1-eU22+qVPjbEAhUOSqTr0V2i04ls=",
+ "keygrip": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz",
+ "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==",
+ "dev": true,
"requires": {
- "postcss": "^6.0.1"
+ "tsscmp": "1.0.6"
}
},
- "postcss-reporter": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.1.tgz",
- "integrity": "sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw==",
+ "kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "dev": true
+ },
+ "koa": {
+ "version": "2.13.1",
+ "resolved": "https://registry.npmjs.org/koa/-/koa-2.13.1.tgz",
+ "integrity": "sha512-Lb2Dloc72auj5vK4X4qqL7B5jyDPQaZucc9sR/71byg7ryoD1NCaCm63CShk9ID9quQvDEi1bGR/iGjCG7As3w==",
"dev": true,
"requires": {
- "chalk": "^2.4.1",
- "lodash": "^4.17.11",
- "log-symbols": "^2.2.0",
- "postcss": "^7.0.7"
+ "accepts": "^1.3.5",
+ "cache-content-type": "^1.0.0",
+ "content-disposition": "~0.5.2",
+ "content-type": "^1.0.4",
+ "cookies": "~0.8.0",
+ "debug": "~3.1.0",
+ "delegates": "^1.0.0",
+ "depd": "^2.0.0",
+ "destroy": "^1.0.4",
+ "encodeurl": "^1.0.2",
+ "escape-html": "^1.0.3",
+ "fresh": "~0.5.2",
+ "http-assert": "^1.3.0",
+ "http-errors": "^1.6.3",
+ "is-generator-function": "^1.0.7",
+ "koa-compose": "^4.1.0",
+ "koa-convert": "^1.2.0",
+ "on-finished": "^2.3.0",
+ "only": "~0.0.2",
+ "parseurl": "^1.3.2",
+ "statuses": "^1.5.0",
+ "type-is": "^1.6.16",
+ "vary": "^1.1.2"
},
"dependencies": {
- "postcss": {
- "version": "7.0.14",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz",
- "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
- },
- "dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- }
- }
- },
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "ms": "2.0.0"
}
+ },
+ "depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "dev": true
}
}
},
- "postcss-resolve-nested-selector": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz",
- "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=",
+ "koa-compose": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz",
+ "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==",
"dev": true
},
- "postcss-safe-parser": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz",
- "integrity": "sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ==",
+ "koa-convert": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-1.2.0.tgz",
+ "integrity": "sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA=",
"dev": true,
"requires": {
- "postcss": "^7.0.0"
+ "co": "^4.6.0",
+ "koa-compose": "^3.0.0"
},
"dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "postcss": {
- "version": "7.0.14",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz",
- "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
- }
- },
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "koa-compose": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-3.2.1.tgz",
+ "integrity": "sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec=",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "any-promise": "^1.1.0"
}
}
}
},
- "postcss-sass": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.3.5.tgz",
- "integrity": "sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A==",
+ "koa-etag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/koa-etag/-/koa-etag-4.0.0.tgz",
+ "integrity": "sha512-1cSdezCkBWlyuB9l6c/IFoe1ANCDdPBxkDkRiaIup40xpUub6U/wwRXoKBZw/O5BifX9OlqAjYnDyzM6+l+TAg==",
+ "dev": true,
+ "requires": {
+ "etag": "^1.8.1"
+ }
+ },
+ "koa-send": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/koa-send/-/koa-send-5.0.1.tgz",
+ "integrity": "sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==",
"dev": true,
"requires": {
- "gonzales-pe": "^4.2.3",
- "postcss": "^7.0.1"
+ "debug": "^4.1.1",
+ "http-errors": "^1.7.3",
+ "resolve-path": "^1.4.0"
},
"dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "postcss": {
- "version": "7.0.14",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz",
- "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==",
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"dev": true,
"requires": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
+ "ms": "2.1.2"
}
},
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
}
}
},
- "postcss-scss": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.0.0.tgz",
- "integrity": "sha512-um9zdGKaDZirMm+kZFKKVsnKPF7zF7qBAtIfTSnZXD1jZ0JNZIxdB6TxQOjCnlSzLRInVl2v3YdBh/M881C4ug==",
+ "koa-static": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/koa-static/-/koa-static-5.0.0.tgz",
+ "integrity": "sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==",
"dev": true,
"requires": {
- "postcss": "^7.0.0"
+ "debug": "^3.1.0",
+ "koa-send": "^5.0.0"
},
"dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "postcss": {
- "version": "7.0.14",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz",
- "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==",
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
"requires": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
+ "ms": "^2.1.1"
}
},
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
}
}
},
- "postcss-selector-matches": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-3.0.1.tgz",
- "integrity": "sha1-5WNAEeE5UIgYYbvdWMLQER/8lqs=",
+ "ky": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/ky/-/ky-0.12.0.tgz",
+ "integrity": "sha512-t9b7v3V2fGwAcQnnDDQwKQGF55eWrf4pwi1RN08Fy8b/9GEwV7Ea0xQiaSW6ZbeghBHIwl8kgnla4vVo9seepQ==",
+ "dev": true
+ },
+ "ky-universal": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.3.0.tgz",
+ "integrity": "sha512-CM4Bgb2zZZpsprcjI6DNYTaH3oGHXL2u7BU4DK+lfCuC4snkt9/WRpMYeKbBbXscvKkeqBwzzjFX2WwmKY5K/A==",
+ "dev": true,
"requires": {
- "balanced-match": "^0.4.2",
- "postcss": "^6.0.1"
- },
- "dependencies": {
- "balanced-match": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
- "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg="
- }
+ "abort-controller": "^3.0.0",
+ "node-fetch": "^2.6.0"
}
},
- "postcss-selector-not": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-3.0.1.tgz",
- "integrity": "sha1-Lk2y8JZTNsAefOx9tsYN/3ZzNdk=",
+ "leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+ "dev": true
+ },
+ "levenary": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz",
+ "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==",
+ "dev": true,
"requires": {
- "balanced-match": "^0.4.2",
- "postcss": "^6.0.1"
+ "leven": "^3.1.0"
},
"dependencies": {
- "balanced-match": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
- "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg="
+ "leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+ "dev": true
}
}
},
- "postcss-selector-parser": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz",
- "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=",
+ "levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
"requires": {
- "flatten": "^1.0.2",
- "indexes-of": "^1.0.1",
- "uniq": "^1.0.1"
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
}
},
- "postcss-sorting": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-4.0.0.tgz",
- "integrity": "sha512-rN1USjy86i8rpr98PLVA0sYU4iZ+D1kU5vW/kKy6sZJTOm0O1HRD1JrX9KFyCtzU35XB9u3sMtLUoslKssIEoQ==",
- "dev": true,
+ "lezer": {
+ "version": "0.13.4",
+ "resolved": "https://registry.npmjs.org/lezer/-/lezer-0.13.4.tgz",
+ "integrity": "sha512-cLQxUVY28VBBqKBt/R8CYeH57KQnIvscAnoahzvhlZTK8qxMkIyGExR6ecEpYYDX06ZhROZrEm1IiPvjLAsTig==",
"requires": {
- "lodash": "^4.17.4",
- "postcss": "^7.0.0"
- },
- "dependencies": {
- "postcss": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz",
- "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.5.0"
- }
- }
+ "lezer-tree": "^0.13.2"
}
},
- "postcss-svgo": {
- "version": "2.1.6",
- "resolved": "http://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz",
- "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=",
+ "lezer-json": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/lezer-json/-/lezer-json-0.13.1.tgz",
+ "integrity": "sha512-iXIXSjqa/+jmaDKD4yPgpwfwQlbOcu/IaFgZ+3dgo3oVtitEVlAJYcfw8g9ywJtae3CYQlyOX9mjyi0VCNPlNg==",
"requires": {
- "is-svg": "^2.0.0",
- "postcss": "^5.0.14",
- "postcss-value-parser": "^3.2.3",
- "svgo": "^0.7.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
- "requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
- }
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
- }
+ "lezer": "^0.13.0"
}
},
- "postcss-syntax": {
- "version": "0.36.2",
- "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz",
- "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==",
+ "lezer-tree": {
+ "version": "0.13.2",
+ "resolved": "https://registry.npmjs.org/lezer-tree/-/lezer-tree-0.13.2.tgz",
+ "integrity": "sha512-15ZxW8TxVNAOkHIo43Iouv4zbSkQQ5chQHBpwXcD2bBFz46RB4jYLEEww5l1V0xyIx9U2clSyyrLes+hAUFrGQ=="
+ },
+ "li": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/li/-/li-1.3.0.tgz",
+ "integrity": "sha1-IsWbyu+qmo7zWc91l4TkvxBq6hs=",
+ "dev": true
+ },
+ "lines-and-columns": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
"dev": true
},
- "postcss-unique-selectors": {
- "version": "2.0.2",
- "resolved": "http://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz",
- "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=",
+ "lit": {
+ "version": "2.0.0-rc.1",
+ "resolved": "https://registry.npmjs.org/lit/-/lit-2.0.0-rc.1.tgz",
+ "integrity": "sha512-cf4r18feMhu56sO963a5MaHUn6OX2Am9sj9lzyGTYx2IPDhC9NP/Xh4rj9Ialo9dA+lI4brD7+9cxSzRIWHOmw==",
"requires": {
- "alphanum-sort": "^1.0.1",
- "postcss": "^5.0.4",
- "uniqs": "^2.0.0"
+ "@lit/reactive-element": "^1.0.0-rc.1",
+ "lit-element": "^3.0.0-rc.1",
+ "lit-html": "^2.0.0-rc.1"
},
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "lit-element": {
+ "version": "3.0.0-rc.1",
+ "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.0.0-rc.1.tgz",
+ "integrity": "sha512-SQH7LODMy+42UTOGiyHUTXronvv8Cud0Y/8Q8/1jd/9Putuh66GjN7FEjyNRxVbpIygnPqMbG854J9Ct9IJlFw==",
"requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
+ "@lit/reactive-element": "^1.0.0-rc.1",
+ "lit-html": "^2.0.0-rc.1"
}
},
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ "lit-html": {
+ "version": "2.0.0-rc.2",
+ "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.0.0-rc.2.tgz",
+ "integrity": "sha512-rl3vtIQ0jq6r0GVbg+57Et9ra+iNhiz/v5V7uPTb6VxnjJaCCYKI7WkzKNlyzjMM2N/ytih3Uxb5vyyaOpjb0Q==",
"requires": {
- "has-flag": "^1.0.0"
+ "@types/trusted-types": "^1.0.1"
}
}
}
},
- "postcss-url": {
- "version": "7.3.2",
- "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-7.3.2.tgz",
- "integrity": "sha512-QMV5mA+pCYZQcUEPQkmor9vcPQ2MT+Ipuu8qdi1gVxbNiIiErEGft+eny1ak19qALoBkccS5AHaCaCDzh7b9MA==",
+ "lit-analyzer": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/lit-analyzer/-/lit-analyzer-1.2.1.tgz",
+ "integrity": "sha512-OEARBhDidyaQENavLbzpTKbEmu5rnAI+SdYsH4ia1BlGlLiqQXoym7uH1MaRPtwtUPbkhUfT4OBDZ+74VHc3Cg==",
+ "dev": true,
"requires": {
- "mime": "^1.4.1",
- "minimatch": "^3.0.4",
- "mkdirp": "^0.5.0",
- "postcss": "^6.0.1",
- "xxhashjs": "^0.2.1"
+ "chalk": "^2.4.2",
+ "didyoumean2": "4.1.0",
+ "fast-glob": "^2.2.6",
+ "parse5": "5.1.0",
+ "ts-simple-type": "~1.0.5",
+ "vscode-css-languageservice": "4.3.0",
+ "vscode-html-languageservice": "3.1.0",
+ "web-component-analyzer": "~1.1.1"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
- "postcss-values-parser": {
- "version": "1.5.0",
- "resolved": "http://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-1.5.0.tgz",
- "integrity": "sha512-3M3p+2gMp0AH3da530TlX8kiO1nxdTnc3C6vr8dMxRLIlh8UYkz0/wcwptSXjhtx2Fr0TySI7a+BHDQ8NL7LaQ==",
+ "lit-element": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-2.4.0.tgz",
+ "integrity": "sha512-pBGLglxyhq/Prk2H91nA0KByq/hx/wssJBQFiYqXhGDvEnY31PRGYf1RglVzyLeRysu0IHm2K0P196uLLWmwFg==",
"requires": {
- "flatten": "^1.0.2",
- "indexes-of": "^1.0.1",
- "uniq": "^1.0.1"
+ "lit-html": "^1.1.1"
}
},
- "postcss-zindex": {
- "version": "2.2.0",
- "resolved": "http://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz",
- "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=",
+ "lit-html": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-1.3.0.tgz",
+ "integrity": "sha512-0Q1bwmaFH9O14vycPHw8C/IeHMk/uSDldVLIefu/kfbTBGIc44KGH6A8p1bDfxUfHdc8q6Ct7kQklWoHgr4t1Q=="
+ },
+ "load-json-file": {
+ "version": "2.0.0",
+ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
+ "dev": true,
"requires": {
- "has": "^1.0.1",
- "postcss": "^5.0.4",
- "uniqs": "^2.0.0"
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "strip-bom": "^3.0.0"
},
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
- }
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "postcss": {
- "version": "5.2.18",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
- "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
"requires": {
- "chalk": "^1.1.3",
- "js-base64": "^2.1.9",
- "source-map": "^0.5.6",
- "supports-color": "^3.2.3"
+ "error-ex": "^1.2.0"
}
},
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "^1.0.0"
- }
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
}
}
},
- "prelude-ls": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
- "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true
+ },
+ "lodash-es": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
+ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
+ },
+ "lodash._reinterpolate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
+ "dev": true
+ },
+ "lodash.camelcase": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
+ "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
+ "dev": true
+ },
+ "lodash.deburr": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz",
+ "integrity": "sha1-3bG7s+8HRYwBd7oH3hRCLLAz/5s=",
+ "dev": true
+ },
+ "lodash.find": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz",
+ "integrity": "sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=",
+ "dev": true
+ },
+ "lodash.get": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
+ "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
+ "dev": true
+ },
+ "lodash.includes": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
+ "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=",
+ "dev": true
+ },
+ "lodash.isboolean": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
+ "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=",
+ "dev": true
+ },
+ "lodash.isinteger": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
+ "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=",
+ "dev": true
+ },
+ "lodash.isnumber": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
+ "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=",
+ "dev": true
+ },
+ "lodash.isobject": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz",
+ "integrity": "sha1-PI+41bW/S/kK4G4U8qUwpO2TXh0=",
+ "dev": true
+ },
+ "lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=",
"dev": true
},
- "prepend-http": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
- "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw="
+ "lodash.isstring": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
+ "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=",
+ "dev": true
},
- "prettier": {
- "version": "1.16.4",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.16.4.tgz",
- "integrity": "sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g=="
+ "lodash.keys": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-4.2.0.tgz",
+ "integrity": "sha1-oIYCrBLk+4P5H8H7ejYKTZujUgU=",
+ "dev": true
},
- "pretty-error": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz",
- "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=",
- "requires": {
- "renderkid": "^2.0.1",
- "utila": "~0.4"
- }
+ "lodash.mapvalues": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz",
+ "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=",
+ "dev": true
},
- "prismjs": {
- "version": "1.21.0",
- "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.21.0.tgz",
- "integrity": "sha512-uGdSIu1nk3kej2iZsLyDoJ7e9bnPzIgY0naW/HdknGj61zScaprVEVGHrPoXqI+M9sP0NDnTK2jpkvmldpuqDw==",
- "requires": {
- "clipboard": "^2.0.0"
- }
+ "lodash.memoize": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+ "dev": true
},
- "private": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
- "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg=="
+ "lodash.once": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
+ "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=",
+ "dev": true
},
- "process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
+ "lodash.set": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz",
+ "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM=",
+ "dev": true
},
- "process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+ "lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
+ "dev": true
},
- "progress": {
- "version": "1.1.8",
- "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
- "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74="
+ "lodash.template": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
+ "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
+ "dev": true,
+ "requires": {
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.templatesettings": "^4.0.0"
+ }
},
- "progress-bar-webpack-plugin": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/progress-bar-webpack-plugin/-/progress-bar-webpack-plugin-1.12.1.tgz",
- "integrity": "sha512-tVbPB5xBbqNwdH3mwcxzjL1r1Vrm/xGu93OsqVSAbCaXGoKFvfWIh0gpMDpn2kYsPVRSAIK0pBkP9Vfs+JJibQ==",
+ "lodash.templatesettings": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
+ "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
+ "dev": true,
"requires": {
- "chalk": "^1.1.1",
- "object.assign": "^4.0.1",
- "progress": "^1.1.8"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- }
+ "lodash._reinterpolate": "^3.0.0"
}
},
- "promise-inflight": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
- "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
+ "lodash.uniq": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
+ "dev": true
},
- "proxy-addr": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz",
- "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==",
+ "loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dev": true,
"requires": {
- "forwarded": "~0.1.2",
- "ipaddr.js": "1.8.0"
+ "js-tokens": "^3.0.0 || ^4.0.0"
}
},
- "proxy-agent": {
- "version": "2.0.0",
- "resolved": "http://registry.npmjs.org/proxy-agent/-/proxy-agent-2.0.0.tgz",
- "integrity": "sha1-V+tTR6qAXXTsaByyVknbo5yTNJk=",
+ "lower-case": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
+ "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
"dev": true,
"requires": {
- "agent-base": "2",
- "debug": "2",
- "extend": "3",
- "http-proxy-agent": "1",
- "https-proxy-agent": "1",
- "lru-cache": "~2.6.5",
- "pac-proxy-agent": "1",
- "socks-proxy-agent": "2"
+ "tslib": "^2.0.3"
},
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "lru-cache": {
- "version": "2.6.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz",
- "integrity": "sha1-5W1jVBSO3o13B7WNFDIg/QjfD9U=",
+ "tslib": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
+ "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
"dev": true
}
}
},
- "proxy-from-env": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
- "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=",
- "dev": true
- },
- "prr": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY="
- },
- "pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
- },
- "psl": {
- "version": "1.1.29",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
- "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==",
- "dev": true
- },
- "public-encrypt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
- "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
+ "lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
"requires": {
- "bn.js": "^4.1.0",
- "browserify-rsa": "^4.0.0",
- "create-hash": "^1.1.0",
- "parse-asn1": "^5.0.0",
- "randombytes": "^2.0.1",
- "safe-buffer": "^5.1.2"
+ "yallist": "^3.0.2"
}
},
- "pump": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
- "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
- "requires": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
- }
+ "macos-release": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.4.1.tgz",
+ "integrity": "sha512-H/QHeBIN1fIGJX517pvK8IEK53yQOW7YcEI55oYtgjDdoCQQz7eJS94qt5kNrscReEyuD/JcdFCm2XBEcGOITg==",
+ "dev": true
},
- "pumpify": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
- "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
+ "magic-string": {
+ "version": "0.25.7",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
+ "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
+ "dev": true,
"requires": {
- "duplexify": "^3.6.0",
- "inherits": "^2.0.3",
- "pump": "^2.0.0"
+ "sourcemap-codec": "^1.4.4"
}
},
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "dev": true
},
- "puppeteer": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-2.0.0.tgz",
- "integrity": "sha512-t3MmTWzQxPRP71teU6l0jX47PHXlc4Z52sQv4LJQSZLq1ttkKS2yGM3gaI57uQwZkNaoGd0+HPPMELZkcyhlqA==",
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
"dev": true,
"requires": {
- "debug": "^4.1.0",
- "extract-zip": "^1.6.6",
- "https-proxy-agent": "^3.0.0",
- "mime": "^2.0.3",
- "progress": "^2.0.1",
- "proxy-from-env": "^1.0.0",
- "rimraf": "^2.6.1",
- "ws": "^6.1.0"
- },
- "dependencies": {
- "agent-base": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
- "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
- "dev": true,
- "requires": {
- "es6-promisify": "^5.0.0"
- }
- },
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "https-proxy-agent": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz",
- "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==",
- "dev": true,
- "requires": {
- "agent-base": "^4.3.0",
- "debug": "^3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- }
- }
- },
- "mime": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
- "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==",
- "dev": true
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true
- },
- "ws": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
- "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
- "dev": true,
- "requires": {
- "async-limiter": "~1.0.0"
- }
- }
+ "object-visit": "^1.0.0"
}
},
- "q": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
- "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
- },
- "qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
+ "media-typer": {
+ "version": "0.3.0",
+ "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
},
- "query-string": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
- "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
+ "memfs-or-file-map-to-github-branch": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/memfs-or-file-map-to-github-branch/-/memfs-or-file-map-to-github-branch-1.2.0.tgz",
+ "integrity": "sha512-PloI9AkRXrLQuBU1s7eYQpl+4hkL0U0h23lddMaJ3ZGUufn8pdNRxd1kCfBqL5gISCFQs78ttXS15e4/f5vcTA==",
+ "dev": true,
"requires": {
- "object-assign": "^4.1.0",
- "strict-uri-encode": "^1.0.0"
+ "@octokit/rest": "^16.43.1"
}
},
- "querystring": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
- "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
- },
- "querystring-es3": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
- "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
+ "merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
},
- "quick-lru": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz",
- "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
+ "merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
"dev": true
},
- "ramda": {
- "version": "0.25.0",
- "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.25.0.tgz",
- "integrity": "sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==",
+ "merge2": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz",
+ "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==",
"dev": true
},
- "randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
"requires": {
- "safe-buffer": "^5.1.0"
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
}
},
- "randomfill": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
- "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
+ },
+ "mime-db": {
+ "version": "1.44.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
+ "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
+ },
+ "mime-types": {
+ "version": "2.1.27",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
+ "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
"requires": {
- "randombytes": "^2.0.5",
- "safe-buffer": "^5.1.0"
+ "mime-db": "1.44.0"
}
},
- "range-parser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
- "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
- },
- "raw-body": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz",
- "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==",
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
"requires": {
- "bytes": "3.0.0",
- "http-errors": "1.6.3",
- "iconv-lite": "0.4.23",
- "unpipe": "1.0.0"
- },
- "dependencies": {
- "iconv-lite": {
- "version": "0.4.23",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
- "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- }
+ "brace-expansion": "^1.1.7"
}
},
- "read-cache": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
- "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=",
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
+ },
+ "mixin-deep": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "dev": true,
"requires": {
- "pify": "^2.3.0"
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
},
"dependencies": {
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
}
}
},
- "read-pkg": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
- "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "mkdirp": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+ "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+ "dev": true,
"requires": {
- "load-json-file": "^2.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^2.0.0"
+ "minimist": "^1.2.5"
}
},
- "read-pkg-up": {
+ "ms": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
- "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
- "requires": {
- "find-up": "^2.0.0",
- "read-pkg": "^2.0.0"
- }
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "dev": true,
"requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "fragment-cache": "^0.2.1",
+ "is-windows": "^1.0.2",
+ "kind-of": "^6.0.2",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.1"
}
},
- "readdirp": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
- "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
- "requires": {
- "graceful-fs": "^4.1.11",
- "micromatch": "^3.1.10",
- "readable-stream": "^2.0.2"
- }
+ "natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true
},
- "redent": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
- "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
- "dev": true,
- "requires": {
- "indent-string": "^2.1.0",
- "strip-indent": "^1.0.1"
- }
+ "negotiator": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
+ "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
},
- "reduce-css-calc": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz",
- "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=",
- "requires": {
- "balanced-match": "^0.4.2",
- "math-expression-evaluator": "^1.2.14",
- "reduce-function-call": "^1.0.1"
- },
- "dependencies": {
- "balanced-match": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
- "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg="
- }
- }
+ "nice-try": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+ "dev": true
},
- "reduce-function-call": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz",
- "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=",
+ "no-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
+ "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
+ "dev": true,
"requires": {
- "balanced-match": "^0.4.2"
+ "lower-case": "^2.0.2",
+ "tslib": "^2.0.3"
},
"dependencies": {
- "balanced-match": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
- "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg="
+ "tslib": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
+ "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
+ "dev": true
}
}
},
- "regenerate": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
- "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg=="
+ "node-cleanup": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz",
+ "integrity": "sha1-esGavSl+Caf3KnFUXZUbUX5N3iw=",
+ "dev": true
},
- "regenerator-runtime": {
- "version": "0.10.5",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
- "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg="
+ "node-fetch": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
+ "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
+ "dev": true
},
- "regenerator-transform": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
- "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
- "requires": {
- "babel-runtime": "^6.18.0",
- "babel-types": "^6.19.0",
- "private": "^0.1.6"
- }
+ "node-releases": {
+ "version": "1.1.71",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz",
+ "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==",
+ "dev": true
},
- "regex-not": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
- "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "dev": true,
"requires": {
- "extend-shallow": "^3.0.2",
- "safe-regex": "^1.1.0"
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
}
},
- "regexpu-core": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
- "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "dev": true,
"requires": {
- "regenerate": "^1.2.1",
- "regjsgen": "^0.2.0",
- "regjsparser": "^0.1.4"
+ "path-key": "^2.0.0"
}
},
- "regjsgen": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
- "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc="
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
},
- "regjsparser": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
- "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "dev": true,
"requires": {
- "jsesc": "~0.5.0"
+ "copy-descriptor": "^0.1.0",
+ "define-property": "^0.2.5",
+ "kind-of": "^3.0.3"
},
"dependencies": {
- "jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
}
}
},
- "relateurl": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
- "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk="
+ "object-inspect": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz",
+ "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==",
+ "dev": true
},
- "remark": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz",
- "integrity": "sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==",
+ "object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "dev": true
+ },
+ "object-visit": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
"dev": true,
"requires": {
- "remark-parse": "^6.0.0",
- "remark-stringify": "^6.0.0",
- "unified": "^7.0.0"
+ "isobject": "^3.0.0"
}
},
- "remark-parse": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz",
- "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==",
- "dev": true,
- "requires": {
- "collapse-white-space": "^1.0.2",
- "is-alphabetical": "^1.0.0",
- "is-decimal": "^1.0.0",
- "is-whitespace-character": "^1.0.0",
- "is-word-character": "^1.0.0",
- "markdown-escapes": "^1.0.0",
- "parse-entities": "^1.1.0",
- "repeat-string": "^1.5.4",
- "state-toggle": "^1.0.0",
- "trim": "0.0.1",
- "trim-trailing-lines": "^1.0.0",
- "unherit": "^1.0.4",
- "unist-util-remove-position": "^1.0.0",
- "vfile-location": "^2.0.0",
- "xtend": "^4.0.1"
- }
- },
- "remark-stringify": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-6.0.4.tgz",
- "integrity": "sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==",
- "dev": true,
- "requires": {
- "ccount": "^1.0.0",
- "is-alphanumeric": "^1.0.0",
- "is-decimal": "^1.0.0",
- "is-whitespace-character": "^1.0.0",
- "longest-streak": "^2.0.1",
- "markdown-escapes": "^1.0.0",
- "markdown-table": "^1.1.0",
- "mdast-util-compact": "^1.0.0",
- "parse-entities": "^1.0.2",
- "repeat-string": "^1.5.4",
- "state-toggle": "^1.0.0",
- "stringify-entities": "^1.0.1",
- "unherit": "^1.0.4",
- "xtend": "^4.0.1"
- }
- },
- "remove-trailing-separator": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
- },
- "renderkid": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz",
- "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==",
+ "object.assign": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+ "dev": true,
"requires": {
- "css-select": "^1.1.0",
- "dom-converter": "^0.2",
- "htmlparser2": "^3.3.0",
- "strip-ansi": "^3.0.0",
- "utila": "^0.4.0"
+ "define-properties": "^1.1.2",
+ "function-bind": "^1.1.1",
+ "has-symbols": "^1.0.0",
+ "object-keys": "^1.0.11"
}
},
- "repeat-element": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
- "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
- },
- "repeat-string": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
- },
- "repeating": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
- "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "dev": true,
"requires": {
- "is-finite": "^1.0.0"
+ "isobject": "^3.0.1"
}
},
- "replace-ext": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
- "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
- "dev": true
- },
- "request": {
- "version": "2.88.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
- "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
- "dev": true,
- "requires": {
- "aws-sign2": "~0.7.0",
- "aws4": "^1.8.0",
- "caseless": "~0.12.0",
- "combined-stream": "~1.0.6",
- "extend": "~3.0.2",
- "forever-agent": "~0.6.1",
- "form-data": "~2.3.2",
- "har-validator": "~5.1.0",
- "http-signature": "~1.2.0",
- "is-typedarray": "~1.0.0",
- "isstream": "~0.1.2",
- "json-stringify-safe": "~5.0.1",
- "mime-types": "~2.1.19",
- "oauth-sign": "~0.9.0",
- "performance-now": "^2.1.0",
- "qs": "~6.5.2",
- "safe-buffer": "^5.1.2",
- "tough-cookie": "~2.4.3",
- "tunnel-agent": "^0.6.0",
- "uuid": "^3.3.2"
+ "object.values": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz",
+ "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.18.0-next.1",
+ "has": "^1.0.3"
}
},
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
- },
- "require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="
- },
- "require-main-filename": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
+ "octokit-pagination-methods": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz",
+ "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ==",
+ "dev": true
},
- "resolve": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
- "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
+ "on-finished": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
"requires": {
- "path-parse": "^1.0.5"
+ "ee-first": "1.1.1"
}
},
- "resolve-from": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
- "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g="
- },
- "resolve-url": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
- },
- "restore-cursor": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
- "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
"requires": {
- "onetime": "^2.0.0",
- "signal-exit": "^3.0.2"
+ "wrappy": "1"
}
},
- "ret": {
- "version": "0.1.15",
- "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
- },
- "rgb": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/rgb/-/rgb-0.1.0.tgz",
- "integrity": "sha1-vieykej+/+rBvZlylyG/pA/AN7U="
- },
- "rgb-hex": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/rgb-hex/-/rgb-hex-2.1.0.tgz",
- "integrity": "sha1-x3PF/iJoolV42SU5qCp6XOU77aY="
+ "only": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz",
+ "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=",
+ "dev": true
},
- "right-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "open": {
+ "version": "8.0.5",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.0.5.tgz",
+ "integrity": "sha512-hkPXCz7gijWp2GoWqsQ4O/5p7F6d5pIQ/+9NyeWG1nABJ4zvLi9kJRv1a44kVf5p13wK0WMoiRA+Xey68yOytA==",
+ "dev": true,
"requires": {
- "align-text": "^0.1.1"
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
}
},
- "rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+ "optionator": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+ "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "dev": true,
"requires": {
- "glob": "^7.0.5"
+ "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"
}
},
- "ripemd160": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
- "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
+ "os-name": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz",
+ "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==",
+ "dev": true,
"requires": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1"
+ "macos-release": "^2.2.0",
+ "windows-release": "^3.1.0"
}
},
- "run-async": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
- "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
+ "override-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/override-require/-/override-require-1.1.1.tgz",
+ "integrity": "sha1-auIvresfhQ/7DPTCD/e4fl62UN8=",
+ "dev": true
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
+ },
+ "p-limit": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz",
+ "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==",
+ "dev": true,
"requires": {
- "is-promise": "^2.1.0"
+ "p-try": "^2.0.0"
}
},
- "run-queue": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
- "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true
+ },
+ "param-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
+ "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
+ "dev": true,
"requires": {
- "aproba": "^1.1.1"
+ "dot-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
+ "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
+ "dev": true
+ }
}
},
- "rx": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz",
- "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I="
- },
- "rxjs": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz",
- "integrity": "sha512-0MI8+mkKAXZUF9vMrEoPnaoHkfzBPP4IGwUYRJhIRJF6/w3uByO1e91bEHn8zd43RdkTMKiooYKmwz7RH6zfOQ==",
+ "parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
"dev": true,
"requires": {
- "tslib": "^1.9.0"
+ "callsites": "^3.0.0"
}
},
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ "parse-diff": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/parse-diff/-/parse-diff-0.7.1.tgz",
+ "integrity": "sha512-1j3l8IKcy4yRK2W4o9EYvJLSzpAVwz4DXqCewYyx2vEwk2gcf3DBPqc8Fj4XV3K33OYJ08A8fWwyu/ykD/HUSg==",
+ "dev": true
},
- "safe-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "parse-git-config": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-2.0.3.tgz",
+ "integrity": "sha512-Js7ueMZOVSZ3tP8C7E3KZiHv6QQl7lnJ+OkbxoaFazzSa2KyEHqApfGbU3XboUgUnq4ZuUmskUpYKTNx01fm5A==",
+ "dev": true,
"requires": {
- "ret": "~0.1.10"
+ "expand-tilde": "^2.0.2",
+ "git-config-path": "^1.0.1",
+ "ini": "^1.3.5"
}
},
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ "parse-github-url": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz",
+ "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==",
+ "dev": true
},
- "sass-graph": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz",
- "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==",
+ "parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
"dev": true,
"requires": {
- "glob": "^7.0.0",
- "lodash": "^4.0.0",
- "scss-tokenizer": "^0.2.3",
- "yargs": "^13.3.2"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- },
- "cliui": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
- "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
- "dev": true,
- "requires": {
- "string-width": "^3.1.0",
- "strip-ansi": "^5.2.0",
- "wrap-ansi": "^5.1.0"
- }
- },
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
- "dev": true,
- "requires": {
- "locate-path": "^3.0.0"
- }
- },
- "get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true
- },
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
- "dev": true,
- "requires": {
- "p-locate": "^3.0.0",
- "path-exists": "^3.0.0"
- }
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
- "dev": true,
- "requires": {
- "p-limit": "^2.0.0"
- }
- },
- "p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
- },
- "require-main-filename": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
- "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
- "dev": true
- },
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
- "dev": true,
- "requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- }
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
- },
- "wrap-ansi": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
- "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.0",
- "string-width": "^3.0.0",
- "strip-ansi": "^5.0.0"
- }
- },
- "yargs": {
- "version": "13.3.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
- "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
- "dev": true,
- "requires": {
- "cliui": "^5.0.0",
- "find-up": "^3.0.0",
- "get-caller-file": "^2.0.1",
- "require-directory": "^2.1.1",
- "require-main-filename": "^2.0.0",
- "set-blocking": "^2.0.0",
- "string-width": "^3.0.0",
- "which-module": "^2.0.0",
- "y18n": "^4.0.0",
- "yargs-parser": "^13.1.2"
- }
- },
- "yargs-parser": {
- "version": "13.1.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
- "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
- "dev": true,
- "requires": {
- "camelcase": "^5.0.0",
- "decamelize": "^1.2.0"
- }
- }
+ "@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"
}
},
- "sass-loader": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz",
- "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==",
+ "parse-link-header": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parse-link-header/-/parse-link-header-1.0.1.tgz",
+ "integrity": "sha1-vt/g0hGK64S+deewJUGeyKYRQKc=",
"dev": true,
"requires": {
- "clone-deep": "^2.0.1",
- "loader-utils": "^1.0.1",
- "lodash.tail": "^4.1.1",
- "neo-async": "^2.5.0",
- "pify": "^3.0.0",
- "semver": "^5.5.0"
+ "xtend": "~4.0.1"
}
},
- "sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
+ "parse-passwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+ "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
+ "dev": true
},
- "schema-utils": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz",
- "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
- "requires": {
- "ajv": "^5.0.0"
- },
- "dependencies": {
- "ajv": {
- "version": "5.5.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
- "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
- "requires": {
- "co": "^4.6.0",
- "fast-deep-equal": "^1.0.0",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.3.0"
- }
- },
- "fast-deep-equal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
- "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ="
- },
- "json-schema-traverse": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
- "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
- }
- }
+ "parse5": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
+ "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==",
+ "dev": true
+ },
+ "parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
},
- "scss-tokenizer": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
- "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
+ "pascal-case": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
+ "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
"dev": true,
"requires": {
- "js-base64": "^2.1.8",
- "source-map": "^0.4.2"
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3"
},
"dependencies": {
- "source-map": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
- "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
- "dev": true,
- "requires": {
- "amdefine": ">=0.0.4"
- }
+ "tslib": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
+ "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
+ "dev": true
}
}
},
- "select": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
- "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0="
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true
+ },
+ "path-dirname": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "path-is-inside": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+ "dev": true
+ },
+ "path-to-regexp": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.4.0.tgz",
+ "integrity": "sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w=="
+ },
+ "path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true
+ },
+ "picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "dev": true
},
- "selenium-standalone": {
- "version": "6.15.3",
- "resolved": "https://registry.npmjs.org/selenium-standalone/-/selenium-standalone-6.15.3.tgz",
- "integrity": "sha512-BFzdXRB8yYPfCRcLxpJDBLWM0akTBP/x0hB0g+8AR7N/PEvbW39dM/hq0Yp1R0hihVQTPI3KkAJpW6h/f41S4g==",
+ "pinpoint": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/pinpoint/-/pinpoint-1.1.0.tgz",
+ "integrity": "sha1-DPd1eml38b9/ajIge3CeN3OI6HQ=",
+ "dev": true
+ },
+ "pkg-dir": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
+ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
"dev": true,
"requires": {
- "async": "^2.1.4",
- "commander": "^2.9.0",
- "cross-spawn": "^6.0.0",
- "debug": "^4.0.0",
- "lodash": "^4.17.4",
- "minimist": "^1.2.0",
- "mkdirp": "^0.5.1",
- "progress": "2.0.0",
- "request": "2.88.0",
- "tar-stream": "1.6.1",
- "urijs": "^1.18.4",
- "which": "^1.2.12",
- "yauzl": "^2.5.0"
+ "find-up": "^2.1.0"
},
"dependencies": {
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
"dev": true,
"requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
+ "locate-path": "^2.0.0"
}
},
- "debug": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
- "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
"dev": true,
"requires": {
- "ms": "^2.1.1"
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
}
},
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true
+ "p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "dev": true,
+ "requires": {
+ "p-try": "^1.0.0"
+ }
},
- "progress": {
+ "p-locate": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
- "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=",
- "dev": true
- }
- }
- },
- "semver": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
- "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg=="
- },
- "send": {
- "version": "0.16.2",
- "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
- "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
- "requires": {
- "debug": "2.6.9",
- "depd": "~1.1.2",
- "destroy": "~1.0.4",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "~1.6.2",
- "mime": "1.4.1",
- "ms": "2.0.0",
- "on-finished": "~2.3.0",
- "range-parser": "~1.2.0",
- "statuses": "~1.4.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
"requires": {
- "ms": "2.0.0"
+ "p-limit": "^1.1.0"
}
},
- "mime": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
- "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
- },
- "statuses": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
- "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
+ "p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true
}
}
},
- "serialize-javascript": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz",
- "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ=="
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true
},
- "serve-static": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
- "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
+ "prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true
+ },
+ "prettier": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz",
+ "integrity": "sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==",
+ "dev": true
+ },
+ "prettier-linter-helpers": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
+ "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
+ "dev": true,
"requires": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.2",
- "send": "0.16.2"
+ "fast-diff": "^1.1.2"
}
},
- "server-destroy": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz",
- "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0="
- },
- "set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+ "pretty-bytes": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
+ "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==",
+ "dev": true
},
- "set-value": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
- "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
+ "prettyjson": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prettyjson/-/prettyjson-1.2.1.tgz",
+ "integrity": "sha1-/P+rQdGcq0365eV15kJGYZsS0ok=",
+ "dev": true,
"requires": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.3",
- "split-string": "^3.0.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "colors": "^1.1.2",
+ "minimist": "^1.2.0"
}
},
- "setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
+ "private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+ "dev": true
},
- "setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
+ "progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "dev": true
},
- "sha.js": {
- "version": "2.4.11",
- "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
- "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "proxy-addr": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
+ "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
"requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
+ "forwarded": "~0.1.2",
+ "ipaddr.js": "1.9.1"
}
},
- "shallow-clone": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz",
- "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==",
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
"dev": true,
"requires": {
- "is-extendable": "^0.1.1",
- "kind-of": "^5.0.0",
- "mixin-object": "^2.0.1"
- },
- "dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true
- }
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
}
},
- "sharebutton": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/sharebutton/-/sharebutton-0.6.3.tgz",
- "integrity": "sha1-avvkZxiDkAs8p5ielavB5ajUfgk="
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true
},
- "shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "qs": {
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
+ "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
+ },
+ "query-string": {
+ "version": "6.13.8",
+ "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.13.8.tgz",
+ "integrity": "sha512-jxJzQI2edQPE/NPUOusNjO/ZOGqr1o2OBa/3M00fU76FsLXDVbJDv/p7ng5OdQyorKrkRz1oqfwmbe5MAMePQg==",
+ "dev": true,
"requires": {
- "shebang-regex": "^1.0.0"
+ "decode-uri-component": "^0.2.0",
+ "split-on-first": "^1.0.0",
+ "strict-uri-encode": "^2.0.0"
}
},
- "shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
- },
- "shell-quote": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz",
- "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=",
+ "randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dev": true,
"requires": {
- "array-filter": "~0.0.0",
- "array-map": "~0.0.0",
- "array-reduce": "~0.0.0",
- "jsonify": "~0.0.0"
+ "safe-buffer": "^5.1.0"
}
},
- "signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
+ "range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
},
- "simple-swizzle": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
- "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
+ "raw-body": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
+ "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
"requires": {
- "is-arrayish": "^0.3.1"
+ "bytes": "3.1.0",
+ "http-errors": "1.7.2",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
+ },
+ "dependencies": {
+ "http-errors": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
+ "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
+ "requires": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.1",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.0"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ }
}
},
- "sinon": {
- "version": "6.3.5",
- "resolved": "https://registry.npmjs.org/sinon/-/sinon-6.3.5.tgz",
- "integrity": "sha512-xgoZ2gKjyVRcF08RrIQc+srnSyY1JDJtxu3Nsz07j1ffjgXoY6uPLf/qja6nDBZgzYYEovVkFryw2+KiZz11xQ==",
+ "read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
"dev": true,
"requires": {
- "@sinonjs/commons": "^1.0.2",
- "@sinonjs/formatio": "^3.0.0",
- "@sinonjs/samsam": "^2.1.2",
- "diff": "^3.5.0",
- "lodash.get": "^4.4.2",
- "lolex": "^2.7.5",
- "nise": "^1.4.5",
- "supports-color": "^5.5.0",
- "type-detect": "^4.0.8"
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
},
"dependencies": {
- "diff": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
- "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
"dev": true
}
}
},
- "sinon-chai": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-3.2.0.tgz",
- "integrity": "sha512-Z72B4a0l0IQe5uWi9yzcqX/Ml6K9e1Hp03NmkjJnRG3gDsKTX7KvLFZsVUmCaz0eqeXLLK089mwTsP1P1W+DUQ==",
- "dev": true
- },
- "sinon-stub-promise": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/sinon-stub-promise/-/sinon-stub-promise-4.0.0.tgz",
- "integrity": "sha1-bUmLoRmFV80B40Zq+S3H33JRksI=",
- "dev": true
- },
- "slash": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
- "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
- },
- "slice-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
- "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "read-pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
+ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
"dev": true,
"requires": {
- "ansi-styles": "^3.2.0",
- "astral-regex": "^1.0.0",
- "is-fullwidth-code-point": "^2.0.0"
- }
- },
- "smart-buffer": {
- "version": "1.1.15",
- "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.1.15.tgz",
- "integrity": "sha1-fxFLW2X6s+KjWqd1uxLw0cZJvxY=",
- "dev": true
- },
- "snapdragon": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
- "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
- "requires": {
- "base": "^0.11.1",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "map-cache": "^0.2.2",
- "source-map": "^0.5.6",
- "source-map-resolve": "^0.5.0",
- "use": "^3.1.0"
+ "find-up": "^2.0.0",
+ "read-pkg": "^2.0.0"
},
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
"requires": {
- "ms": "2.0.0"
+ "locate-path": "^2.0.0"
}
},
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
"requires": {
- "is-descriptor": "^0.1.0"
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
}
},
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "dev": true,
"requires": {
- "is-extendable": "^0.1.0"
+ "p-try": "^1.0.0"
}
},
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- }
- }
- },
- "snapdragon-node": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
- "requires": {
- "define-property": "^1.0.0",
- "isobject": "^3.0.0",
- "snapdragon-util": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
"requires": {
- "is-descriptor": "^1.0.0"
+ "p-limit": "^1.1.0"
}
},
- "is-accessor-descriptor": {
+ "p-try": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "requires": {
- "kind-of": "^6.0.0"
- }
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true
},
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "path-type": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
+ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
+ "dev": true,
"requires": {
- "kind-of": "^6.0.0"
+ "pify": "^2.0.0"
}
},
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
+ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "dev": true,
"requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
+ "load-json-file": "^2.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^2.0.0"
}
}
}
},
- "snapdragon-util": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "readdirp": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
+ "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
+ "dev": true,
"requires": {
- "kind-of": "^3.2.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
+ "picomatch": "^2.2.1"
}
},
- "socks": {
- "version": "1.1.10",
- "resolved": "https://registry.npmjs.org/socks/-/socks-1.1.10.tgz",
- "integrity": "sha1-W4t/x8jzQcU+0FbpKbe/Tei6e1o=",
+ "readline-sync": {
+ "version": "1.4.10",
+ "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz",
+ "integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==",
+ "dev": true
+ },
+ "reduce-flatten": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz",
+ "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==",
+ "dev": true
+ },
+ "regenerate": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
+ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
+ "dev": true
+ },
+ "regenerate-unicode-properties": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
+ "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==",
"dev": true,
"requires": {
- "ip": "^1.1.4",
- "smart-buffer": "^1.0.13"
- },
- "dependencies": {
- "ip": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
- "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
- "dev": true
- }
+ "regenerate": "^1.4.0"
}
},
- "socks-proxy-agent": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-2.1.1.tgz",
- "integrity": "sha512-sFtmYqdUK5dAMh85H0LEVFUCO7OhJJe1/z2x/Z6mxp3s7/QPf1RkZmpZy+BpuU0bEjcV9npqKjq9Y3kwFUjnxw==",
+ "regenerator-runtime": {
+ "version": "0.13.7",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz",
+ "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==",
+ "dev": true
+ },
+ "regenerator-transform": {
+ "version": "0.14.4",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz",
+ "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==",
"dev": true,
"requires": {
- "agent-base": "2",
- "extend": "3",
- "socks": "~1.1.5"
+ "@babel/runtime": "^7.8.4",
+ "private": "^0.1.8"
}
},
- "sort-keys": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
- "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "dev": true,
"requires": {
- "is-plain-obj": "^1.0.0"
+ "extend-shallow": "^3.0.2",
+ "safe-regex": "^1.1.0"
}
},
- "source-list-map": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
- "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw=="
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ "regexpp": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
+ "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
+ "dev": true
},
- "source-map-resolve": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
- "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+ "regexpu-core": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
+ "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==",
+ "dev": true,
"requires": {
- "atob": "^2.1.1",
- "decode-uri-component": "^0.2.0",
- "resolve-url": "^0.2.1",
- "source-map-url": "^0.4.0",
- "urix": "^0.1.0"
+ "regenerate": "^1.4.0",
+ "regenerate-unicode-properties": "^8.2.0",
+ "regjsgen": "^0.5.1",
+ "regjsparser": "^0.6.4",
+ "unicode-match-property-ecmascript": "^1.0.4",
+ "unicode-match-property-value-ecmascript": "^1.2.0"
}
},
- "source-map-support": {
- "version": "0.4.18",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
- "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+ "regjsgen": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz",
+ "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
+ "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
+ "dev": true,
"requires": {
- "source-map": "^0.5.6"
+ "jsesc": "~0.5.0"
},
"dependencies": {
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
}
}
},
- "source-map-url": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
- },
- "spawn-command": {
- "version": "0.0.2-1",
- "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz",
- "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=",
+ "relateurl": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
+ "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=",
"dev": true
},
- "spdx-correct": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz",
- "integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==",
- "requires": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
- }
- },
- "spdx-exceptions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
- "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA=="
- },
- "spdx-expression-parse": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
- "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
- "requires": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
- }
+ "repeat-element": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+ "dev": true
},
- "spdx-license-ids": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz",
- "integrity": "sha512-TfOfPcYGBB5sDuPn3deByxPhmfegAhpDYKSOXZQN81Oyrrif8ZCodOLzK3AesELnCx03kikhyDwh0pfvvQvF8w=="
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
},
- "specificity": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz",
- "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==",
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"dev": true
},
- "split-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
- "requires": {
- "extend-shallow": "^3.0.0"
- }
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
},
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+ "require-main-filename": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+ "dev": true
},
- "sshpk": {
- "version": "1.15.1",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.1.tgz",
- "integrity": "sha512-mSdgNUaidk+dRU5MhYtN9zebdzF2iG0cNPWy8HG+W8y+fT1JnSkh0fzzpjOa0L7P8i1Rscz38t0h4gPcKz43xA==",
+ "resolve": {
+ "version": "1.19.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
+ "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
"dev": true,
"requires": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- }
- },
- "ssri": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz",
- "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==",
- "requires": {
- "safe-buffer": "^5.1.1"
+ "is-core-module": "^2.1.0",
+ "path-parse": "^1.0.6"
}
},
- "stack-trace": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
- "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA="
- },
- "stackframe": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.0.4.tgz",
- "integrity": "sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw=="
- },
- "state-toggle": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.1.tgz",
- "integrity": "sha512-Qe8QntFrrpWTnHwvwj2FZTgv+PKIsp0B9VxLzLLbSpPXWOgRgc5LVj/aTiSfK1RqIeF9jeC1UeOH8Q8y60A7og==",
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
"dev": true
},
- "static-extend": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "resolve-path": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz",
+ "integrity": "sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc=",
+ "dev": true,
"requires": {
- "define-property": "^0.2.5",
- "object-copy": "^0.1.0"
+ "http-errors": "~1.6.2",
+ "path-is-absolute": "1.0.1"
},
"dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "http-errors": {
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+ "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
+ "dev": true,
"requires": {
- "is-descriptor": "^0.1.0"
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.0",
+ "statuses": ">= 1.4.0 < 2"
}
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ },
+ "setprototypeof": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
+ "dev": true
}
}
},
- "statuses": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
- "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4="
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
},
- "stdout-stream": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
- "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
+ "resumer": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz",
+ "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=",
"dev": true,
"requires": {
- "readable-stream": "^2.0.1"
- }
- },
- "stream-browserify": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
- "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
- "requires": {
- "inherits": "~2.0.1",
- "readable-stream": "^2.0.2"
- }
- },
- "stream-each": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
- "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
- "requires": {
- "end-of-stream": "^1.1.0",
- "stream-shift": "^1.0.0"
+ "through": "~2.3.4"
}
},
- "stream-http": {
- "version": "2.8.3",
- "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
- "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
- "requires": {
- "builtin-status-codes": "^3.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.3.6",
- "to-arraybuffer": "^1.0.0",
- "xtend": "^4.0.0"
- }
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true
},
- "stream-shift": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
- "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
+ "retry": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+ "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
+ "dev": true
},
- "strict-uri-encode": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
- "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
+ "reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true
},
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
"requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- }
+ "glob": "^7.1.3"
}
},
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "rollup": {
+ "version": "2.44.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.44.0.tgz",
+ "integrity": "sha512-rGSF4pLwvuaH/x4nAS+zP6UNn5YUDWf/TeEU5IoXSZKBbKRNTCI3qMnYXKZgrC0D2KzS2baiOZt1OlqhMu5rnQ==",
+ "dev": true,
"requires": {
- "safe-buffer": "~5.1.0"
+ "fsevents": "~2.3.1"
}
},
- "stringify-entities": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz",
- "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==",
+ "rollup-plugin-babel": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz",
+ "integrity": "sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==",
"dev": true,
"requires": {
- "character-entities-html4": "^1.0.0",
- "character-entities-legacy": "^1.0.0",
- "is-alphanumerical": "^1.0.0",
- "is-hexadecimal": "^1.0.0"
+ "@babel/helper-module-imports": "^7.0.0",
+ "rollup-pluginutils": "^2.8.1"
}
},
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "rollup-plugin-copy": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.4.0.tgz",
+ "integrity": "sha512-rGUmYYsYsceRJRqLVlE9FivJMxJ7X6jDlP79fmFkL8sJs7VVMSVyA2yfyL+PGyO/vJs4A87hwhgVfz61njI+uQ==",
+ "dev": true,
"requires": {
- "ansi-regex": "^2.0.0"
+ "@types/fs-extra": "^8.0.1",
+ "colorette": "^1.1.0",
+ "fs-extra": "^8.1.0",
+ "globby": "10.0.1",
+ "is-plain-object": "^3.0.0"
+ },
+ "dependencies": {
+ "is-plain-object": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz",
+ "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==",
+ "dev": true
+ }
}
},
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
- },
- "strip-eof": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
- },
- "strip-indent": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
- "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+ "rollup-plugin-lit-css": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-lit-css/-/rollup-plugin-lit-css-2.1.0.tgz",
+ "integrity": "sha512-/sQRK00EmI7C6QNLFeFTjGzMoFX75puY31QFtZncFVVv1gi2U5KDNShcNTNV3R1g3sPRf4XnVKchtzIofPVixg==",
"dev": true,
"requires": {
- "get-stdin": "^4.0.1"
+ "rollup-pluginutils": "^2.8.2",
+ "string-to-template-literal": "^0.2.2",
+ "uglifycss": "0.0.29"
}
},
- "style-resources-loader": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/style-resources-loader/-/style-resources-loader-1.2.1.tgz",
- "integrity": "sha512-ekId7AwZRW429UjQo02CJTt0Y8GwoT9zidvJLq4lRTJbu0cghv9XNRmt9mS4MR41+gZwMRT0EpFzP68HDWLbXQ==",
+ "rollup-plugin-terser": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz",
+ "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==",
+ "dev": true,
"requires": {
- "glob": "^7.1.2",
- "is-callable": "^1.1.4",
- "is-plain-object": "^2.0.4",
- "is-promise": "^2.1.0",
- "loader-utils": "^1.1.0"
+ "@babel/code-frame": "^7.10.4",
+ "jest-worker": "^26.2.1",
+ "serialize-javascript": "^4.0.0",
+ "terser": "^5.0.0"
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+ "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.10.4"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+ "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.10.4",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "jest-worker": {
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.3.0.tgz",
+ "integrity": "sha512-Vmpn2F6IASefL+DVBhPzI2J9/GJUsqzomdeN+P+dK8/jKxbh8R3BtFnx3FIta7wYlPU62cpJMJQo4kuOowcMnw==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^7.0.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "terser": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.3.0.tgz",
+ "integrity": "sha512-XTT3D3AwxC54KywJijmY2mxZ8nJiEjBHVYzq8l9OaYuRFWeQNBwvipuzzYEP4e+/AVcd1hqG/CqgsdIRyT45Fg==",
+ "dev": true,
+ "requires": {
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
+ }
+ }
}
},
- "style-search": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
- "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=",
- "dev": true
- },
- "stylelint": {
- "version": "9.10.1",
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.10.1.tgz",
- "integrity": "sha512-9UiHxZhOAHEgeQ7oLGwrwoDR8vclBKlSX7r4fH0iuu0SfPwFaLkb1c7Q2j1cqg9P7IDXeAV2TvQML/fRQzGBBQ==",
+ "rollup-plugin-workbox": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-workbox/-/rollup-plugin-workbox-6.1.1.tgz",
+ "integrity": "sha512-K3J3qx8iGikE896s3GDwQhiFToE9ZNkOx2k0jLCOMlFFU1bfY332Z3/qZPdDJV5Zc8U3sOJvD70JjV/aEQD5ew==",
"dev": true,
"requires": {
- "autoprefixer": "^9.0.0",
- "balanced-match": "^1.0.0",
- "chalk": "^2.4.1",
- "cosmiconfig": "^5.0.0",
- "debug": "^4.0.0",
- "execall": "^1.0.0",
- "file-entry-cache": "^4.0.0",
- "get-stdin": "^6.0.0",
- "global-modules": "^2.0.0",
- "globby": "^9.0.0",
- "globjoin": "^0.1.4",
- "html-tags": "^2.0.0",
- "ignore": "^5.0.4",
- "import-lazy": "^3.1.0",
- "imurmurhash": "^0.1.4",
- "known-css-properties": "^0.11.0",
- "leven": "^2.1.0",
- "lodash": "^4.17.4",
- "log-symbols": "^2.0.0",
- "mathml-tag-names": "^2.0.1",
- "meow": "^5.0.0",
- "micromatch": "^3.1.10",
- "normalize-selector": "^0.2.0",
- "pify": "^4.0.0",
- "postcss": "^7.0.13",
- "postcss-html": "^0.36.0",
- "postcss-jsx": "^0.36.0",
- "postcss-less": "^3.1.0",
- "postcss-markdown": "^0.36.0",
- "postcss-media-query-parser": "^0.2.3",
- "postcss-reporter": "^6.0.0",
- "postcss-resolve-nested-selector": "^0.1.1",
- "postcss-safe-parser": "^4.0.0",
- "postcss-sass": "^0.3.5",
- "postcss-scss": "^2.0.0",
- "postcss-selector-parser": "^3.1.0",
- "postcss-syntax": "^0.36.2",
- "postcss-value-parser": "^3.3.0",
- "resolve-from": "^4.0.0",
- "signal-exit": "^3.0.2",
- "slash": "^2.0.0",
- "specificity": "^0.4.1",
- "string-width": "^3.0.0",
- "style-search": "^0.1.0",
- "sugarss": "^2.0.0",
- "svg-tags": "^1.0.0",
- "table": "^5.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
- "dev": true
- },
- "autoprefixer": {
- "version": "9.5.0",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.5.0.tgz",
- "integrity": "sha512-hMKcyHsZn5+qL6AUeP3c8OyuteZ4VaUlg+fWbyl8z7PqsKHF/Bf8/px3K6AT8aMzDkBo8Bc11245MM+itDBOxQ==",
+ "@rollup/plugin-node-resolve": "^11.0.1",
+ "@rollup/plugin-replace": "^2.3.4",
+ "pretty-bytes": "^5.5.0",
+ "rollup-plugin-terser": "^7.0.2",
+ "workbox-build": "^6.0.2"
+ },
+ "dependencies": {
+ "@hapi/joi": {
+ "version": "16.1.8",
+ "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-16.1.8.tgz",
+ "integrity": "sha512-wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg==",
"dev": true,
"requires": {
- "browserslist": "^4.4.2",
- "caniuse-lite": "^1.0.30000947",
- "normalize-range": "^0.1.2",
- "num2fraction": "^1.2.2",
- "postcss": "^7.0.14",
- "postcss-value-parser": "^3.3.1"
+ "@hapi/address": "^2.1.2",
+ "@hapi/formula": "^1.2.0",
+ "@hapi/hoek": "^8.2.4",
+ "@hapi/pinpoint": "^1.0.2",
+ "@hapi/topo": "^3.1.3"
}
},
- "browserslist": {
- "version": "4.5.2",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.5.2.tgz",
- "integrity": "sha512-zmJVLiKLrzko0iszd/V4SsjTaomFeoVzQGYYOYgRgsbh7WNh95RgDB0CmBdFWYs/3MyFSt69NypjL/h3iaddKQ==",
+ "@types/resolve": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
+ "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==",
"dev": true,
"requires": {
- "caniuse-lite": "^1.0.30000951",
- "electron-to-chromium": "^1.3.116",
- "node-releases": "^1.1.11"
+ "@types/node": "*"
}
},
- "camelcase": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "crypto-random-string": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
+ "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
"dev": true
},
- "camelcase-keys": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz",
- "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
+ "fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
"dev": true,
"requires": {
- "camelcase": "^4.1.0",
- "map-obj": "^2.0.0",
- "quick-lru": "^1.0.0"
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
}
},
- "cosmiconfig": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.0.tgz",
- "integrity": "sha512-nxt+Nfc3JAqf4WIWd0jXLjTJZmsPLrA9DDc4nRw2KFJQJK7DNooqSXrNI7tzLG50CF8axczly5UV929tBmh/7g==",
+ "jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"dev": true,
"requires": {
- "import-fresh": "^2.0.0",
- "is-directory": "^0.3.1",
- "js-yaml": "^3.13.0",
- "parse-json": "^4.0.0"
+ "graceful-fs": "^4.1.6",
+ "universalify": "^2.0.0"
}
},
- "debug": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
- "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "source-map": {
+ "version": "0.8.0-beta.0",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz",
+ "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==",
"dev": true,
"requires": {
- "ms": "^2.1.1"
+ "whatwg-url": "^7.0.0"
}
},
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
- },
- "get-stdin": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz",
- "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
+ "strip-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz",
+ "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==",
"dev": true
},
- "indent-string": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
- "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
+ "temp-dir": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz",
+ "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==",
"dev": true
},
- "js-yaml": {
- "version": "3.13.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.0.tgz",
- "integrity": "sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ==",
+ "tempy": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz",
+ "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==",
"dev": true,
"requires": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
+ "is-stream": "^2.0.0",
+ "temp-dir": "^2.0.0",
+ "type-fest": "^0.16.0",
+ "unique-string": "^2.0.0"
}
},
- "load-json-file": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
- "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+ "type-fest": {
+ "version": "0.16.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz",
+ "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==",
+ "dev": true
+ },
+ "unique-string": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
+ "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^4.0.0",
- "pify": "^3.0.0",
- "strip-bom": "^3.0.0"
+ "crypto-random-string": "^2.0.0"
+ }
+ },
+ "universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "dev": true
+ },
+ "workbox-background-sync": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.1.2.tgz",
+ "integrity": "sha512-rdXbGCI7KIxlw/rtVc3Bfp7S2ylZ7u+bSPoW8W6bxBR4RsSSagNIJOvkiS1+3zZOwvNcUxcRvVhDcwDz1cBbhQ==",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^6.1.2"
+ }
+ },
+ "workbox-broadcast-update": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.1.2.tgz",
+ "integrity": "sha512-pISOgOMH5pRVBlnvverxoaMgZzxdopzozuyjAt6UcctOjvuISQyTGa28C4qQ6XN20/rb3tk3n94N122wxicGXg==",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^6.1.2"
+ }
+ },
+ "workbox-build": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.1.2.tgz",
+ "integrity": "sha512-Px9amQd46uJh37ZWoT2LIcXTgBEZAOB28otxqJRNS4jpUhtANHQG3yX6AhwPdcw6xTV5ufLXizBCkF8z/cox0A==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.11.1",
+ "@babel/preset-env": "^7.11.0",
+ "@babel/runtime": "^7.11.2",
+ "@hapi/joi": "^16.1.8",
+ "@rollup/plugin-babel": "^5.2.0",
+ "@rollup/plugin-node-resolve": "^9.0.0",
+ "@rollup/plugin-replace": "^2.4.1",
+ "@surma/rollup-plugin-off-main-thread": "^1.4.1",
+ "common-tags": "^1.8.0",
+ "fast-json-stable-stringify": "^2.1.0",
+ "fs-extra": "^9.0.1",
+ "glob": "^7.1.6",
+ "lodash": "^4.17.20",
+ "pretty-bytes": "^5.3.0",
+ "rollup": "^2.25.0",
+ "rollup-plugin-terser": "^7.0.0",
+ "source-map": "^0.8.0-beta.0",
+ "source-map-url": "^0.4.0",
+ "stringify-object": "^3.3.0",
+ "strip-comments": "^2.0.1",
+ "tempy": "^0.6.0",
+ "upath": "^1.2.0",
+ "workbox-background-sync": "^6.1.2",
+ "workbox-broadcast-update": "^6.1.2",
+ "workbox-cacheable-response": "^6.1.2",
+ "workbox-core": "^6.1.2",
+ "workbox-expiration": "^6.1.2",
+ "workbox-google-analytics": "^6.1.2",
+ "workbox-navigation-preload": "^6.1.2",
+ "workbox-precaching": "^6.1.2",
+ "workbox-range-requests": "^6.1.2",
+ "workbox-recipes": "^6.1.2",
+ "workbox-routing": "^6.1.2",
+ "workbox-strategies": "^6.1.2",
+ "workbox-streams": "^6.1.2",
+ "workbox-sw": "^6.1.2",
+ "workbox-window": "^6.1.2"
},
"dependencies": {
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true
+ "@rollup/plugin-node-resolve": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-9.0.0.tgz",
+ "integrity": "sha512-gPz+utFHLRrd41WMP13Jq5mqqzHL3OXrfj3/MkSyB6UBIcuNt9j60GCbarzMzdf1VHFpOxfQh/ez7wyadLMqkg==",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^3.1.0",
+ "@types/resolve": "1.17.1",
+ "builtin-modules": "^3.1.0",
+ "deepmerge": "^4.2.2",
+ "is-module": "^1.0.0",
+ "resolve": "^1.17.0"
+ }
}
}
},
- "map-obj": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
- "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=",
- "dev": true
- },
- "meow": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz",
- "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==",
+ "workbox-cacheable-response": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.1.2.tgz",
+ "integrity": "sha512-zSTQWJU+CBHC90N/Dccb9n0IzbTsmnl28usKOlVYbfHS5wit3izpD7djqqHzgzyS+gdemRjY4s02VV9WvyeD1w==",
"dev": true,
"requires": {
- "camelcase-keys": "^4.0.0",
- "decamelize-keys": "^1.0.0",
- "loud-rejection": "^1.0.0",
- "minimist-options": "^3.0.1",
- "normalize-package-data": "^2.3.4",
- "read-pkg-up": "^3.0.0",
- "redent": "^2.0.0",
- "trim-newlines": "^2.0.0",
- "yargs-parser": "^10.0.0"
+ "workbox-core": "^6.1.2"
}
},
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true
- },
- "path-type": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
- "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "workbox-expiration": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.1.2.tgz",
+ "integrity": "sha512-86cXz8Ae5cAJMgJ6aD/8E1NMNON4qGnE4ir1G3VuOu1xLsx2ItbbXmz6b0BB2dZ+kX6BDwqE0wkgS5As5Sds7g==",
"dev": true,
"requires": {
- "pify": "^3.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true
- }
+ "workbox-core": "^6.1.2"
}
},
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true
+ "workbox-google-analytics": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.1.2.tgz",
+ "integrity": "sha512-7mO/gMms1yivnoVPnm8LXYHV2SsHBxTijYNXx032nzMX0gpBKJfRHmNvZDVRvn2L6YRxFiMg0x9JuHe2b2wSeg==",
+ "dev": true,
+ "requires": {
+ "workbox-background-sync": "^6.1.2",
+ "workbox-core": "^6.1.2",
+ "workbox-routing": "^6.1.2",
+ "workbox-strategies": "^6.1.2"
+ }
},
- "postcss": {
- "version": "7.0.14",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz",
- "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==",
+ "workbox-navigation-preload": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.1.2.tgz",
+ "integrity": "sha512-A41yO/mLjHMNV1EGWFTDExYAYkNvdtu2U0deRNL3HKKEMomqhLfFHJVg/b2jyarMf9Iosm7jHFbbTr8hiaMWwA==",
"dev": true,
"requires": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
- },
- "dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- }
+ "workbox-core": "^6.1.2"
}
},
- "postcss-selector-parser": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
- "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "workbox-range-requests": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.1.2.tgz",
+ "integrity": "sha512-VNwg8DKpQtIRBQ+3GPAv7/OFjs1AdJDt06BJOnNxy4NiY3/Abhjry5P7SJ8uXMNwxiSHKpcLY8nAF+YVYlLuRQ==",
"dev": true,
"requires": {
- "dot-prop": "^4.1.1",
- "indexes-of": "^1.0.1",
- "uniq": "^1.0.1"
+ "workbox-core": "^6.1.2"
}
},
- "read-pkg": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
- "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+ "workbox-routing": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.1.2.tgz",
+ "integrity": "sha512-aRcqO+KX9A0J5W6hEeEpGhT6Lesqd3WfgaqlSD5LRajm0vAgYnlQzY37w6uC55Ev7M5Gh/xg0lA99qKc6ozsEA==",
"dev": true,
"requires": {
- "load-json-file": "^4.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^3.0.0"
+ "workbox-core": "^6.1.2"
}
},
- "read-pkg-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
- "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
+ "workbox-strategies": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.1.2.tgz",
+ "integrity": "sha512-IX7UNePHmmfb1dcXSxgcephYShnLc0pmP3MRT/TZGjv8f0qcZYH7Sr/lTmwaxGXQL8yCSCrQICZwJnHLw2G5Ng==",
"dev": true,
"requires": {
- "find-up": "^2.0.0",
- "read-pkg": "^3.0.0"
+ "workbox-core": "^6.1.2"
}
},
- "redent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz",
- "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
+ "workbox-streams": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.1.2.tgz",
+ "integrity": "sha512-iAHamHNZPSfN8k2QMrfei6/2FrReSHCkQUi4gU4B+tDXi4lY33/iU3+xlWLsMunLzoJhtPChDLG10s+EU5egvQ==",
"dev": true,
"requires": {
- "indent-string": "^3.0.0",
- "strip-indent": "^2.0.0"
+ "workbox-core": "^6.1.2",
+ "workbox-routing": "^6.1.2"
}
},
- "resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "workbox-sw": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.1.2.tgz",
+ "integrity": "sha512-daxYjELQlNmGLeQolz29vkiVKMcAzZrSv5MLPAghvid6sajpq9x+FfMGriWaZcpyGZVKStAf6XzUbvvm0sJ/HA==",
"dev": true
},
- "slash": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
- "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
- "dev": true
+ "workbox-window": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.1.2.tgz",
+ "integrity": "sha512-SXOAv56PWHzLhJcyQGPio1OXGzSza814lc2D42+go8CmeNIJDb03nzUi1FGMF4Tt1F7h5q8IYzq5bPQLTZ7IKQ==",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^6.1.2"
+ }
+ }
+ }
+ },
+ "rollup-plugin-workbox-inject": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-workbox-inject/-/rollup-plugin-workbox-inject-2.0.0.tgz",
+ "integrity": "sha512-sJ/TnRfGobXEGUSokOgRiEnPLJCBw9TF/q7EbYGRyN9Im7PVXsLKwfkgmtXb9/0/5GhK/97bcdYBR8V50YWyVA==",
+ "dev": true,
+ "requires": {
+ "chalk": "^3.0.0",
+ "fast-json-stable-stringify": "^2.1.0",
+ "pretty-bytes": "^5.3.0",
+ "upath": "^1.2.0",
+ "workbox-build": "^5.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
},
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
"dev": true,
"requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
}
},
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
- "ansi-regex": "^4.1.0"
+ "color-name": "~1.1.4"
}
},
- "strip-indent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz",
- "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "rollup-pluginutils": {
+ "version": "2.8.2",
+ "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
+ "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
+ "dev": true,
+ "requires": {
+ "estree-walker": "^0.6.1"
+ },
+ "dependencies": {
+ "estree-walker": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
+ "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
+ "dev": true
+ }
+ }
+ },
+ "run-parallel": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
+ "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==",
+ "dev": true
+ },
+ "rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ }
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true,
+ "requires": {
+ "ret": "~0.1.10"
+ }
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "send": {
+ "version": "0.17.1",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
+ "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
+ "requires": {
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "destroy": "~1.0.4",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "~1.7.2",
+ "mime": "1.6.0",
+ "ms": "2.1.1",
+ "on-finished": "~2.3.0",
+ "range-parser": "~1.2.1",
+ "statuses": "~1.5.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
+ }
+ }
+ },
+ "serialize-javascript": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
+ "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
+ "dev": true,
+ "requires": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "serve-static": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
+ "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
+ "requires": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.17.1"
+ }
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
+ },
+ "set-value": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
+ "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-extendable": "^0.1.1",
+ "is-plain-object": "^2.0.3",
+ "split-string": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "setprototypeof": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
+ "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
+ },
+ "shady-css-scoped-element": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/shady-css-scoped-element/-/shady-css-scoped-element-0.0.2.tgz",
+ "integrity": "sha512-Dqfl70x6JiwYDujd33ZTbtCK0t52E7+H2swdWQNSTzfsolSa6LJHnTpN4T9OpJJEq4bxuzHRLFO9RBcy/UfrMQ==",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "color-name": "~1.1.4"
}
},
- "trim-newlines": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz",
- "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
- },
- "yargs-parser": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
- "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
- "dev": true,
- "requires": {
- "camelcase": "^4.1.0"
- }
}
}
},
- "stylelint-config-recommended": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-2.1.0.tgz",
- "integrity": "sha512-ajMbivOD7JxdsnlS5945KYhvt7L/HwN6YeYF2BH6kE4UCLJR0YvXMf+2j7nQpJyYLZx9uZzU5G1ZOSBiWAc6yA==",
- "dev": true
- },
- "stylelint-config-standard": {
- "version": "18.2.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-18.2.0.tgz",
- "integrity": "sha512-07x0TaSIzvXlbOioUU4ORkCIM07kyIuojkbSVCyFWNVgXMXYHfhnQSCkqu+oHWJf3YADAnPGWzdJ53NxkoJ7RA==",
- "dev": true,
- "requires": {
- "stylelint-config-recommended": "^2.1.0"
- }
- },
- "stylelint-order": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-1.0.0.tgz",
- "integrity": "sha512-2IVM8GzeKIDQDTETNdmgX99ywGrb7OqFWkniCw7QLqS/xONPGMLY/xAQnvGcUS3oBSo8znsoshsWVBqPz2Kv4Q==",
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
"dev": true,
"requires": {
- "lodash": "^4.17.10",
- "postcss": "^7.0.2",
- "postcss-sorting": "^4.0.0"
+ "base": "^0.11.1",
+ "debug": "^2.2.0",
+ "define-property": "^0.2.5",
+ "extend-shallow": "^2.0.1",
+ "map-cache": "^0.2.2",
+ "source-map": "^0.5.6",
+ "source-map-resolve": "^0.5.0",
+ "use": "^3.1.0"
},
"dependencies": {
- "postcss": {
- "version": "7.0.5",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz",
- "integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==",
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^0.1.0"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.5.0"
+ "is-extendable": "^0.1.0"
}
}
}
},
- "stylelint-processor-html": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/stylelint-processor-html/-/stylelint-processor-html-1.0.0.tgz",
- "integrity": "sha1-aJK2soVaRfApHNhFGR1pCBMKKRg=",
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
"dev": true,
"requires": {
- "htmlparser2": "^3.9.1"
+ "define-property": "^1.0.0",
+ "isobject": "^3.0.0",
+ "snapdragon-util": "^3.0.1"
},
"dependencies": {
- "domelementtype": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
- "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=",
- "dev": true
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "^1.0.0"
+ }
},
- "domhandler": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
- "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
"requires": {
- "domelementtype": "1"
+ "kind-of": "^6.0.0"
}
},
- "htmlparser2": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz",
- "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==",
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
"requires": {
- "domelementtype": "^1.3.0",
- "domhandler": "^2.3.0",
- "domutils": "^1.5.1",
- "entities": "^1.1.1",
- "inherits": "^2.0.1",
- "readable-stream": "^3.0.6"
+ "kind-of": "^6.0.0"
}
},
- "readable-stream": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.0.6.tgz",
- "integrity": "sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg==",
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
"requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
+ "is-accessor-descriptor": "^1.0.0",
+ "is-data-descriptor": "^1.0.0",
+ "kind-of": "^6.0.2"
}
}
}
},
- "stylelint-scss": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.3.2.tgz",
- "integrity": "sha512-0x+nD1heoMJYOfi3FfGcz3Hrwhcm+Qyq+BuvoBv5v9xrZZ1aziRXQauuhjwb87gWAa9MBzxhfUqBnvTUrHlLjA==",
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
"dev": true,
"requires": {
- "lodash": "^4.17.10",
- "postcss-media-query-parser": "^0.2.3",
- "postcss-resolve-nested-selector": "^0.1.1",
- "postcss-selector-parser": "^4.0.0",
- "postcss-value-parser": "^3.3.0"
+ "kind-of": "^3.2.0"
},
"dependencies": {
- "cssesc": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-1.0.1.tgz",
- "integrity": "sha512-S2hzrpWvE6G/rW7i7IxJfWBYn27QWfOIncUW++8Rbo1VB5zsJDSVPcnI+Q8z7rhxT6/yZeLOCja4cZnghJrNGA==",
- "dev": true
- },
- "postcss-selector-parser": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-4.0.0.tgz",
- "integrity": "sha512-5h+MvEjnzu1qy6MabjuoPatsGAjjDV9B24e7Cktjl+ClNtjVjmvAXjOFQr1u7RlWULKNGYaYVE4s+DIIQ4bOGA==",
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "cssesc": "^1.0.1",
- "indexes-of": "^1.0.1",
- "uniq": "^1.0.1"
+ "is-buffer": "^1.1.5"
}
}
}
},
- "stylelint-webpack-plugin": {
- "version": "0.10.5",
- "resolved": "https://registry.npmjs.org/stylelint-webpack-plugin/-/stylelint-webpack-plugin-0.10.5.tgz",
- "integrity": "sha512-jtYx3aJ2qDMvBMswe5NRPTO7kJgAKafc6GilAkWDp/ewoAmnoxA6TsYMnIPtLECRLwXevaCPvlh2JEUMGZCoUQ==",
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "source-map-resolve": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
"dev": true,
"requires": {
- "arrify": "^1.0.1",
- "micromatch": "^3.1.8",
- "object-assign": "^4.1.0",
- "ramda": "^0.25.0"
+ "atob": "^2.1.2",
+ "decode-uri-component": "^0.2.0",
+ "resolve-url": "^0.2.1",
+ "source-map-url": "^0.4.0",
+ "urix": "^0.1.0"
}
},
- "sugarss": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz",
- "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==",
+ "source-map-support": {
+ "version": "0.5.16",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz",
+ "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==",
"dev": true,
"requires": {
- "postcss": "^7.0.2"
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
},
"dependencies": {
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "postcss": {
- "version": "7.0.14",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz",
- "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.2",
- "source-map": "^0.6.1",
- "supports-color": "^6.1.0"
- }
- },
- "supports-color": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
- "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "source-map-url": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
+ },
+ "sourcemap-codec": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
+ "dev": true
+ },
+ "spawn-command": {
+ "version": "0.0.2-1",
+ "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz",
+ "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=",
+ "dev": true
+ },
+ "spdx-correct": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
+ "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+ "dev": true,
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+ "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+ "dev": true
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+ "dev": true,
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
+ "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
+ "dev": true
+ },
+ "split-on-first": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz",
+ "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==",
+ "dev": true
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^3.0.0"
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
+ "requires": {
+ "define-property": "^0.2.5",
+ "object-copy": "^0.1.0"
+ },
+ "dependencies": {
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
- "has-flag": "^3.0.0"
+ "is-descriptor": "^0.1.0"
}
}
}
},
+ "statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
+ },
+ "strict-uri-encode": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz",
+ "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=",
+ "dev": true
+ },
+ "string-to-template-literal": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/string-to-template-literal/-/string-to-template-literal-0.2.2.tgz",
+ "integrity": "sha512-9lSNOLoQKhtdHkp1avgpraImiSvBBgxJQwkVriDDcHmvPsnCZpLbAMJnJxj9Mf1GkziHBo3vwxipukhA+KCC0g==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
+ "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "string.prototype.trimend": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz",
+ "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3"
+ }
+ },
+ "string.prototype.trimstart": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz",
+ "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3"
+ }
+ },
+ "stringify-object": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
+ "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==",
+ "dev": true,
+ "requires": {
+ "get-own-enumerable-property-symbols": "^3.0.0",
+ "is-obj": "^1.0.1",
+ "is-regexp": "^1.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ },
+ "strip-comments": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz",
+ "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==",
+ "dev": true,
+ "requires": {
+ "babel-extract-comments": "^1.0.0",
+ "babel-plugin-transform-object-rest-spread": "^6.26.0"
+ }
+ },
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
+ },
+ "strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true
+ },
+ "style-mod": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz",
+ "integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw=="
+ },
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
"requires": {
"has-flag": "^3.0.0"
}
},
- "svg-tags": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
- "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q="
- },
- "svgo": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz",
- "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=",
+ "supports-hyperlinks": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-1.0.1.tgz",
+ "integrity": "sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==",
+ "dev": true,
"requires": {
- "coa": "~1.0.1",
- "colors": "~1.1.2",
- "csso": "~2.3.1",
- "js-yaml": "~3.7.0",
- "mkdirp": "~0.5.1",
- "sax": "~1.2.1",
- "whet.extend": "~0.9.9"
+ "has-flag": "^2.0.0",
+ "supports-color": "^5.0.0"
},
"dependencies": {
- "esprima": {
- "version": "2.7.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
- "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE="
- },
- "js-yaml": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz",
- "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=",
- "requires": {
- "argparse": "^1.0.7",
- "esprima": "^2.6.0"
- }
+ "has-flag": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
+ "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
+ "dev": true
}
}
},
+ "systemjs": {
+ "version": "6.8.3",
+ "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-6.8.3.tgz",
+ "integrity": "sha512-UcTY+FEA1B7e+bpJk1TI+a9Na6LG7wFEqW7ED16cLqLuQfI/9Ri0rsXm3tKlIgNoHyLHZycjdAOijzNbzelgwA==",
+ "dev": true
+ },
"table": {
- "version": "5.2.3",
- "resolved": "https://registry.npmjs.org/table/-/table-5.2.3.tgz",
- "integrity": "sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ==",
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
"dev": true,
"requires": {
- "ajv": "^6.9.1",
- "lodash": "^4.17.11",
- "slice-ansi": "^2.1.0",
- "string-width": "^3.0.0"
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
},
"dependencies": {
"ajv": {
- "version": "6.10.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz",
- "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==",
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
"dev": true,
"requires": {
- "fast-deep-equal": "^2.0.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
"uri-js": "^4.2.2"
}
},
- "ansi-regex": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
- "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
"dev": true
- },
- "string-width": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
- "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
- "dev": true,
- "requires": {
- "emoji-regex": "^7.0.1",
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^5.1.0"
- }
- },
- "strip-ansi": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
- "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
- "dev": true,
- "requires": {
- "ansi-regex": "^4.1.0"
- }
}
}
},
- "tapable": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz",
- "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A=="
- },
- "tar": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz",
- "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==",
+ "table-layout": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.1.tgz",
+ "integrity": "sha512-dEquqYNJiGwY7iPfZ3wbXDI944iqanTSchrACLL2nOB+1r+h1Nzu2eH+DuPPvWvm5Ry7iAPeFlgEtP5bIp5U7Q==",
"dev": true,
"requires": {
- "block-stream": "*",
- "fstream": "^1.0.12",
- "inherits": "2"
+ "array-back": "^4.0.1",
+ "deep-extend": "~0.6.0",
+ "typical": "^5.2.0",
+ "wordwrapjs": "^4.0.0"
+ },
+ "dependencies": {
+ "array-back": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.1.tgz",
+ "integrity": "sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg==",
+ "dev": true
+ },
+ "typical": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz",
+ "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==",
+ "dev": true
+ }
}
},
- "tar-stream": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz",
- "integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==",
+ "tape": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/tape/-/tape-2.3.3.tgz",
+ "integrity": "sha1-Lnzgox3wn41oUWZKcYQuDKUFevc=",
"dev": true,
"requires": {
- "bl": "^1.0.0",
- "buffer-alloc": "^1.1.0",
- "end-of-stream": "^1.0.0",
- "fs-constants": "^1.0.0",
- "readable-stream": "^2.3.0",
- "to-buffer": "^1.1.0",
- "xtend": "^4.0.0"
- }
- },
- "through": {
- "version": "2.3.8",
- "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
- },
- "through2": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
- "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
- "requires": {
- "readable-stream": "~2.3.6",
- "xtend": "~4.0.1"
+ "deep-equal": "~0.1.0",
+ "defined": "~0.0.0",
+ "inherits": "~2.0.1",
+ "jsonify": "~0.0.0",
+ "resumer": "~0.0.0",
+ "through": "~2.3.4"
+ },
+ "dependencies": {
+ "deep-equal": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.1.2.tgz",
+ "integrity": "sha1-skbCuApXCkfBG+HZvRBw7IeLh84=",
+ "dev": true
+ }
}
},
- "thunkify": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz",
- "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=",
+ "temp-dir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
+ "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=",
"dev": true
},
- "timers-browserify": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
- "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==",
+ "tempy": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.3.0.tgz",
+ "integrity": "sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==",
+ "dev": true,
"requires": {
- "setimmediate": "^1.0.4"
+ "temp-dir": "^1.0.0",
+ "type-fest": "^0.3.1",
+ "unique-string": "^1.0.0"
}
},
- "tiny-emitter": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz",
- "integrity": "sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow=="
- },
- "tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "terser": {
+ "version": "4.6.7",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.7.tgz",
+ "integrity": "sha512-fmr7M1f7DBly5cX2+rFDvmGBAaaZyPrHYK4mMdHEDAdNTqXSZgSOfqsfGq2HqPGT/1V0foZZuCZFx8CHKgAk3g==",
+ "dev": true,
"requires": {
- "os-tmpdir": "~1.0.2"
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
}
},
- "to-arraybuffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
- "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M="
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
},
- "to-buffer": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
- "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==",
+ "through": {
+ "version": "2.3.8",
+ "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
"dev": true
},
"to-fast-properties": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
- "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
},
"to-object-path": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "dev": true,
"requires": {
"kind-of": "^3.0.2"
},
@@ -18264,6 +22194,7 @@
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
@@ -18274,6 +22205,7 @@
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
"integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
"requires": {
"define-property": "^2.0.2",
"extend-shallow": "^3.0.2",
@@ -18285,47 +22217,22 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
"requires": {
"is-number": "^3.0.0",
"repeat-string": "^1.6.1"
}
},
- "topo": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/topo/-/topo-3.0.0.tgz",
- "integrity": "sha512-Tlu1fGlR90iCdIPURqPiufqAlCZYzLjHYVVbcFWDMcX7+tK8hdZWAfsMrD/pBul9jqHHwFjNdf1WaxA9vTRRhw==",
- "dev": true,
- "requires": {
- "hoek": "5.x.x"
- }
- },
- "toposort": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz",
- "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk="
- },
- "tough-cookie": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
- "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
- "dev": true,
- "requires": {
- "psl": "^1.1.24",
- "punycode": "^1.4.1"
- },
- "dependencies": {
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
- "dev": true
- }
- }
+ "toidentifier": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
+ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
},
"tr46": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
"integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
+ "dev": true,
"requires": {
"punycode": "^2.1.0"
}
@@ -18336,117 +22243,19 @@
"integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
"dev": true
},
- "trim": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
- "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=",
- "dev": true
- },
- "trim-newlines": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
- "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
- "dev": true
- },
- "trim-right": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
- "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
- },
- "trim-trailing-lines": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.1.tgz",
- "integrity": "sha512-bWLv9BbWbbd7mlqqs2oQYnLD/U/ZqeJeJwbO0FG2zA1aTq+HTvxfHNKFa/HGCVyJpDiioUYaBhfiT6rgk+l4mg==",
- "dev": true
- },
- "trough": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.3.tgz",
- "integrity": "sha512-fwkLWH+DimvA4YCy+/nvJd61nWQQ2liO/nF/RjkTpiOGi+zxZzVkhb1mvbHIIW4b/8nDsYI8uTmAlc0nNkRMOw==",
+ "ts-simple-type": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/ts-simple-type/-/ts-simple-type-1.0.7.tgz",
+ "integrity": "sha512-zKmsCQs4dZaeSKjEA7pLFDv7FHHqAFLPd0Mr//OIJvu8M+4p4bgSFJwZSEBEg3ec9W7RzRz1vi8giiX0+mheBQ==",
"dev": true
},
- "true-case-path": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
- "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
- "dev": true,
- "requires": {
- "glob": "^7.1.2"
- }
- },
- "tryer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
- "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA=="
- },
- "ts-loader": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-5.2.2.tgz",
- "integrity": "sha512-vM/TrEKXBqRYq5yLatsXyKFnYSpv53klmGtrILGlNqcMsxPVi8+e4yr1Agbu9oMZepx/4szDVn5QpFo83IQdQg==",
- "dev": true,
- "requires": {
- "chalk": "^2.3.0",
- "enhanced-resolve": "^4.0.0",
- "loader-utils": "^1.0.2",
- "micromatch": "^3.1.4",
- "semver": "^5.0.1"
- },
- "dependencies": {
- "enhanced-resolve": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
- "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.2",
- "memory-fs": "^0.4.0",
- "tapable": "^1.0.0"
- }
- },
- "tapable": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.0.tgz",
- "integrity": "sha512-IlqtmLVaZA2qab8epUXbVWRn3aB1imbDMJtjB3nu4X0NqPkcY/JH9ZtCBWKHWPxs8Svi9tyo8w2dBoi07qZbBA==",
- "dev": true
- }
- }
- },
- "ts-node": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz",
- "integrity": "sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==",
- "dev": true,
- "requires": {
- "arrify": "^1.0.0",
- "buffer-from": "^1.1.0",
- "diff": "^3.1.0",
- "make-error": "^1.1.1",
- "minimist": "^1.2.0",
- "mkdirp": "^0.5.1",
- "source-map-support": "^0.5.6",
- "yn": "^2.0.0"
- },
- "dependencies": {
- "source-map-support": {
- "version": "0.5.9",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz",
- "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- }
- }
- },
"tsconfig-paths": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.6.0.tgz",
- "integrity": "sha512-mrqQIP2F4e03aMTCiPdedCIT300//+q0ET53o5WqqtQjmEICxP9yfz/sHTpPqXpssuJEzODsEzJaLRaf5J2X1g==",
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz",
+ "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==",
"dev": true,
"requires": {
"@types/json5": "^0.0.29",
- "deepmerge": "^2.0.1",
"json5": "^1.0.1",
"minimist": "^1.2.0",
"strip-bom": "^3.0.0"
@@ -18454,7 +22263,7 @@
"dependencies": {
"json5": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
"dev": true,
"requires": {
@@ -18464,312 +22273,149 @@
}
},
"tslib": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
- "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
+ "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
"dev": true
},
- "tslint": {
- "version": "5.11.0",
- "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.11.0.tgz",
- "integrity": "sha1-mPMMAurjzecAYgHkwzywi0hYHu0=",
- "dev": true,
- "requires": {
- "babel-code-frame": "^6.22.0",
- "builtin-modules": "^1.1.1",
- "chalk": "^2.3.0",
- "commander": "^2.12.1",
- "diff": "^3.2.0",
- "glob": "^7.1.1",
- "js-yaml": "^3.7.0",
- "minimatch": "^3.0.4",
- "resolve": "^1.3.2",
- "semver": "^5.3.0",
- "tslib": "^1.8.0",
- "tsutils": "^2.27.2"
- }
+ "tsscmp": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz",
+ "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==",
+ "dev": true
},
"tsutils": {
- "version": "2.29.0",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
- "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
+ "version": "3.19.0",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.19.0.tgz",
+ "integrity": "sha512-A7BaLUPvcQ1cxVu72YfD+UMI3SQPTDv/w4ol6TOwLyI0hwfG9EC+cYlhdflJTmtYTgZ3KqdPSe/otxU4K3kArg==",
"dev": true,
"requires": {
"tslib": "^1.8.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ }
}
},
- "ttf2woff": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/ttf2woff/-/ttf2woff-2.0.1.tgz",
- "integrity": "sha1-hxgyJAAksJ25VwkEx8GSi4BXyWk=",
- "requires": {
- "argparse": "^1.0.6",
- "microbuffer": "^1.0.0",
- "pako": "^1.0.0"
- }
- },
- "tty-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
- "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY="
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "dev": true
- },
"type-check": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
- "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
"dev": true,
"requires": {
- "prelude-ls": "~1.1.2"
+ "prelude-ls": "^1.2.1"
}
},
- "type-detect": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
- "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "type-fest": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz",
+ "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==",
"dev": true
},
"type-is": {
- "version": "1.6.16",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
- "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
"requires": {
"media-typer": "0.3.0",
- "mime-types": "~2.1.18"
+ "mime-types": "~2.1.24"
}
},
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
- },
"typescript": {
- "version": "2.9.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.2.tgz",
- "integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w==",
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz",
+ "integrity": "sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==",
"dev": true
},
- "uglify-js": {
- "version": "3.4.10",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz",
- "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==",
- "requires": {
- "commander": "~2.19.0",
- "source-map": "~0.6.1"
- },
- "dependencies": {
- "commander": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
- "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg=="
- }
- }
- },
- "uglify-to-browserify": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
- "optional": true
+ "typical": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
+ "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==",
+ "dev": true
},
- "uglifyjs-webpack-plugin": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz",
- "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==",
- "requires": {
- "cacache": "^10.0.4",
- "find-cache-dir": "^1.0.0",
- "schema-utils": "^0.4.5",
- "serialize-javascript": "^1.4.0",
- "source-map": "^0.6.1",
- "uglify-es": "^3.3.4",
- "webpack-sources": "^1.1.0",
- "worker-farm": "^1.5.2"
- },
- "dependencies": {
- "commander": {
- "version": "2.13.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz",
- "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA=="
- },
- "schema-utils": {
- "version": "0.4.7",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
- "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
- "requires": {
- "ajv": "^6.1.0",
- "ajv-keywords": "^3.1.0"
- }
- },
- "uglify-es": {
- "version": "3.3.9",
- "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz",
- "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==",
- "requires": {
- "commander": "~2.13.0",
- "source-map": "~0.6.1"
- }
- }
- }
+ "uglifycss": {
+ "version": "0.0.29",
+ "resolved": "https://registry.npmjs.org/uglifycss/-/uglifycss-0.0.29.tgz",
+ "integrity": "sha512-J2SQ2QLjiknNGbNdScaNZsXgmMGI0kYNrXaDlr4obnPW9ni1jljb1NeEVWAiTgZ8z+EBWP2ozfT9vpy03rjlMQ==",
+ "dev": true
},
- "unherit": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.1.tgz",
- "integrity": "sha512-+XZuV691Cn4zHsK0vkKYwBEwB74T3IZIcxrgn2E4rKwTfFyI1zCh7X7grwh9Re08fdPlarIdyWgI8aVB3F5A5g==",
- "dev": true,
- "requires": {
- "inherits": "^2.0.1",
- "xtend": "^4.0.1"
- }
+ "unicode-canonical-property-names-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
+ "dev": true
},
- "unified": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz",
- "integrity": "sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==",
+ "unicode-match-property-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
"dev": true,
"requires": {
- "@types/unist": "^2.0.0",
- "@types/vfile": "^3.0.0",
- "bail": "^1.0.0",
- "extend": "^3.0.0",
- "is-plain-obj": "^1.1.0",
- "trough": "^1.0.0",
- "vfile": "^3.0.0",
- "x-is-string": "^0.1.0"
- }
- },
- "union-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
- "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
- "requires": {
- "arr-union": "^3.1.0",
- "get-value": "^2.0.6",
- "is-extendable": "^0.1.1",
- "set-value": "^0.4.3"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "set-value": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
- "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.1",
- "to-object-path": "^0.3.0"
- }
- }
- }
- },
- "uniq": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
- "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8="
- },
- "uniqs": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
- "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI="
- },
- "unique-filename": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
- "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
- "requires": {
- "unique-slug": "^2.0.0"
- }
- },
- "unique-slug": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz",
- "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==",
- "requires": {
- "imurmurhash": "^0.1.4"
+ "unicode-canonical-property-names-ecmascript": "^1.0.4",
+ "unicode-property-aliases-ecmascript": "^1.0.4"
}
},
- "unist-util-find-all-after": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-1.0.2.tgz",
- "integrity": "sha512-nDl79mKpffXojLpCimVXnxhlH/jjaTnDuScznU9J4jjsaUtBdDbxmlc109XtcqxY4SDO0SwzngsxxW8DIISt1w==",
- "dev": true,
- "requires": {
- "unist-util-is": "^2.0.0"
- }
+ "unicode-match-property-value-ecmascript": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
+ "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==",
+ "dev": true
},
- "unist-util-is": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.2.tgz",
- "integrity": "sha512-YkXBK/H9raAmG7KXck+UUpnKiNmUdB+aBGrknfQ4EreE1banuzrKABx3jP6Z5Z3fMSPMQQmeXBlKpCbMwBkxVw==",
+ "unicode-property-aliases-ecmascript": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz",
+ "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==",
"dev": true
},
- "unist-util-remove-position": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.2.tgz",
- "integrity": "sha512-XxoNOBvq1WXRKXxgnSYbtCF76TJrRoe5++pD4cCBsssSiWSnPEktyFrFLE8LTk3JW5mt9hB0Sk5zn4x/JeWY7Q==",
+ "union-value": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
+ "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
"dev": true,
"requires": {
- "unist-util-visit": "^1.1.0"
+ "arr-union": "^3.1.0",
+ "get-value": "^2.0.6",
+ "is-extendable": "^0.1.1",
+ "set-value": "^2.0.1"
}
},
- "unist-util-stringify-position": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz",
- "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==",
- "dev": true
- },
- "unist-util-visit": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.0.tgz",
- "integrity": "sha512-FiGu34ziNsZA3ZUteZxSFaczIjGmksfSgdKqBfOejrrfzyUy5b7YrlzT1Bcvi+djkYDituJDy2XB7tGTeBieKw==",
+ "unique-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
+ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
"dev": true,
"requires": {
- "unist-util-visit-parents": "^2.0.0"
+ "crypto-random-string": "^1.0.0"
}
},
- "unist-util-visit-parents": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.0.1.tgz",
- "integrity": "sha512-6B0UTiMfdWql4cQ03gDTCSns+64Zkfo2OCbK31Ov0uMizEz+CJeAp0cgZVb5Fhmcd7Bct2iRNywejT0orpbqUA==",
+ "universal-url": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universal-url/-/universal-url-2.0.0.tgz",
+ "integrity": "sha512-3DLtXdm/G1LQMCnPj+Aw7uDoleQttNHp2g5FnNQKR6cP6taNWS1b/Ehjjx4PVyvejKi3TJyu8iBraKM4q3JQPg==",
"dev": true,
"requires": {
- "unist-util-is": "^2.1.2"
+ "hasurl": "^1.0.0",
+ "whatwg-url": "^7.0.0"
}
},
- "units-css": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/units-css/-/units-css-0.4.0.tgz",
- "integrity": "sha1-1iKGU6UZg9fBb/KPi53Dsf/tOgc=",
+ "universal-user-agent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz",
+ "integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==",
+ "dev": true,
"requires": {
- "isnumeric": "^0.2.0",
- "viewport-dimensions": "^0.2.0"
+ "os-name": "^3.1.0"
}
},
"universalify": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true
},
"unpipe": {
"version": "1.0.0",
@@ -18780,6 +22426,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
"integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "dev": true,
"requires": {
"has-value": "^0.3.1",
"isobject": "^3.0.0"
@@ -18789,6 +22436,7 @@
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
"integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
"requires": {
"get-value": "^2.0.3",
"has-values": "^0.1.4",
@@ -18799,6 +22447,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
"requires": {
"isarray": "1.0.0"
}
@@ -18808,107 +22457,60 @@
"has-values": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "dev": true
}
}
},
"upath": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
- "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw=="
- },
- "upper-case": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
- "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg="
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
+ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
+ "dev": true
},
"uri-js": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
- "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
+ "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
+ "dev": true,
"requires": {
"punycode": "^2.1.0"
}
},
- "urijs": {
- "version": "1.19.1",
- "resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.1.tgz",
- "integrity": "sha512-xVrGVi94ueCJNrBSTjWqjvtgvl3cyOTThp2zaMaFNGp3F542TR6sM3f2o8RqZl+AwteClSVmoCyt0ka4RjQOQg==",
- "dev": true
- },
"urix": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
- },
- "url": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
- "requires": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
- },
- "dependencies": {
- "punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
- }
- }
- },
- "url-join": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz",
- "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg="
- },
- "url-loader": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.6.2.tgz",
- "integrity": "sha512-h3qf9TNn53BpuXTTcpC+UehiRrl0Cv45Yr/xWayApjw6G8Bg2dGke7rIwDQ39piciWCWrC+WiqLjOh3SUp9n0Q==",
- "requires": {
- "loader-utils": "^1.0.2",
- "mime": "^1.4.1",
- "schema-utils": "^0.3.0"
- }
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
},
"use": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
- },
- "util": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
- "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
- "requires": {
- "inherits": "2.0.3"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
- },
- "utila": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz",
- "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw="
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true
},
"utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
},
- "uuid": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
+ "v8-compile-cache": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz",
+ "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==",
+ "dev": true
+ },
+ "valid-url": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz",
+ "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=",
+ "dev": true
},
"validate-npm-package-license": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
"integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "dev": true,
"requires": {
"spdx-correct": "^3.0.0",
"spdx-expression-parse": "^3.0.0"
@@ -18919,711 +22521,848 @@
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
},
- "vendors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz",
- "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ=="
+ "vscode-css-languageservice": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-4.3.0.tgz",
+ "integrity": "sha512-BkQAMz4oVHjr0oOAz5PdeE72txlLQK7NIwzmclfr+b6fj6I8POwB+VoXvrZLTbWt9hWRgfvgiQRkh5JwrjPJ5A==",
+ "dev": true,
+ "requires": {
+ "vscode-languageserver-textdocument": "^1.0.1",
+ "vscode-languageserver-types": "3.16.0-next.2",
+ "vscode-nls": "^4.1.2",
+ "vscode-uri": "^2.1.2"
+ }
},
- "verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "vscode-html-languageservice": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-3.1.0.tgz",
+ "integrity": "sha512-QAyRHI98bbEIBCqTzZVA0VblGU40na0txggongw5ZgTj9UVsVk5XbLT16O9OTcbqBGSqn0oWmFDNjK/XGIDcqg==",
"dev": true,
"requires": {
- "assert-plus": "^1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "^1.2.0"
+ "vscode-languageserver-textdocument": "^1.0.1",
+ "vscode-languageserver-types": "3.16.0-next.2",
+ "vscode-nls": "^4.1.2",
+ "vscode-uri": "^2.1.2"
}
},
- "vfile": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz",
- "integrity": "sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==",
+ "vscode-languageserver-textdocument": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.1.tgz",
+ "integrity": "sha512-UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA==",
+ "dev": true
+ },
+ "vscode-languageserver-types": {
+ "version": "3.16.0-next.2",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0-next.2.tgz",
+ "integrity": "sha512-QjXB7CKIfFzKbiCJC4OWC8xUncLsxo19FzGVp/ADFvvi87PlmBSCAtZI5xwGjF5qE0xkLf0jjKUn3DzmpDP52Q==",
+ "dev": true
+ },
+ "vscode-nls": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.2.tgz",
+ "integrity": "sha512-7bOHxPsfyuCqmP+hZXscLhiHwe7CSuFE4hyhbs22xPIhQ4jv99FcR4eBzfYYVLP356HNFpdvz63FFb/xw6T4Iw==",
+ "dev": true
+ },
+ "vscode-uri": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz",
+ "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==",
+ "dev": true
+ },
+ "w3c-keyname": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.4.tgz",
+ "integrity": "sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw=="
+ },
+ "web-component-analyzer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/web-component-analyzer/-/web-component-analyzer-1.1.6.tgz",
+ "integrity": "sha512-1PyBkb/jijDEVE+Pnk3DTmVHD8takipdvAwvZv1V8jIidsSIJ5nhN87Gs+4dpEb1vw48yp8dnbZKkvMYJ+C0VQ==",
"dev": true,
"requires": {
- "is-buffer": "^2.0.0",
- "replace-ext": "1.0.0",
- "unist-util-stringify-position": "^1.0.0",
- "vfile-message": "^1.0.0"
+ "fast-glob": "^3.2.2",
+ "ts-simple-type": "~1.0.5",
+ "typescript": "^3.8.3",
+ "yargs": "^15.3.1"
},
"dependencies": {
- "is-buffer": {
+ "@nodelib/fs.stat": {
"version": "2.0.3",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz",
- "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "cliui": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "fast-glob": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
+ "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.0",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.2",
+ "picomatch": "^2.2.1"
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "typescript": {
+ "version": "3.9.7",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz",
+ "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==",
+ "dev": true
+ },
+ "wrap-ansi": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "yargs": {
+ "version": "15.4.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
+ "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+ "dev": true,
+ "requires": {
+ "cliui": "^6.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^4.1.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^4.2.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^18.1.2"
+ }
+ },
+ "yargs-parser": {
+ "version": "18.1.3",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+ "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
}
}
},
- "vfile-location": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.4.tgz",
- "integrity": "sha512-KRL5uXQPoUKu+NGvQVL4XLORw45W62v4U4gxJ3vRlDfI9QsT4ZN1PNXn/zQpKUulqGDpYuT0XDfp5q9O87/y/w==",
+ "webidl-conversions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
+ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
"dev": true
},
- "vfile-message": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz",
- "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==",
+ "whatwg-fetch": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz",
+ "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==",
+ "dev": true
+ },
+ "whatwg-streams": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/whatwg-streams/-/whatwg-streams-0.1.1.tgz",
+ "integrity": "sha1-3VV1yWW84T2nbcDdSVYpqHVy504=",
"dev": true,
"requires": {
- "unist-util-stringify-position": "^1.1.1"
+ "bluebird": "~1.0.0",
+ "tape": "~2.3.2"
}
},
- "viewport-dimensions": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/viewport-dimensions/-/viewport-dimensions-0.2.0.tgz",
- "integrity": "sha1-3nQHR9tTh/0XJfUXXpG6x2r982w="
+ "whatwg-url": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
+ "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
+ "dev": true,
+ "requires": {
+ "lodash.sortby": "^4.7.0",
+ "tr46": "^1.0.1",
+ "webidl-conversions": "^4.0.2"
+ }
},
- "vm-browserify": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
- "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
"requires": {
- "indexof": "0.0.1"
+ "isexe": "^2.0.0"
}
},
- "vue": {
- "version": "2.5.17",
- "resolved": "https://registry.npmjs.org/vue/-/vue-2.5.17.tgz",
- "integrity": "sha512-mFbcWoDIJi0w0Za4emyLiW72Jae0yjANHbCVquMKijcavBGypqlF7zHRgMa5k4sesdv7hv2rB4JPdZfR+TPfhQ=="
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "dev": true
+ },
+ "windows-release": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.3.tgz",
+ "integrity": "sha512-OSOGH1QYiW5yVor9TtmXKQvt2vjQqbYS+DqmsZw+r7xDwLXEeT3JGW0ZppFmHx4diyXmxt238KFR3N9jzevBRg==",
+ "dev": true,
+ "requires": {
+ "execa": "^1.0.0"
+ }
},
- "vue-class-component": {
- "version": "6.3.2",
- "resolved": "https://registry.npmjs.org/vue-class-component/-/vue-class-component-6.3.2.tgz",
- "integrity": "sha512-cH208IoM+jgZyEf/g7mnFyofwPDJTM/QvBNhYMjqGB8fCsRyTf68rH2ISw/G20tJv+5mIThQ3upKwoL4jLTr1A=="
+ "word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "dev": true
},
- "vue-hot-reload-api": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.3.tgz",
- "integrity": "sha512-KmvZVtmM26BQOMK1rwUZsrqxEGeKiYSZGA7SNWE6uExx8UX/cj9hq2MRV/wWC3Cq6AoeDGk57rL9YMFRel/q+g=="
+ "wordwrapjs": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.0.tgz",
+ "integrity": "sha512-Svqw723a3R34KvsMgpjFBYCgNOSdcW3mQFK4wIfhGQhtaFVOJmdYoXgi63ne3dTlWgatVcUc7t4HtQ/+bUVIzQ==",
+ "dev": true,
+ "requires": {
+ "reduce-flatten": "^2.0.0",
+ "typical": "^5.0.0"
+ },
+ "dependencies": {
+ "typical": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz",
+ "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==",
+ "dev": true
+ }
+ }
},
- "vue-i18n": {
- "version": "8.2.1",
- "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.2.1.tgz",
- "integrity": "sha512-eiqkUBP9uoADmHa1vz0jLS/JNvR+dODjn2nz14/ZD14hTaWpbOXoUZ0C5Nd2vbP6vOaxXjmkvkzJn/VISvX1BQ=="
- },
- "vue-loader": {
- "version": "13.7.3",
- "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-13.7.3.tgz",
- "integrity": "sha512-ACCwbfeC6HjY2pnDii+Zer+MZ6sdOtwvLmDXRK/BoD3WNR551V22R6KEagwHoTRJ0ZlIhpCBkptpCU6+Ri/05w==",
- "requires": {
- "consolidate": "^0.14.0",
- "hash-sum": "^1.0.2",
- "loader-utils": "^1.1.0",
- "lru-cache": "^4.1.1",
- "postcss": "^6.0.8",
- "postcss-load-config": "^1.1.0",
- "postcss-selector-parser": "^2.0.0",
- "prettier": "^1.7.0",
- "resolve": "^1.4.0",
- "source-map": "^0.6.1",
- "vue-hot-reload-api": "^2.2.0",
- "vue-style-loader": "^3.0.0",
- "vue-template-es2015-compiler": "^1.6.0"
- },
- "dependencies": {
- "cosmiconfig": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz",
- "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==",
- "requires": {
- "is-directory": "^0.3.1",
- "js-yaml": "^3.4.3",
- "minimist": "^1.2.0",
- "object-assign": "^4.1.0",
- "os-homedir": "^1.0.1",
- "parse-json": "^2.2.0",
- "require-from-string": "^1.1.0"
+ "workbox-background-sync": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-5.1.4.tgz",
+ "integrity": "sha512-AH6x5pYq4vwQvfRDWH+vfOePfPIYQ00nCEB7dJRU1e0n9+9HMRyvI63FlDvtFT2AvXVRsXvUt7DNMEToyJLpSA==",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^5.1.4"
+ },
+ "dependencies": {
+ "workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ }
+ }
+ },
+ "workbox-broadcast-update": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-5.1.4.tgz",
+ "integrity": "sha512-HTyTWkqXvHRuqY73XrwvXPud/FN6x3ROzkfFPsRjtw/kGZuZkPzfeH531qdUGfhtwjmtO/ZzXcWErqVzJNdXaA==",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^5.1.4"
+ },
+ "dependencies": {
+ "workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ }
+ }
+ },
+ "workbox-build": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-5.1.4.tgz",
+ "integrity": "sha512-xUcZn6SYU8usjOlfLb9Y2/f86Gdo+fy1fXgH8tJHjxgpo53VVsqRX0lUDw8/JuyzNmXuo8vXX14pXX2oIm9Bow==",
+ "dev": true,
+ "requires": {
+ "@babel/core": "^7.8.4",
+ "@babel/preset-env": "^7.8.4",
+ "@babel/runtime": "^7.8.4",
+ "@hapi/joi": "^15.1.0",
+ "@rollup/plugin-node-resolve": "^7.1.1",
+ "@rollup/plugin-replace": "^2.3.1",
+ "@surma/rollup-plugin-off-main-thread": "^1.1.1",
+ "common-tags": "^1.8.0",
+ "fast-json-stable-stringify": "^2.1.0",
+ "fs-extra": "^8.1.0",
+ "glob": "^7.1.6",
+ "lodash.template": "^4.5.0",
+ "pretty-bytes": "^5.3.0",
+ "rollup": "^1.31.1",
+ "rollup-plugin-babel": "^4.3.3",
+ "rollup-plugin-terser": "^5.3.1",
+ "source-map": "^0.7.3",
+ "source-map-url": "^0.4.0",
+ "stringify-object": "^3.3.0",
+ "strip-comments": "^1.0.2",
+ "tempy": "^0.3.0",
+ "upath": "^1.2.0",
+ "workbox-background-sync": "^5.1.4",
+ "workbox-broadcast-update": "^5.1.4",
+ "workbox-cacheable-response": "^5.1.4",
+ "workbox-core": "^5.1.4",
+ "workbox-expiration": "^5.1.4",
+ "workbox-google-analytics": "^5.1.4",
+ "workbox-navigation-preload": "^5.1.4",
+ "workbox-precaching": "^5.1.4",
+ "workbox-range-requests": "^5.1.4",
+ "workbox-routing": "^5.1.4",
+ "workbox-strategies": "^5.1.4",
+ "workbox-streams": "^5.1.4",
+ "workbox-sw": "^5.1.4",
+ "workbox-window": "^5.1.4"
+ },
+ "dependencies": {
+ "@rollup/plugin-node-resolve": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz",
+ "integrity": "sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q==",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^3.0.8",
+ "@types/resolve": "0.0.8",
+ "builtin-modules": "^3.1.0",
+ "is-module": "^1.0.0",
+ "resolve": "^1.14.2"
+ }
+ },
+ "jest-worker": {
+ "version": "24.9.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz",
+ "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==",
+ "dev": true,
+ "requires": {
+ "merge-stream": "^2.0.0",
+ "supports-color": "^6.1.0"
}
},
- "parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "rollup": {
+ "version": "1.32.1",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz",
+ "integrity": "sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==",
+ "dev": true,
"requires": {
- "error-ex": "^1.2.0"
+ "@types/estree": "*",
+ "@types/node": "*",
+ "acorn": "^7.1.0"
+ }
+ },
+ "rollup-plugin-terser": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz",
+ "integrity": "sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.5.5",
+ "jest-worker": "^24.9.0",
+ "rollup-pluginutils": "^2.8.2",
+ "serialize-javascript": "^4.0.0",
+ "terser": "^4.6.2"
}
},
- "postcss-load-config": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz",
- "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=",
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+ "dev": true,
"requires": {
- "cosmiconfig": "^2.1.0",
- "object-assign": "^4.1.0",
- "postcss-load-options": "^1.2.0",
- "postcss-load-plugins": "^2.3.0"
+ "has-flag": "^3.0.0"
}
},
- "require-from-string": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz",
- "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg="
+ "workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ },
+ "workbox-precaching": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-5.1.4.tgz",
+ "integrity": "sha512-gCIFrBXmVQLFwvAzuGLCmkUYGVhBb7D1k/IL7pUJUO5xacjLcFUaLnnsoVepBGAiKw34HU1y/YuqvTKim9qAZA==",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^5.1.4"
+ }
}
}
},
- "vue-meta": {
- "version": "1.5.8",
- "resolved": "https://registry.npmjs.org/vue-meta/-/vue-meta-1.5.8.tgz",
- "integrity": "sha512-cF/ADL1kA8Gn6wfSx0+kYIPAmJ49y9R0QlMS9tg5ddDDZWaZMZ0rveFWaTOKr0eabUV/H3D9ip68Xt9f5SFbyA==",
+ "workbox-cacheable-response": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-5.1.4.tgz",
+ "integrity": "sha512-0bfvMZs0Of1S5cdswfQK0BXt6ulU5kVD4lwer2CeI+03czHprXR3V4Y8lPTooamn7eHP8Iywi5QjyAMjw0qauA==",
+ "dev": true,
"requires": {
- "deepmerge": "^3.0.0",
- "lodash.isplainobject": "^4.0.6",
- "lodash.uniqueid": "^4.0.1",
- "object-assign": "^4.1.1"
+ "workbox-core": "^5.1.4"
},
"dependencies": {
- "deepmerge": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-3.2.0.tgz",
- "integrity": "sha512-6+LuZGU7QCNUnAJyX8cIrlzoEgggTM6B7mm+znKOX4t5ltluT9KLjN6g61ECMS0LTsLW7yDpNoxhix5FZcrIow=="
+ "workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
}
}
},
- "vue-monaco": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/vue-monaco/-/vue-monaco-0.3.2.tgz",
- "integrity": "sha512-GWdtTuxUxse+tqs7B9zH3CosCZlpXNae1G7dlI1lmUrEDG+vtoBtulUBjhLseHZIwsuthebcRNgkVSdDMa8Tcw==",
+ "workbox-core": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.1.2.tgz",
+ "integrity": "sha512-69rch7EyPsNAx5Y5YlSoHV39/EEE1oDeb5zmLIy6+mgB4BnaG6u/tlDtvjvKqHcPM0gz2L5SzYtTEvWmk5WRTQ=="
+ },
+ "workbox-expiration": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-5.1.4.tgz",
+ "integrity": "sha512-oDO/5iC65h2Eq7jctAv858W2+CeRW5e0jZBMNRXpzp0ZPvuT6GblUiHnAsC5W5lANs1QS9atVOm4ifrBiYY7AQ==",
+ "dev": true,
"requires": {
- "monaco-editor": "^0.17.0",
- "nano-assign": "^1.0.0"
+ "workbox-core": "^5.1.4"
+ },
+ "dependencies": {
+ "workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ }
}
},
- "vue-monaco-editor": {
- "version": "0.0.19",
- "resolved": "https://registry.npmjs.org/vue-monaco-editor/-/vue-monaco-editor-0.0.19.tgz",
- "integrity": "sha1-6t7/G28dzYlLZ2Y4PNox5daCrRE=",
+ "workbox-google-analytics": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-5.1.4.tgz",
+ "integrity": "sha512-0IFhKoEVrreHpKgcOoddV+oIaVXBFKXUzJVBI+nb0bxmcwYuZMdteBTp8AEDJacENtc9xbR0wa9RDCnYsCDLjA==",
+ "dev": true,
"requires": {
- "lodash.debounce": "^4.0.8",
- "vue": "^2.1.0"
+ "workbox-background-sync": "^5.1.4",
+ "workbox-core": "^5.1.4",
+ "workbox-routing": "^5.1.4",
+ "workbox-strategies": "^5.1.4"
+ },
+ "dependencies": {
+ "workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ }
}
},
- "vue-property-decorator": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/vue-property-decorator/-/vue-property-decorator-7.2.0.tgz",
- "integrity": "sha512-sCI6NVM3tEDg+mpZrQlgkddtxd9LbFWetue8D+nqO3agfSLz0KoC/UIi2P1l5E0TDhcUeIXS9rasuP2HWg+L4w==",
+ "workbox-navigation-preload": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-5.1.4.tgz",
+ "integrity": "sha512-Wf03osvK0wTflAfKXba//QmWC5BIaIZARU03JIhAEO2wSB2BDROWI8Q/zmianf54kdV7e1eLaIEZhth4K4MyfQ==",
+ "dev": true,
"requires": {
- "vue-class-component": "^6.2.0"
+ "workbox-core": "^5.1.4"
+ },
+ "dependencies": {
+ "workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ }
}
},
- "vue-router": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.0.2.tgz",
- "integrity": "sha512-opKtsxjp9eOcFWdp6xLQPLmRGgfM932Tl56U9chYTnoWqKxQ8M20N7AkdEbM5beUh6wICoFGYugAX9vQjyJLFg=="
- },
- "vue-server-renderer": {
- "version": "2.5.17",
- "resolved": "https://registry.npmjs.org/vue-server-renderer/-/vue-server-renderer-2.5.17.tgz",
- "integrity": "sha512-n62Fg4xv9ouxNloW2U3Bru2Jj+DkbnnrlzwuTkaU1o7CIDifG+r0+ILLMW0eVjgCjhKefHTYjwJ49RJ3bCjv1Q==",
- "requires": {
- "chalk": "^1.1.3",
- "hash-sum": "^1.0.2",
- "he": "^1.1.0",
- "lodash.template": "^4.4.0",
- "lodash.uniq": "^4.5.0",
- "resolve": "^1.2.0",
- "serialize-javascript": "^1.3.0",
- "source-map": "0.5.6"
+ "workbox-precaching": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.1.2.tgz",
+ "integrity": "sha512-jGwv6tMdIecsyBSdVCgXoD7bHxLRI972lvYOfvcosGjP3oFKe8p2DVPsn3TIzEVYTl+b3j59utC7yrOP9oEHSg==",
+ "requires": {
+ "workbox-core": "^6.1.2",
+ "workbox-routing": "^6.1.2",
+ "workbox-strategies": "^6.1.2"
},
"dependencies": {
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "workbox-routing": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.1.2.tgz",
+ "integrity": "sha512-aRcqO+KX9A0J5W6hEeEpGhT6Lesqd3WfgaqlSD5LRajm0vAgYnlQzY37w6uC55Ev7M5Gh/xg0lA99qKc6ozsEA==",
"requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
+ "workbox-core": "^6.1.2"
}
},
- "source-map": {
- "version": "0.5.6",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
- "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI="
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+ "workbox-strategies": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.1.2.tgz",
+ "integrity": "sha512-IX7UNePHmmfb1dcXSxgcephYShnLc0pmP3MRT/TZGjv8f0qcZYH7Sr/lTmwaxGXQL8yCSCrQICZwJnHLw2G5Ng==",
+ "requires": {
+ "workbox-core": "^6.1.2"
+ }
}
}
},
- "vue-style-loader": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-3.1.2.tgz",
- "integrity": "sha512-ICtVdK/p+qXWpdSs2alWtsXt9YnDoYjQe0w5616j9+/EhjoxZkbun34uWgsMFnC1MhrMMwaWiImz3K2jK1Yp2Q==",
- "requires": {
- "hash-sum": "^1.0.2",
- "loader-utils": "^1.0.2"
- }
- },
- "vue-template-compiler": {
- "version": "2.5.17",
- "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.5.17.tgz",
- "integrity": "sha512-63uI4syCwtGR5IJvZM0LN5tVsahrelomHtCxvRkZPJ/Tf3ADm1U1wG6KWycK3qCfqR+ygM5vewUvmJ0REAYksg==",
- "requires": {
- "de-indent": "^1.0.2",
- "he": "^1.1.0"
- }
- },
- "vue-template-es2015-compiler": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz",
- "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw=="
- },
- "vuex": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.1.0.tgz",
- "integrity": "sha512-mdHeHT/7u4BncpUZMlxNaIdcN/HIt1GsGG5LKByArvYG/v6DvHcOxvDCts+7SRdCoIRGllK8IMZvQtQXLppDYg=="
- },
- "vuex-class": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/vuex-class/-/vuex-class-0.3.1.tgz",
- "integrity": "sha512-d7Hc+ItQx6p9E/2mEWiyrvyEuo7Uj0mq4VNImd7dmxTelnkhOavKPMEG1Xdypug2RlPEYv0920IOa3hdVZ+4AA=="
- },
- "vuex-persist": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/vuex-persist/-/vuex-persist-2.0.1.tgz",
- "integrity": "sha512-V3WSBYmxcAP6ei0VVt2lxGloeWJZgk1Ao4r+iOxLMhAv+UYIK91qbjwvqk6Xr3tAi052jzSwn8aoamtuz8ArsQ==",
- "requires": {
- "flatted": "^2.0.0",
- "lodash.merge": "^4.6.1"
- }
- },
- "wait-on": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-3.1.0.tgz",
- "integrity": "sha512-yjYwMvnOhA3PTghvzPQAmT2TSVvBMbOdBRRjMPfBD6FU5si/PkAsI8P3X5sh9ntkYjZvPQLpQRpDUyax5h4COg==",
+ "workbox-range-requests": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-5.1.4.tgz",
+ "integrity": "sha512-1HSujLjgTeoxHrMR2muDW2dKdxqCGMc1KbeyGcmjZZAizJTFwu7CWLDmLv6O1ceWYrhfuLFJO+umYMddk2XMhw==",
"dev": true,
"requires": {
- "core-js": "^2.5.7",
- "joi": "^13.0.0",
- "minimist": "^1.2.0",
- "request": "^2.88.0",
- "rx": "^4.1.0"
+ "workbox-core": "^5.1.4"
+ },
+ "dependencies": {
+ "workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ }
}
},
- "watchpack": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
- "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
+ "workbox-recipes": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.1.2.tgz",
+ "integrity": "sha512-KT9qome7svIajmXP6/4kmZYr8UzWua6MO2GIeM0Th+mr28WzrHfw2iCeo3362hCW/yMiNMlP5uuXiqsaFxUjHg==",
+ "dev": true,
"requires": {
- "chokidar": "^2.0.2",
- "graceful-fs": "^4.1.2",
- "neo-async": "^2.5.0"
- }
- },
- "webidl-conversions": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
- "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg=="
- },
- "webpack": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.12.0.tgz",
- "integrity": "sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==",
- "requires": {
- "acorn": "^5.0.0",
- "acorn-dynamic-import": "^2.0.0",
- "ajv": "^6.1.0",
- "ajv-keywords": "^3.1.0",
- "async": "^2.1.2",
- "enhanced-resolve": "^3.4.0",
- "escope": "^3.6.0",
- "interpret": "^1.0.0",
- "json-loader": "^0.5.4",
- "json5": "^0.5.1",
- "loader-runner": "^2.3.0",
- "loader-utils": "^1.1.0",
- "memory-fs": "~0.4.1",
- "mkdirp": "~0.5.0",
- "node-libs-browser": "^2.0.0",
- "source-map": "^0.5.3",
- "supports-color": "^4.2.1",
- "tapable": "^0.2.7",
- "uglifyjs-webpack-plugin": "^0.4.6",
- "watchpack": "^1.4.0",
- "webpack-sources": "^1.0.1",
- "yargs": "^8.0.2"
+ "workbox-cacheable-response": "^6.1.2",
+ "workbox-core": "^6.1.2",
+ "workbox-expiration": "^6.1.2",
+ "workbox-precaching": "^6.1.2",
+ "workbox-routing": "^6.1.2",
+ "workbox-strategies": "^6.1.2"
},
"dependencies": {
- "has-flag": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
- "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ "workbox-cacheable-response": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.1.2.tgz",
+ "integrity": "sha512-zSTQWJU+CBHC90N/Dccb9n0IzbTsmnl28usKOlVYbfHS5wit3izpD7djqqHzgzyS+gdemRjY4s02VV9WvyeD1w==",
+ "dev": true,
+ "requires": {
+ "workbox-core": "^6.1.2"
+ }
},
- "supports-color": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
- "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
+ "workbox-expiration": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.1.2.tgz",
+ "integrity": "sha512-86cXz8Ae5cAJMgJ6aD/8E1NMNON4qGnE4ir1G3VuOu1xLsx2ItbbXmz6b0BB2dZ+kX6BDwqE0wkgS5As5Sds7g==",
+ "dev": true,
"requires": {
- "has-flag": "^2.0.0"
+ "workbox-core": "^6.1.2"
}
},
- "uglify-js": {
- "version": "2.8.29",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+ "workbox-routing": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.1.2.tgz",
+ "integrity": "sha512-aRcqO+KX9A0J5W6hEeEpGhT6Lesqd3WfgaqlSD5LRajm0vAgYnlQzY37w6uC55Ev7M5Gh/xg0lA99qKc6ozsEA==",
+ "dev": true,
"requires": {
- "source-map": "~0.5.1",
- "uglify-to-browserify": "~1.0.0",
- "yargs": "~3.10.0"
- },
- "dependencies": {
- "yargs": {
- "version": "3.10.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
- "requires": {
- "camelcase": "^1.0.2",
- "cliui": "^2.1.0",
- "decamelize": "^1.0.0",
- "window-size": "0.1.0"
- }
- }
+ "workbox-core": "^6.1.2"
}
},
- "uglifyjs-webpack-plugin": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz",
- "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=",
+ "workbox-strategies": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.1.2.tgz",
+ "integrity": "sha512-IX7UNePHmmfb1dcXSxgcephYShnLc0pmP3MRT/TZGjv8f0qcZYH7Sr/lTmwaxGXQL8yCSCrQICZwJnHLw2G5Ng==",
+ "dev": true,
"requires": {
- "source-map": "^0.5.6",
- "uglify-js": "^2.8.29",
- "webpack-sources": "^1.0.1"
+ "workbox-core": "^6.1.2"
}
}
}
},
- "webpack-bundle-analyzer": {
- "version": "2.13.1",
- "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz",
- "integrity": "sha512-rwxyfecTAxoarCC9VlHlIpfQCmmJ/qWD5bpbjkof+7HrNhTNZIwZITxN6CdlYL2axGmwNUQ+tFgcSOiNXMf/sQ==",
+ "workbox-routing": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-5.1.4.tgz",
+ "integrity": "sha512-8ljknRfqE1vEQtnMtzfksL+UXO822jJlHTIR7+BtJuxQ17+WPZfsHqvk1ynR/v0EHik4x2+826Hkwpgh4GKDCw==",
+ "dev": true,
"requires": {
- "acorn": "^5.3.0",
- "bfj-node4": "^5.2.0",
- "chalk": "^2.3.0",
- "commander": "^2.13.0",
- "ejs": "^2.5.7",
- "express": "^4.16.2",
- "filesize": "^3.5.11",
- "gzip-size": "^4.1.0",
- "lodash": "^4.17.4",
- "mkdirp": "^0.5.1",
- "opener": "^1.4.3",
- "ws": "^4.0.0"
+ "workbox-core": "^5.1.4"
},
"dependencies": {
- "commander": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
- "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg=="
- }
- }
- },
- "webpack-dev-middleware": {
- "version": "2.0.6",
- "resolved": "http://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-2.0.6.tgz",
- "integrity": "sha512-tj5LLD9r4tDuRIDa5Mu9lnY2qBBehAITv6A9irqXhw/HQquZgTx3BCd57zYbU2gMDnncA49ufK2qVQSbaKJwOw==",
- "requires": {
- "loud-rejection": "^1.6.0",
- "memory-fs": "~0.4.1",
- "mime": "^2.1.0",
- "path-is-absolute": "^1.0.0",
- "range-parser": "^1.0.3",
- "url-join": "^2.0.2",
- "webpack-log": "^1.0.1"
- },
- "dependencies": {
- "mime": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz",
- "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w=="
+ "workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
}
}
},
- "webpack-hot-middleware": {
- "version": "2.24.3",
- "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.24.3.tgz",
- "integrity": "sha512-pPlmcdoR2Fn6UhYjAhp1g/IJy1Yc9hD+T6O9mjRcWV2pFbBjIFoJXhP0CoD0xPOhWJuWXuZXGBga9ybbOdzXpg==",
- "requires": {
- "ansi-html": "0.0.7",
- "html-entities": "^1.2.0",
- "querystring": "^0.2.0",
- "strip-ansi": "^3.0.0"
- }
- },
- "webpack-log": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz",
- "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==",
- "requires": {
- "chalk": "^2.1.0",
- "log-symbols": "^2.1.0",
- "loglevelnext": "^1.0.1",
- "uuid": "^3.1.0"
- }
- },
- "webpack-node-externals": {
- "version": "1.7.2",
- "resolved": "http://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-1.7.2.tgz",
- "integrity": "sha512-ajerHZ+BJKeCLviLUUmnyd5B4RavLF76uv3cs6KNuO8W+HuQaEs0y0L7o40NQxdPy5w0pcv8Ew7yPUAQG0UdCg=="
- },
- "webpack-sources": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz",
- "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==",
- "requires": {
- "source-list-map": "^2.0.0",
- "source-map": "~0.6.1"
- }
- },
- "whatwg-url": {
- "version": "6.5.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz",
- "integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==",
- "requires": {
- "lodash.sortby": "^4.7.0",
- "tr46": "^1.0.1",
- "webidl-conversions": "^4.0.2"
- }
- },
- "whet.extend": {
- "version": "0.9.9",
- "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz",
- "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE="
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "workbox-strategies": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-5.1.4.tgz",
+ "integrity": "sha512-VVS57LpaJTdjW3RgZvPwX0NlhNmscR7OQ9bP+N/34cYMDzXLyA6kqWffP6QKXSkca1OFo/v6v7hW7zrrguo6EA==",
+ "dev": true,
"requires": {
- "isexe": "^2.0.0"
+ "workbox-core": "^5.1.4",
+ "workbox-routing": "^5.1.4"
+ },
+ "dependencies": {
+ "workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ }
}
},
- "which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
- },
- "wide-align": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
- "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+ "workbox-streams": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-5.1.4.tgz",
+ "integrity": "sha512-xU8yuF1hI/XcVhJUAfbQLa1guQUhdLMPQJkdT0kn6HP5CwiPOGiXnSFq80rAG4b1kJUChQQIGPrq439FQUNVrw==",
"dev": true,
"requires": {
- "string-width": "^1.0.2 || 2"
+ "workbox-core": "^5.1.4",
+ "workbox-routing": "^5.1.4"
+ },
+ "dependencies": {
+ "workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ }
}
},
- "window-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0="
- },
- "wordwrap": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8="
+ "workbox-sw": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-5.1.4.tgz",
+ "integrity": "sha512-9xKnKw95aXwSNc8kk8gki4HU0g0W6KXu+xks7wFuC7h0sembFnTrKtckqZxbSod41TDaGh+gWUA5IRXrL0ECRA==",
+ "dev": true
},
- "worker-farm": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz",
- "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==",
+ "workbox-window": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-5.1.4.tgz",
+ "integrity": "sha512-vXQtgTeMCUq/4pBWMfQX8Ee7N2wVC4Q7XYFqLnfbXJ2hqew/cU1uMTD2KqGEgEpE4/30luxIxgE+LkIa8glBYw==",
+ "dev": true,
"requires": {
- "errno": "~0.1.7"
+ "workbox-core": "^5.1.4"
+ },
+ "dependencies": {
+ "workbox-core": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-5.1.4.tgz",
+ "integrity": "sha512-+4iRQan/1D8I81nR2L5vcbaaFskZC2CL17TLbvWVzQ4qiF/ytOGF6XeV54pVxAvKUtkLANhk8TyIUMtiMw2oDg==",
+ "dev": true
+ }
}
},
"wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
"requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
},
"dependencies": {
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
"requires": {
- "number-is-nan": "^1.0.0"
+ "color-convert": "^2.0.1"
}
},
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
"requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
+ "color-name": "~1.1.4"
}
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
}
}
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
- },
- "write": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
- "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
- "dev": true,
- "requires": {
- "mkdirp": "^0.5.1"
- }
- },
- "ws": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz",
- "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==",
- "requires": {
- "async-limiter": "~1.0.0",
- "safe-buffer": "~5.1.0"
- }
- },
- "x-is-string": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz",
- "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
- "xregexp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz",
- "integrity": "sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM=",
+ "ws": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz",
+ "integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==",
"dev": true
},
"xtend": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
- "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
- },
- "xxhashjs": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz",
- "integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==",
- "requires": {
- "cuint": "^0.2.2"
- }
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "dev": true
},
"y18n": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
- "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+ "dev": true
},
"yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true
},
"yargs": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
- "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
- "requires": {
- "camelcase": "^4.1.0",
- "cliui": "^3.2.0",
- "decamelize": "^1.1.1",
- "get-caller-file": "^1.0.1",
- "os-locale": "^2.0.0",
- "read-pkg-up": "^2.0.0",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "dev": true,
+ "requires": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
"require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
- "set-blocking": "^2.0.0",
- "string-width": "^2.0.0",
- "which-module": "^2.0.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^7.0.0"
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
},
"dependencies": {
- "camelcase": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
- },
- "cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
- "requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wrap-ansi": "^2.0.0"
- },
- "dependencies": {
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "requires": {
- "code-point-at": "^1.0.0",
- "is-fullwidth-code-point": "^1.0.0",
- "strip-ansi": "^3.0.0"
- }
- }
- }
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "requires": {
- "number-is-nan": "^1.0.0"
- }
- },
"y18n": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.6.tgz",
+ "integrity": "sha512-PlVX4Y0lDTN6E2V4ES2tEdyvXkeKzxa8c/vo0pxPr/TqbztddTP0yn7zZylIyiAuxerqj0Q5GhpJ1YJCP8LaZQ==",
+ "dev": true
}
}
},
"yargs-parser": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz",
- "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=",
- "requires": {
- "camelcase": "^4.1.0"
- },
- "dependencies": {
- "camelcase": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0="
- }
- }
- },
- "yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
- "dev": true,
- "requires": {
- "buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
- }
+ "version": "20.2.7",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz",
+ "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==",
+ "dev": true
},
- "yn": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz",
- "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=",
+ "ylru": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.2.1.tgz",
+ "integrity": "sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ==",
"dev": true
}
}
diff --git a/package.json b/package.json
index 628d690a..5935f713 100644
--- a/package.json
+++ b/package.json
@@ -1,90 +1,76 @@
{
- "version": "2.0.0",
- "private": true,
+ "name": "PWABuilder",
+ "version": "0.0.1",
+ "description": "A starter kit for building PWAs!",
+ "main": "index.js",
+ "engines": {
+ "node": "14.10.0"
+ },
"scripts": {
- "dev": "cross-env NODE_ENV=development nuxt",
- "build-production": "cross-env NODE_ENV=production nuxt build",
- "build-preview": "cross-env NODE_ENV=preview nuxt build",
- "start-production": "cross-env NODE_ENV=production node server.js",
- "start-preview": "cross-env NODE_ENV=preview node server.js",
- "setup": "npm install && npm-install-peers",
- "build": "nuxt build",
- "build-docker-dev": "docker build -t dev-site --target build-dev .",
- "run-docker-dev": "docker run -p 3000:80 dev-site",
- "test": "mocha --recursive --timeout 20000 uitest"
+ "test": "echo \"Error: no test specified\" && exit 1",
+ "clean": "rimraf build/ && rimraf dist/",
+ "build": "rollup --config rollup.config.dev.js && rimraf dist/ && rollup --config rollup.config.js && node workbox.mjs",
+ "start": "npm run build && npx nodemon server.js",
+ "dev": "concurrently \"rollup --config rollup.config.dev.js --watch\" \"web-dev-server\"",
+ "debug": "concurrently \"rollup --config rollup.config.dev.js --watch\" \"web-dev-server --config web-dev-server.debugging.config.mjs\""
},
+ "author": "",
+ "license": "ISC",
"dependencies": {
- "@nuxtjs/axios": "^4.5.2",
- "@types/downloadjs": "^1.4.1",
- "ajv": "^6.5.4",
- "axios": "^0.18.0",
- "babel-polyfill": "^6.26.0",
- "clipboard": "^2.0.1",
- "dont-sniff-mimetype": "^1.1.0",
+ "@codemirror/autocomplete": "^0.18.5",
+ "@codemirror/basic-setup": "^0.18.0",
+ "@codemirror/commands": "^0.18.1",
+ "@codemirror/fold": "^0.18.0",
+ "@codemirror/gutter": "^0.18.2",
+ "@codemirror/lang-json": "^0.18.0",
+ "@codemirror/language": "^0.18.1",
+ "@codemirror/lint": "^0.18.2",
+ "@codemirror/matchbrackets": "^0.18.0",
+ "@codemirror/state": "^0.18.6",
+ "@codemirror/text": "^0.18.0",
+ "@codemirror/tooltip": "^0.18.4",
+ "@codemirror/view": "^0.18.10",
+ "@pwabuilder/pwainstall": "^1.6.6",
+ "@vaadin/router": "^1.7.4",
+ "browser-fs-access": "^0.16.2",
+ "cors": "^2.8.5",
+ "deepmerge": "^4.2.2",
"downloadjs": "^1.4.7",
- "highlight.js": "^9.15.6",
- "manup": "^1.0.1",
- "marked": "0.7.0",
- "monaco-editor": "^0.17.0",
- "monaco-editor-webpack-plugin": "^1.7.0",
- "normalize-scss": "^7.0.1",
- "nuxt": "^1.4.5",
- "nuxt-class-component": "^1.2.1",
- "prismjs": "^1.21.0",
- "sharebutton": "0.6.3",
- "ttf2woff": "^2.0.1",
- "vue": "^2.5.17",
- "vue-class-component": "^6.2.0",
- "vue-i18n": "^8.1.0",
- "vue-monaco": "^0.3.2",
- "vue-monaco-editor": "0.0.19",
- "vue-property-decorator": "^7.2.0",
- "vue-server-renderer": "^2.5.17",
- "vue-template-compiler": "^2.5.17",
- "vuex-class": "^0.3.1",
- "vuex-persist": "^2.0.1"
+ "express": "^4.17.1",
+ "lit": "^2.0.0-rc.1",
+ "lodash-es": "^4.17.21",
+ "workbox-core": "^6.1.2",
+ "workbox-precaching": "^6.1.2"
},
"devDependencies": {
- "@types/chai": "^4.1.0",
- "@types/chai-as-promised": "^7.1.0",
- "@types/mocha": "^5.2.5",
- "@types/node": "^10.11.7",
- "@types/sinon": "^4.1.2",
- "@types/sinon-chai": "^3.2.0",
- "@types/sinon-stub-promise": "^2.1.3",
- "axios-mock-adapter": "^1.10.0",
- "chai": "^4.2.0",
- "chai-as-promised": "^7.1.1",
- "concurrently": "^4.0.1",
- "copy-webpack-plugin": "^5.0.3",
- "cross-env": "^5.2.0",
- "mocha": "^5.2.0",
- "nightwatch": "^0.9.21",
- "node-sass": "^4.14.1",
- "npm-install-peers": "^1.2.1",
- "nyc": "^13.3.0",
- "opener": "^1.5.1",
- "puppeteer": "^2.0.0",
- "sass-loader": "^7.1.0",
- "selenium-standalone": "^6.15.3",
- "sinon": "^6.3.5",
- "sinon-chai": "^3.2.0",
- "sinon-stub-promise": "^4.0.0",
- "stylelint": "^9.10.1",
- "stylelint-config-standard": "^18.2.0",
- "stylelint-order": "^1.0.0",
- "stylelint-processor-html": "^1.0.0",
- "stylelint-scss": "^3.3.1",
- "stylelint-webpack-plugin": "^0.10.5",
- "ts-loader": "^5.2.1",
- "ts-node": "^7.0.1",
- "tsconfig-paths": "^3.6.0",
- "tslint": "^5.11.0",
- "typescript": "2.9.2",
- "wait-on": "^3.1.0"
- },
- "peerDependencies": {
- "ajv": "^6.5.4",
- "stylelint": "^9.0.0"
+ "@open-wc/rollup-plugin-html": "^1.2.5",
+ "@rollup/plugin-json": "^4.1.0",
+ "@rollup/plugin-node-resolve": "^11.2.1",
+ "@rollup/plugin-replace": "^2.4.2",
+ "@rollup/plugin-strip": "^2.0.0",
+ "@rollup/plugin-typescript": "^8.2.1",
+ "@types/lodash-es": "^4.17.4",
+ "@types/service_worker_api": "^0.0.9",
+ "@typescript-eslint/eslint-plugin": "^4.12.0",
+ "@typescript-eslint/parser": "^4.12.0",
+ "@web/dev-server": "^0.1.10",
+ "concurrently": "^6.0.0",
+ "danger": "^10.6.0",
+ "eslint": "^7.17.0",
+ "eslint-config-prettier": "^7.1.0",
+ "eslint-plugin-import": "^2.22.1",
+ "eslint-plugin-node": "^11.1.0",
+ "eslint-plugin-prettier": "^3.3.1",
+ "lit-analyzer": "^1.2.1",
+ "prettier": "^2.2.1",
+ "rimraf": "^3.0.2",
+ "rollup": "^2.44.0",
+ "rollup-plugin-copy": "^3.4.0",
+ "rollup-plugin-lit-css": "^2.1.0",
+ "rollup-plugin-terser": "^7.0.2",
+ "rollup-plugin-workbox": "^6.1.1",
+ "rollup-plugin-workbox-inject": "^2.0.0",
+ "tslib": "^2.1.0",
+ "typescript": "^4.2.3"
}
}
diff --git a/pages/_lang/generate.vue b/pages/_lang/generate.vue
deleted file mode 100644
index 353127c9..00000000
--- a/pages/_lang/generate.vue
+++ /dev/null
@@ -1,1920 +0,0 @@
-
-
-
-
-
-
Invalid url(s): {{ `${invalidScreenshotUrlValues}` }}. Please try again.
-
-
-
-
-
-
-
-
-
-
- {{ $t('generate.name') }}
- Used for App lists or Store listings
-
-
-
-
-
-
-
- {{ $t('generate.short_name') }}
- Used for tiles or home screens
-
-
-
-
-
-
-
- {{ $t('generate.description') }}
- Used for App listings
-
-
-
-
Newline not allowed
-
-
-
-
-
- {{ $t('generate.start_url') }}
- This will be the first page that loads in your PWA.
-
-
-
-
-
-
-
-
-
-
-
- We suggest at least one image 512×512 or larger
-
- If you want a bigger images, we suggest to you to upload at
- least one image 512×512 or larger
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ icon.sizes }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t('generate.scope') }}
- Scope determines what part of your website runs in the PWA
-
-
-
-
-
-
-
- {{ $t('generate.display') }}
-
- Display identifies the browser components that should be
- included in your. "Standalone" appears as a traditional app.
-
-
-
-
- {{ display }}
-
-
-
-
-
- {{ $t('generate.orientation') }}
- Orientation determines the perfered flow of your application.
-
-
-
- {{ orientation }}
-
-
-
-
-
- {{ $t('generate.language') }}
- Declare the language of your PWA
-
-
-
- {{ language }}
-
-
-
-
-
-
-
-
-
-
-
- Done
-
-
-
-
-
-
-
- {{
- $t('generate.upload_image')
- }}
-
-
-
-
-
-
- {{ $t('generate.generate_missing') }}
-
-
-
-
-
{{ $t('generate.upload_image_error_none_uploaded') }}
-
-
-
{{ $t('generate.upload_image_error_incorrect_type') }}
-
-
-
-
-
-
-
-
- Add this code to your start page:
-
-
-
- Add this code to your manifest.json file
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/_lang/imageGenerator.vue b/pages/_lang/imageGenerator.vue
deleted file mode 100644
index 3b1c7d05..00000000
--- a/pages/_lang/imageGenerator.vue
+++ /dev/null
@@ -1,514 +0,0 @@
-
-
-
-
-
-
Quickly and easily create app icons for various platforms in the right size and format
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pages/_lang/manifestGenerator.vue b/pages/_lang/manifestGenerator.vue
deleted file mode 100644
index a5272930..00000000
--- a/pages/_lang/manifestGenerator.vue
+++ /dev/null
@@ -1,137 +0,0 @@
-
-
-
-
-
diff --git a/pages/_lang/publish.vue b/pages/_lang/publish.vue
deleted file mode 100644
index 5eb7735e..00000000
--- a/pages/_lang/publish.vue
+++ /dev/null
@@ -1,3541 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
{{packageErrorMessage}}
-
-
-
-
-
-
-
{{ $t("publish.package_name_detail") }}
-
-
-
-
- {{ $t(error) }}
-
-
-
-
-
-
-
-
-
-
-
-
Customize your Windows package below
-
-
-
-
- {{ $t(error) }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Download your
- PWA package
- for Google Play
-
-
-
- Your download will contain
- instructions
- for submitting your app to the Google Play store.
-
-
-
- Package Name:
- {{ $t(this.androidForm.package_name) }}
-
-
-
-
-
- Options
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Download your PWA package for Microsoft Store
-
-
- Your download will contain instructions for submitting your app to the Microsoft Store.
- Your app will be powered by Chromium-based Edge platform (preview).
-
-
-
-
-
-
- Options
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Publisher Name
-
-
-
-
-
- Short app description
- Describe your app in 80 characters or less
-
-
-
-
-
- Long app description
- Describe your app in 4000 characters or less
-
-
-
-
-
- Privacy URL
-
-
-
-
-
- Terms of Use URL
-
-
-
-
-
-
- App Image
-
- The image needs to be 192x192, a solid background color,
- preferably the same as your w3c manifest background color.
-
-
-
Choose File
-
-
-
- {{
- this.teamsForm.colorImageFile
- ? this.teamsForm.colorImageFile.name
- : "No file chosen"
- }}
-
-
-
-
-
- Teams Silhouette (optional)
-
- This image needs to be 32x32, the background transparent, and the
- silhouette of your app icon in white.
-
-
-
Choose File
-
-
-
- {{
- this.teamsForm.outlineImageFile
- ? this.teamsForm.outlineImageFile.name
- : "No file chosen"
- }}
-
-
-
-
-
-
-
-
-
-
-
-
-
Everything you need to build and publish PWA
-
-
- Publish your PWA to app stores to make your app more discoverable to users.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Scope out rad PWAs
-
-
- Pinterest, Spotify, and more built some PWAs and they are like whoa!
- Check them out by clicking on the image or logos. Love doing PWAs?
- Submit your own!
-
-
-
-
-
-
- I will hold things
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/_lang/reportCard.vue b/pages/_lang/reportCard.vue
deleted file mode 100644
index f4d020ca..00000000
--- a/pages/_lang/reportCard.vue
+++ /dev/null
@@ -1,1391 +0,0 @@
-
-
-
-
-
- git clone command copied to your clipboard
-
-
-
- URL copied for sharing
-
-
-
- Analyzing your app...
-
-
-
-
-
- Share your Results
-
-
-
-
-
-
-
-
Tests in progress...
-
-
- We are taking a look at your website to evaluate if it is a PWA, we should be done soon!
-
-
-
-
-
Hub
-
-
- We have taken a look at how well your website supports PWA features
- and provided simple tools to help you fill in the gaps. When you’re
- ready, click “build my PWA” to finish up.
-
-
-
-
-
-
-
- Ready to build your PWA? Tap "Build My PWA" to package your PWA for the app stores
- or tap "Feature Store" to check out the latest web components from the PWABuilder team to improve your PWA even further!
-
-
-
-
-
-
-
-
-
-
-
Add features to my PWA...
-
-
-
-
-
-
-
-
- URL copied for sharing
-
-
-
-
-
-
-
-
diff --git a/pages/_lang/serviceworker.vue b/pages/_lang/serviceworker.vue
deleted file mode 100644
index 183dcd6a..00000000
--- a/pages/_lang/serviceworker.vue
+++ /dev/null
@@ -1,506 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t('serviceworker.download') }}
-
-
-
-
-
-
-
-
-
- Add this code to a file named "pwabuilder-sw.js" on your site root:
-
-
-
-
- Add this code to your landing page in a <script> tag:
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pages/generate.vue b/pages/generate.vue
deleted file mode 100644
index 0821b65c..00000000
--- a/pages/generate.vue
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/pages/imageGenerator.vue b/pages/imageGenerator.vue
deleted file mode 100644
index 30be1a09..00000000
--- a/pages/imageGenerator.vue
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/pages/index.vue b/pages/index.vue
deleted file mode 100644
index 7fd376b2..00000000
--- a/pages/index.vue
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/pages/manifestGenerator.vue b/pages/manifestGenerator.vue
deleted file mode 100644
index e69de29b..00000000
diff --git a/pages/publish.vue b/pages/publish.vue
deleted file mode 100755
index 79491d73..00000000
--- a/pages/publish.vue
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/pages/reportCard.vue b/pages/reportCard.vue
deleted file mode 100644
index ec1afe28..00000000
--- a/pages/reportCard.vue
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/pages/serviceworker.vue b/pages/serviceworker.vue
deleted file mode 100644
index efc68e4b..00000000
--- a/pages/serviceworker.vue
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/plugins/i18n.js b/plugins/i18n.js
deleted file mode 100644
index 1fe882b4..00000000
--- a/plugins/i18n.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// From: https://nuxtjs.org/examples/i18n
-
-import Vue from 'vue';
-import VueI18n from 'vue-i18n';
-
-Vue.use(VueI18n);
-
-export default ({ app, store }) => {
- // Set i18n instance on app
- // This way we can use it in middleware and pages asyncData/fetch
- app.i18n = new VueI18n({
- locale: store.state.i18n.locale,
- fallbackLocale: 'en',
- messages: {
- 'en': require('~/locales/en.json'),
- 'es': require('~/locales/es.json')
- }
- });
-
- app.i18n.path = (link) => {
- if (app.i18n.locale === app.i18n.fallbackLocale) {
- return `/${link}`;
- }
-
- return `/${app.i18n.locale}/${link}`;
- };
-}
-
-
diff --git a/plugins/vuex-persist.js b/plugins/vuex-persist.js
deleted file mode 100644
index bd34cb33..00000000
--- a/plugins/vuex-persist.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import VuexPersistence from 'vuex-persist';
-
-export default ({ store }) => {
- /*window.onNuxtReady(() => {
- new VuexPersistence({
- key: 'vuex', // The key to store the state on in the storage provider.
- storage: window.sessopmStorage, // or window.sessionStorage or localForage
- }).plugin(store);
- });*/
-}
\ No newline at end of file
diff --git a/pwabuilder-sw.ts b/pwabuilder-sw.ts
new file mode 100644
index 00000000..184e026b
--- /dev/null
+++ b/pwabuilder-sw.ts
@@ -0,0 +1,54 @@
+import { precacheAndRoute } from 'workbox-precaching';
+import { CacheableResponsePlugin } from 'workbox-cacheable-response';
+
+import { registerRoute } from 'workbox-routing';
+import { StaleWhileRevalidate, CacheFirst } from 'workbox-strategies';
+
+// Add custom service worker logic, such as a push notification serivce, or json request cache.
+self.addEventListener('message', (event: MessageEvent) => {
+ if (event.data && event.data.type === 'SKIP_WAITING') {
+ self.skipWaiting();
+ }
+});
+
+// Cache test calls
+// https://developers.google.com/web/tools/workbox/modules/workbox-strategies#stale-while-revalidate
+registerRoute(
+ ({ url }) =>
+ url.origin === 'https://pwabuilder-tests-dev.azurewebsites.net' ||
+ url.origin ===
+ 'https://pwabuilder-serviceworker-finder.centralus.cloudapp.azure.com',
+ new StaleWhileRevalidate()
+);
+
+registerRoute(
+ ({ url }) =>
+ url.origin ===
+ 'https://appimagegenerator-prod.azurewebsites.net/api/image/base64',
+ new CacheFirst({
+ plugins: [
+ new CacheableResponsePlugin({
+ statuses: [200],
+ }),
+ ],
+ }),
+ 'POST'
+);
+
+registerRoute(
+ ({ url }) => url.href === 'https://pwa-screenshots.azurewebsites.net',
+ new CacheFirst({
+ plugins: [
+ new CacheableResponsePlugin({
+ statuses: [200],
+ }),
+ ],
+ })
+);
+
+try {
+ //@ts-ignore
+ precacheAndRoute(self.__WB_MANIFEST);
+} catch (err) {
+ console.info('if you are in development mode this error is expected: ', err);
+}
diff --git a/rollup.config.dev.js b/rollup.config.dev.js
new file mode 100644
index 00000000..cff08358
--- /dev/null
+++ b/rollup.config.dev.js
@@ -0,0 +1,39 @@
+import resolve from "@rollup/plugin-node-resolve";
+import html from "@open-wc/rollup-plugin-html";
+import copy from "rollup-plugin-copy";
+import replace from "@rollup/plugin-replace";
+import typescript from "@rollup/plugin-typescript";
+import litcss from "rollup-plugin-lit-css";
+import json from '@rollup/plugin-json';
+
+export default {
+ input: "index.html",
+ output: {
+ dir: "build",
+ format: "es",
+ sourcemap: true
+ },
+ plugins: [
+ resolve(),
+ html(),
+ json(),
+ typescript({
+ tsconfig: "tsconfig.dev.json",
+ resolveJsonModule: true
+ }),
+ litcss(),
+ replace({
+ "process.env.NODE_ENV": JSON.stringify(
+ process.env.NODE_ENV || "production"
+ )
+ }),
+ copy({
+ targets: [
+ { src: "assets/**/*", dest: "build/assets/" },
+ { src: "styles/global.css", dest: "build/styles/" },
+ { src: "manifest.json", dest: "build/" },
+ { src: "workers/**/*", dest: "build/workers/" }
+ ],
+ }),
+ ],
+};
diff --git a/rollup.config.js b/rollup.config.js
new file mode 100644
index 00000000..059091d2
--- /dev/null
+++ b/rollup.config.js
@@ -0,0 +1,45 @@
+import resolve from "@rollup/plugin-node-resolve";
+import { terser } from "rollup-plugin-terser";
+import html from "@open-wc/rollup-plugin-html";
+import replace from "@rollup/plugin-replace";
+import strip from "@rollup/plugin-strip";
+import copy from "rollup-plugin-copy";
+import typescript from "@rollup/plugin-typescript";
+import litcss from "rollup-plugin-lit-css";
+import json from '@rollup/plugin-json';
+
+export default {
+ input: "build/index.html",
+ output: {
+ dir: "dist",
+ format: "es"
+ },
+ plugins: [
+ resolve(),
+ replace({
+ "process.env.NODE_ENV": JSON.stringify(
+ process.env.NODE_ENV || "production"
+ ),
+ }),
+ html(),
+ json(),
+ typescript({
+ tsconfig: "tsconfig.json",
+ resolveJsonModule: true
+ }),
+ litcss(),
+ terser(),
+ strip({
+ functions: ["console.log"],
+ }),
+ copy({
+ targets: [
+ { src: "assets/**/*", dest: "dist/assets/" },
+ { src: "styles/global.css", dest: "dist/styles/" },
+ { src: "manifest.json", dest: "dist/" },
+ { src: "workers/**/*", dest: "dist/workers/" },
+ { src: "routes.json", dest: "dist/" },
+ ],
+ })
+ ],
+};
diff --git a/routes.json b/routes.json
new file mode 100644
index 00000000..6242d00d
--- /dev/null
+++ b/routes.json
@@ -0,0 +1,9 @@
+{
+ "routes": [
+ {
+ "route": "*",
+ "serve": "index.html",
+ "statusCode": 200
+ }
+ ]
+}
diff --git a/server.js b/server.js
index 2050b64c..b656d22e 100644
--- a/server.js
+++ b/server.js
@@ -1,36 +1,11 @@
+const express = require("express");
+const cors = require('cors')
+const app = express();
+const port = process.env.PORT || 3000;
-// Custom server from official example https://github.com/nuxt/nuxt.js/blob/dev/examples/custom-server/server.js
-// We need this because we are on Azure, if is not your case or similar you can
-// add to your package.json the script: "start": "cross-env NODE_ENV=production nuxt start"
+app.use(cors());
+app.use(express.static("dist"));
-// Add production as fallback if you haven not configured the environment
-process.env.NODE_ENV = process.env.NODE_ENV;
-process.env.HOST = process.env.HOST || '127.0.0.1'
-process.env.PORT = process.env.PORT || 3000
-
-const app = require('express')()
-const { Nuxt, Builder } = require('nuxt')
-
-// Import and set Nuxt.js options
-let config = require('./nuxt.config.js')
-config.dev = !(process.env.NODE_ENV === 'production' || process.env.NODE_ENV === 'preview');
-
-const nuxt = new Nuxt(config)
-
-// Start build process in dev mode
-if (config.dev) {
- const builder = new Builder(nuxt)
- builder.build()
-}
-
-// Give nuxt middleware to express
-app.use(nuxt.render)
-console.log('app is using nuxt renderer')
-
-// Add the nosniff header for every request, per security guidelines
-const dontSniffMimetype = require('dont-sniff-mimetype')
-app.use(dontSniffMimetype());
-
-// Start express server
-app.listen(process.env.PORT, process.env.HOST);
-console.log('app is listening on: ', process.env.HOST, process.env.PORT);
\ No newline at end of file
+app.listen(port, () => {
+ console.log("App Running");
+});
\ No newline at end of file
diff --git a/src/locales/en_US.json b/src/locales/en_US.json
new file mode 100644
index 00000000..270afae2
--- /dev/null
+++ b/src/locales/en_US.json
@@ -0,0 +1,20 @@
+{
+ "input": {
+ "home": {
+ "error": {
+ "promises": "There was a problem retrieving the manifest from your site.",
+ "invalidURL": "The URL you entered is not a properly formatted URL"
+ }
+ },
+ "manifest": {
+ "screenshot": {
+ "error": "The url needs to be an absolute url."
+ }
+ },
+ "publish": {
+ "windows": {
+ "test_package": "Want to test your app first before going to the Microsoft Store? Tap Download to get a package you can install and test."
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/locales/index.ts b/src/locales/index.ts
new file mode 100644
index 00000000..7f12f0cb
--- /dev/null
+++ b/src/locales/index.ts
@@ -0,0 +1,16 @@
+import english from './en_US.json';
+import lang from './languages.json';
+
+export type langType = {
+ code: string,
+ name: string
+}
+
+function localization() {
+ // TODO flesh out if we localize
+ return english;
+}
+
+export const localeStrings = localization();
+
+export const languageCodes = lang.map((it: langType) => it.code);
diff --git a/static/data/languages.json b/src/locales/languages.json
similarity index 99%
rename from static/data/languages.json
rename to src/locales/languages.json
index f77c61e7..c4cd238f 100644
--- a/static/data/languages.json
+++ b/src/locales/languages.json
@@ -181,4 +181,4 @@
{"code":"yi","name":"Yiddish"},
{"code":"yo","name":"Yoruba"},
{"code":"za","name":"Zhuang, Chuang"}
-]
\ No newline at end of file
+]
diff --git a/src/script/components/android-form.ts b/src/script/components/android-form.ts
new file mode 100644
index 00000000..5f4b2717
--- /dev/null
+++ b/src/script/components/android-form.ts
@@ -0,0 +1,863 @@
+import {
+ LitElement,
+ css,
+ html
+} from 'lit';
+
+import { customElement, property,
+ state, } from "lit/decorators.js"
+import {ifDefined} from 'lit/directives/if-defined.js';
+
+import '../components/loading-button';
+import { tooltip, styles as ToolTipStyles } from '../components/tooltip';
+
+//@ts-ignore
+import style from "../../../styles/form-styles.css";
+import { getManifest } from '../services/manifest';
+import { createAndroidPackageOptionsFromManifest } from '../services/publish/android-publish';
+import { AndroidApkOptions } from '../utils/android-validation';
+
+import { smallBreakPoint, xxLargeBreakPoint } from '../utils/css/breakpoints';
+import { Manifest } from '../utils/interfaces';
+import { ChangeEvent } from 'rollup';
+
+@customElement('android-form')
+export class AndroidForm extends LitElement {
+ @property({ type: Boolean }) generating: boolean = false;
+
+ @state() show_adv = false;
+
+ // manifest form props
+ @state() signingKeyFullName = "John Doe";
+ @state() organization = "My Company";
+ @state() organizationalUnit = "Engineering";
+ @state() countryCode = "US";
+ @state() keyPassword = "";
+ @state() storePassword = "";
+ @state() alias = "my-key-alias";
+ @state() file: string | undefined = undefined;
+ @state() signingMode = "mine";
+
+ @state() default_options: AndroidApkOptions | undefined;
+
+ form: HTMLFormElement | undefined;
+ currentManifest: Manifest | undefined;
+ maxKeyFileSizeInBytes = 2097152;
+
+ static get styles() {
+ return [
+ style,
+ ToolTipStyles,
+ css`
+
+ fast-text-field::part(root), fast-number-field::part(root) {
+ border: 1px solid rgba(194, 201, 209, 1);
+ border-radius: var(--input-radius);
+ }
+
+ fast-text-field::part(control), fast-number-field::part(control) {
+ color: var(--font-color);
+ border-radius: var(--input-radius);
+ }
+
+ @media (min-height: 760px) and (max-height: 1000px) {
+ form {
+ width: 100%;
+ }
+ }
+
+ ${xxLargeBreakPoint(
+ css`
+ #form-layout {
+ max-height: 17em;
+ }
+ `
+ )}
+
+${smallBreakPoint(
+ css`
+ #form-layout {
+ max-height: 20em;
+ }
+ `
+ )}
+ `,
+ ];
+ }
+
+ constructor() {
+ super();
+ }
+
+ firstUpdated() {
+ const form = (this.shadowRoot?.querySelector('#android-options-form') as HTMLFormElement);
+
+ if (form) {
+ this.form = form;
+ }
+
+ this.currentManifest = getManifest();
+
+ this.default_options = createAndroidPackageOptionsFromManifest();
+ }
+
+ initGenerate() {
+ this.dispatchEvent(
+ new CustomEvent('init-android-gen', {
+ detail: {
+ form: this.form,
+ },
+ composed: true,
+ bubbles: true,
+ })
+ );
+ }
+
+ toggleSettings(settingsToggleValue: 'basic' | 'advanced') {
+ if (settingsToggleValue === 'advanced') {
+ this.show_adv = true;
+ } else if (settingsToggleValue === 'basic') {
+ this.show_adv = false;
+ } else {
+ this.show_adv = false;
+ }
+ }
+
+ opened(targetEl: EventTarget | null) {
+ if (targetEl) {
+ const flipperButton = (targetEl as Element).classList.contains(
+ 'flipper-button'
+ )
+ ? (targetEl as Element)
+ : (targetEl as Element).querySelector('.flipper-button');
+
+ if (flipperButton) {
+ if (flipperButton.classList.contains('opened')) {
+ flipperButton.animate(
+ [
+ {
+ transform: 'rotate(0deg)',
+ },
+ ],
+ {
+ duration: 200,
+ fill: 'forwards',
+ }
+ );
+
+ flipperButton.classList.remove('opened');
+ } else {
+ flipperButton.classList.add('opened');
+
+ flipperButton.animate(
+ [
+ {
+ transform: 'rotate(0deg)',
+ },
+ {
+ transform: 'rotate(90deg)',
+ },
+ ],
+ {
+ duration: 200,
+ fill: 'forwards',
+ }
+ );
+ }
+ }
+ }
+ }
+
+ /**
+ * Called when the user changes the signing mode.
+ */
+ androidSigningModeChanged(mode: "mine" | "new") {
+ if (!this.form) {
+ return;
+ }
+
+ this.signingMode = mode;
+
+ // If the user chose "mine", clear out existing values.
+ if (mode === "mine") {
+ this.alias = "";
+ this.signingKeyFullName = "";
+ this.organization = "";
+ this.organizationalUnit = "";
+ this.countryCode = "";
+ this.keyPassword = "";
+ this.storePassword = "";
+ } else if (mode === "new") {
+ this.alias = "my-key-alias";
+ this.signingKeyFullName = `${this.currentManifest?.short_name || this.currentManifest?.name || "App"
+ } Admin`;
+ this.organization =
+ this.currentManifest?.name || "PWABuilder";
+ this.organizationalUnit = "Engineering";
+ this.countryCode = "US";
+ this.keyPassword = "";
+ this.storePassword = "";
+ this.file = undefined;
+ }
+ }
+
+ androidSigningKeyUploaded(event: any) {
+ if (!this.form) {
+ return;
+ }
+
+ const filePicker = event as HTMLInputElement;
+
+ if (filePicker && filePicker.files && filePicker.files.length > 0) {
+ const keyFile = filePicker.files[0];
+ // Make sure it's a reasonable size.
+ if (keyFile && keyFile.size > this.maxKeyFileSizeInBytes) {
+ console.error("Keystore file is too large.", {
+ maxSize: this.maxKeyFileSizeInBytes,
+ fileSize: keyFile.size,
+ });
+ this.signingMode = "none";
+ }
+ // Read it in as a Uint8Array and store it in our signing object.
+ const fileReader = new FileReader();
+ fileReader.onload = () => (this.file = fileReader.result as string);
+ fileReader.onerror = (progressEvent) => {
+ console.error(
+ "Unable to read keystore file",
+ fileReader.error,
+ progressEvent
+ );
+ this.file = undefined;
+ if (this.form) {
+ this.signingMode = "none";
+ }
+ };
+ fileReader.readAsDataURL((keyFile as Blob));
+ }
+ }
+
+ render() {
+ return html`
+
+ `;
+ }
+}
diff --git a/src/script/components/app-alert.ts b/src/script/components/app-alert.ts
new file mode 100644
index 00000000..852056e4
--- /dev/null
+++ b/src/script/components/app-alert.ts
@@ -0,0 +1,116 @@
+import { LitElement, html, css } from 'lit';
+
+import { customElement, property } from "lit/decorators.js"
+
+@customElement('app-alert')
+export class AppAlert extends LitElement {
+ @property({ type: Boolean }) open = false;
+ @property({ type: String }) title = 'Title';
+
+ contextAnimation: Animation | undefined = undefined;
+ dialog: Element | null | undefined = undefined;
+
+ static get styles() {
+ return css`
+ #alert {
+ padding-left: 16px;
+ padding-right: 16px;
+ background: var(--primary-background-color);
+ box-shadow: 0px 16px 24px rgba(0, 0, 0, 0.24);
+ border-radius: 4px;
+ max-width: 300px;
+ }
+
+ #alert-header {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ }
+
+ #alert-header h5 {
+ font-size: 20px;
+ line-height: 24px;
+ font-weight: var(--font-bold);
+ margin-top: 12px;
+ margin-bottom: 12px;
+ }
+
+ #alert-header fast-button ion-icon {
+ height: 2em;
+ width: 2em;
+ color: #c2c9d1;
+ }
+
+ #alert-actions {
+ display: flex;
+ justify-content: flex-end;
+ padding-bottom: 20px;
+ }
+ `;
+ }
+
+ constructor() {
+ super();
+ }
+
+ public async openAlert(xValue: number, yValue: number) {
+ this.open = true;
+ await this.updateComplete;
+
+ this.dialog = this.shadowRoot?.querySelector('#alert');
+
+ if (this.dialog) {
+ (this.dialog as HTMLElement).style.top = `${yValue}px`;
+ (this.dialog as HTMLElement).style.left = `${xValue}px`;
+
+ this.contextAnimation = this.dialog.animate(
+ [
+ { transform: 'translateY(6px)', opacity: 0 },
+ { transform: 'translateY(0)', opacity: 1 },
+ ],
+ {
+ duration: 100,
+ fill: 'both',
+ }
+ );
+ }
+ }
+
+ public async close() {
+ if (this.contextAnimation) {
+ this.contextAnimation.reverse();
+ await this.contextAnimation.finished;
+ }
+
+ this.open = false;
+ }
+
+ render() {
+ if (this.open) {
+ return html`
+
+ `;
+ } else {
+ return null;
+ }
+ }
+}
diff --git a/src/script/components/app-badges.ts b/src/script/components/app-badges.ts
new file mode 100644
index 00000000..e796ed0f
--- /dev/null
+++ b/src/script/components/app-badges.ts
@@ -0,0 +1,78 @@
+import { LitElement, css, html } from 'lit';
+import { customElement, state } from 'lit/decorators.js';
+import { classMap } from 'lit/directives/class-map.js';
+
+import { getPossibleBadges, sortBadges } from '../services/badges';
+
+@customElement('app-badges')
+export class AppBadges extends LitElement {
+ @state() current_badges: Array<{ name: string; url: string }> | undefined;
+ @state() possible_badges: Array<{ name: string; url: string }> | undefined;
+
+ duplicate: Array<{ name: string; url: string }> | undefined;
+
+ static get styles() {
+ return css`
+ #badges-container {
+ padding: 14px 12px;
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ grid-gap: 10px;
+ }
+
+ .badge {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ }
+
+ .badge span {
+ font-size: 8px;
+ font-weight: var(--font-bold);
+ text-align: center;
+ }
+
+ .locked {
+ opacity: 0.5;
+ }
+ `;
+ }
+
+ constructor() {
+ super();
+ }
+
+ firstUpdated() {
+ this.duplicate = sortBadges();
+ this.possible_badges = getPossibleBadges();
+
+ console.log('this.duplicate', this.duplicate);
+ }
+
+ render() {
+ return html`
+
+ ${this.possible_badges?.map(badge => {
+ return html`
+
+
+
+ `;
+ })}
+
+ `;
+ }
+}
diff --git a/src/script/components/app-button.ts b/src/script/components/app-button.ts
new file mode 100644
index 00000000..012882ee
--- /dev/null
+++ b/src/script/components/app-button.ts
@@ -0,0 +1,106 @@
+import { LitElement, css, html } from 'lit';
+import { customElement, property } from 'lit/decorators.js';
+import { classMap } from 'lit/directives/class-map.js';
+import { mediumBreakPoint } from '../utils/css/breakpoints';
+import { fastButtonCss } from '../utils/css/fast-elements';
+import { FastButtonAppearance } from '../utils/fast-element';
+import { AppButtonElement } from '../utils/interfaces.components';
+
+@customElement('app-button')
+export class AppButton extends LitElement implements AppButtonElement {
+ @property({ type: String }) type = '';
+ @property({ type: String }) colorMode = 'primary';
+ @property({ type: String }) appearance: FastButtonAppearance = 'neutral';
+ @property({ type: Boolean }) disabled = false;
+
+ static get styles() {
+ return [
+ css`
+ :host {
+ border-radius: var(--button-radius);
+ display: block;
+
+ --font-size: var(--desktop-button-font-size);
+ --button-height: 44px;
+ --button-height: var(--desktop-button-height);
+ --button-square: var(--button-height);
+ --button-width: 127px;
+ --button-width: var(--button-width);
+ --button-font-color: var(--secondary-color);
+ --pading-vertical: 0;
+ --padding-horizontal: 34px;
+ }
+ `,
+ // fast css
+ fastButtonCss,
+ css`
+ fast-button.link {
+ --accent-foreground-active: var(--font-color);
+ --accent-foreground-hover: var(--font-color);
+
+ width: auto;
+
+ border-radius: unset;
+ box-shadow: none;
+ }
+
+ fast-button.link::part(control) {
+ --padding-horizontal: 0;
+
+ width: auto;
+ }
+
+ fast-button.round,
+ fast-button.square {
+ height: var(--button-square);
+ width: var(--button-square);
+ }
+
+ fast-button.round::part(control),
+ fast-button.square::part(control) {
+ /* assumption is that the button is 14x21 */
+ --padding-horizontal: 15px;
+
+ align-items: center;
+ line-height: 0;
+ }
+ `,
+ mediumBreakPoint(
+ css`
+ :host {
+ --font-size: var(--mobile-button-fontsize);
+ --button-height: var(--mobile-button-height);
+ }
+
+ fast-button.navigation {
+ --button-width: 180px;
+ line-height: 28px;
+ }
+ `
+ ),
+ ];
+ }
+
+ constructor() {
+ super();
+ }
+
+ render() {
+ return html`
+
+
+
+ `;
+ }
+}
diff --git a/src/script/components/app-card.ts b/src/script/components/app-card.ts
new file mode 100644
index 00000000..c255eb99
--- /dev/null
+++ b/src/script/components/app-card.ts
@@ -0,0 +1,706 @@
+/* eslint-disable no-fallthrough */
+import { LitElement, css, html } from 'lit';
+import { customElement, property } from 'lit/decorators.js';
+import { classMap } from 'lit/directives/class-map.js';
+import { Router } from '@vaadin/router';
+
+import { ifDefined } from 'lit/directives/if-defined.js';
+
+import { largeBreakPoint, BreakpointValues } from '../utils/css/breakpoints';
+import { fastButtonCss } from '../utils/css/fast-elements';
+import { Lazy } from '../utils/interfaces';
+
+export enum AppCardModes {
+ default = 'default',
+ blog = 'blog',
+ micro = 'micro',
+ microDescription = 'micro-description',
+ contentCard = 'content-card',
+}
+
+@customElement('app-card')
+export class AppCard extends LitElement {
+ @property({ attribute: 'bordered', type: Boolean })
+ imageBordered = false;
+ @property({ type: String }) imageUrl: Lazy;
+ @property({ type: String }) cardTitle: Lazy;
+ @property({ type: String }) description: Lazy;
+ @property({ type: String }) date: Lazy;
+ @property({ type: String }) linkText: Lazy;
+ @property({ type: String }) linkRoute: Lazy;
+
+ @property({ type: Boolean }) featured = false;
+ @property({ type: Boolean }) shareLink = false;
+ @property({ type: Array }) tags: Array = [];
+ @property({ type: Boolean }) isActionCard = false;
+
+ static get styles() {
+ return [
+ // host
+ css`
+ :host {
+ background: transparent;
+ display: flex;
+ color: var(--primary-color);
+ justify-content: center;
+ border-radius: 4px;
+ }
+ `,
+ // default card
+ css`
+ fast-card {
+ color: var(--font-color);
+ font-size: var(--font-size);
+ background: white;
+ border-radius: 4px;
+ }
+
+ fast-card h3,
+ fast-card p {
+ white-space: initial;
+ }
+
+ fast-card.default {
+ min-width: 200px;
+ max-width: 280px;
+ padding-bottom: 16px;
+ }
+
+ fast-card.default h3 {
+ font-size: 24px;
+ line-height: 24px;
+ font-weight: var(--font-bold);
+ margin: 16px 16px 0px;
+ }
+
+ fast-card.default p {
+ color: var(--secondary-font-color);
+ margin: 8px 16px 0 16px;
+
+ line-height: 20px;
+ }
+
+ fast-card.default app-button::part(underlying-button) {
+ color: var(--link-color);
+ }
+
+ fast-card .card-actions {
+ margin: 0 16px;
+ }
+
+ fast-card .tag-list {
+ display: inline-block;
+ }
+
+ img {
+ width: 100%;
+ object-fit: none;
+ height: 188px;
+ }
+
+ h3 {
+ font-size: 24px;
+ line-height: 24px;
+ font-weight: var(--font-bold);
+ margin: 16px 16px 0 16px;
+ }
+
+ p {
+ color: var(--secondary-font-color);
+ margin: 8px 16px 0 16px;
+
+ font-size: 14px;
+ line-height: 20px;
+ }
+
+ .card-actions {
+ margin-top: 8px;
+ }
+
+ .card-actions app-button::part(underlying-button) {
+ font-weight: bold;
+ font-size: 14px;
+ line-height: 20px;
+ color: var(--link-color);
+ padding: 0;
+ }
+ `,
+ // overlay
+ css`
+ .img-overlay {
+ position: fixed;
+ }
+
+ .img-overlay,
+ fast-card img {
+ width: calc(100% - 16px);
+ object-fit: none;
+ max-height: 184px;
+ }
+
+ .img-overlay.bordered,
+ fast-card img.bordered {
+ padding: 8px;
+ width: calc(100% - 48px);
+ }
+
+ .img-overlay .overlay-top {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ }
+
+ .blog.featured img,
+ .blog.featured .img-overlay {
+ max-height: none;
+ height: calc(100% - 32px);
+ }
+ `,
+ // blog card
+ css`
+ .blog {
+ background: white;
+ color: var(--font-color);
+ padding-bottom: 16px;
+ }
+
+ .blog img {
+ height: 200px;
+ width: 100%;
+ object-fit: none;
+ }
+
+ .blog h3 {
+ /* line-height: 34px; */
+ line-height: 20px;
+ font-size: 24px;
+ font-weight: var(--font-bold);
+ margin: 16px 16px 0 16px;
+ }
+
+ .blog p {
+ color: var(--secondary-font-color);
+
+ font-size: 14px;
+ line-height: 20px;
+ }
+
+ .blog .overlay-top {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ }
+
+ .blog .img-overlay {
+ position: absolute;
+ width: calc(100% - 32px);
+ padding: 16px;
+ }
+
+ .blog .content {
+ display: flex;
+ justify-content: space-between;
+ vertical-align: text-top;
+ margin-top: 8px;
+ padding: 8px 16px 0 16px;
+ }
+
+ .blog .content app-button::part(underlying-button) {
+ text-align: text-top;
+ align-items: baseline;
+ }
+
+ .blog .content h2 {
+ display: inline-block;
+ font-size: 18px;
+ margin: 0;
+ }
+
+ .img-overlay p {
+ margin: 0;
+ }
+
+ .blog .content {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+
+ padding: 8px;
+ }
+
+ .blog .content h3 {
+ font-size: 24px;
+ margin: 0;
+ }
+
+ .blog.featured {
+ padding: 0;
+ }
+
+ .blog.featured h3 {
+ line-height: 34px;
+ font-size: 28px;
+ margin: 16px 0 8px 0;
+ }
+
+ .blog.featured p {
+ font-size: 18px;
+ line-height: 24px;
+ font-weight: 500px;
+ color: var(--font-color);
+ }
+
+ .blog.featured img {
+ height: 100%;
+ }
+
+ .blog.featured .tag-list {
+ position: absolute;
+ right: unset;
+ margin: 0 16px 8px 0;
+ bottom: 0;
+ right: 0;
+ }
+
+ .tag {
+ margin: 8px 8px 0 16px;
+ padding: 2px 6px;
+ border-radius: 2px;
+ background-color: var(--primary-background-color);
+ }
+
+ .blog.featured .img-overlay {
+ display: inline-block;
+ }
+
+ .blog.featured .img-overlay .share::part(underlying-button) {
+ font-size: 14px;
+ color: var(--font-color);
+ vertical-align: middle;
+ }
+
+ .blog.featured .tag-list {
+ position: absolute;
+ right: unset;
+ margin: 0 16px 8px 0;
+ bottom: 0;
+ right: 0;
+ }
+
+ .blog.featured .tag-list .tag {
+ margin: 8px 0 0 8px;
+ }
+
+ .share-button-text {
+ color: var(--font-color);
+ font-weight: 700;
+ }
+
+ fast-button.share.link {
+ --desktop-button-font-size: 16px;
+ box-shadow: none;
+ }
+
+ fast-button.share::part(control) {
+ font-size: 14px;
+ color: var(--font-color);
+ vertical-align: top;
+ }
+
+ .blog .tag,
+ .blog .date,
+ .blog .share::part(control) {
+ display: inline-block;
+ vertical-align: middle;
+ }
+
+ .blog .share::part(control),
+ .blog .tag::part(control) {
+ color: var(--font-color);
+ font-size: var(--desktop-button-font-size);
+ font-weight: 400;
+ height: fit-content;
+ }
+
+ .blog .img-overlay .date,
+ .blog .img-overlay .tag::part(underlying-button),
+ .blog .img-overlay .share::part(control),
+ .blog .content .share::part(control) {
+ display: inline-block;
+ font-size: var(--desktop-button-font-size);
+ }
+
+ .blog .date {
+ --desktop-button-font-size: 16px;
+ font-weight: 700;
+ line-height: 21px;
+ color: var(--font-color);
+ }
+
+ .blog.featured fast-badge::part(control) {
+ --badge-fill-primary: white;
+ color: var(--font-color);
+ }
+
+ fast-badge::part(control) {
+ --badge-color-dark: var(--font-color);
+ --badge-fill-primary: var(--primary-background-color);
+ color: var(--font-color);
+ }
+ `,
+ largeBreakPoint(
+ css`
+ .blog .img-overlay {
+ height: 142px;
+ }
+
+ .blog.featured {
+ min-width: 220px;
+ }
+
+ .blog {
+ min-width: 200px;
+ }
+ `
+ ),
+ // micro card
+ css`
+ .micro {
+ display: grid;
+ width: 100%;
+ max-width: 416px;
+ margin: 16px;
+
+ grid-template-columns: 72px auto;
+ }
+
+ .micro img {
+ object-fit: fill;
+ height: 72px;
+ width: 73px;
+ }
+
+ .micro .content {
+ display: inline-flex;
+ flex-direction: column;
+ justify-content: center;
+ margin: 8px;
+ }
+
+ .micro.micro-description .content {
+ justify-content: space-between;
+ }
+
+ .micro h3 {
+ margin: 0;
+ line-height: 24px;
+ font-size: 24px;
+ }
+
+ .micro p {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ height: 32px;
+ margin: 0;
+
+ line-height: 16px;
+ font-size: 12px;
+ }
+ `,
+ // content card
+ css`
+ fast-card.content-card {
+ background-color: var(--primary-background-color);
+ padding: 1rem 0;
+ width: 100%;
+ max-width: 1024px;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ align-items: center;
+ box-shadow: none;
+ border-radius: 0;
+ border-bottom: 0.67681px solid #e5e5e5;
+ }
+
+ .content-card .header {
+ margin-right: 0;
+ }
+
+ .content-card .header p {
+ color: #808080;
+ }
+
+ .content-card app-button {
+ margin-top: 1rem;
+ }
+ `,
+ largeBreakPoint(
+ css`
+ fast-card.content-card {
+ width: calc(100vw - 30vw);
+ flex-direction: row;
+ }
+
+ .content-card .header {
+ margin-right: 1rem;
+ }
+
+ .content-card app-button {
+ margin-top: 0;
+ }
+ `,
+ 'no-upper'
+ ),
+ fastButtonCss,
+ ];
+ }
+
+ constructor() {
+ super();
+ }
+
+ render() {
+ const className = this.className;
+
+ if (className.includes(AppCardModes.blog)) {
+ return this.renderBlogCard();
+ } else if (className.includes(AppCardModes.micro)) {
+ return this.renderMicroCard();
+ } else if (className.includes(AppCardModes.microDescription)) {
+ return this.renderMicroDescriptionCard();
+ } else if (className.includes(AppCardModes.contentCard)) {
+ return this.renderContentCard();
+ }
+
+ return this.renderDefault();
+ }
+
+ renderDefault() {
+ return html`
+
+
+
+
+
+ ${this.cardTitle}
+ ${this.description}
+
+
+
View ${this.cardTitle}
+
+
+ `;
+ }
+
+ renderBlogCard() {
+ // Featured Card Html
+ if (this.featured && window.innerWidth > BreakpointValues.mediumUpper) {
+ return html`
+
+
+
+ ${this.date}
+ ${this.renderShareButton()}
+
+
${this.cardTitle}
+
${this.description}
+
+
+
${this.renderTagList()}
+
+
+
+ `;
+ }
+
+ return html`
+
+
+
+
${this.date}
+
${this.renderTagList()}
+ ${this.renderShareButton()}
+
+
+
+
+
+
${this.cardTitle}
+
+
+ `;
+ }
+
+ renderMicroCard() {
+ return html`
+
+
+
+
${this.cardTitle}
+
+
+ `;
+ }
+
+ renderMicroDescriptionCard() {
+ return html`
+
+
+
+
${this.cardTitle}
+
${this.description}
+
+
+ `;
+ }
+
+ renderContentCard() {
+ return html`
+
+ ${this.isActionCard
+ ? html``
+ : html``}
+ `;
+ }
+ renderShareButton() {
+ return html`
+
+ SHARE
+
+ `;
+ }
+
+ renderTagList() {
+ return this.tags.map(
+ tag => html` ${tag} `
+ );
+ }
+
+ share() {
+ console.log('share');
+ }
+
+ route() {
+ this.linkRoute && Router.go(this.linkRoute);
+ }
+}
diff --git a/src/script/components/app-file-input.ts b/src/script/components/app-file-input.ts
new file mode 100644
index 00000000..deda4907
--- /dev/null
+++ b/src/script/components/app-file-input.ts
@@ -0,0 +1,91 @@
+import {
+ LitElement,
+ css,
+ html
+} from 'lit';
+
+import { customElement, property, query } from "lit/decorators.js"
+
+import { hidden } from '../utils/css/hidden';
+import { fastButtonCss } from '../utils/css/fast-elements';
+import { FileInputDetails, Lazy } from '../utils/interfaces';
+import { ifDefined } from 'lit/directives/if-defined.js';
+
+@customElement('app-file-input')
+export class FileInput extends LitElement {
+ @property({ type: String, attribute: true }) inputId: string;
+ @query('.file-input') fileInput: Lazy;
+
+ static get styles() {
+ return [
+ css`
+
+ `,
+ hidden,
+ fastButtonCss,
+ ];
+ }
+
+ get input() {
+ return this.fileInput;
+ }
+
+ get value() {
+ return this.fileInput?.value;
+ }
+
+ get files() {
+ return this.fileInput?.files;
+ }
+
+ constructor() {
+ super();
+ }
+
+ render() {
+ return html`
+
+ ${this.buttonText()}
+
+
+ `;
+ }
+
+ clickModalInput() {
+ this.fileInput?.click();
+ }
+
+ buttonText() {
+ if (this.input?.files?.length) {
+ return this.input?.files?.item(0)?.name;
+ }
+
+ return 'Choose File';
+ }
+
+ handleModalInputFileChosen() {
+ if (this.input) {
+ const changeEvent = new CustomEvent('input-change', {
+ detail: {
+ input: this.input,
+ },
+ composed: true,
+ bubbles: true,
+ });
+
+ this.dispatchEvent(changeEvent);
+ this.requestUpdate();
+ }
+ }
+}
diff --git a/src/script/components/app-footer.ts b/src/script/components/app-footer.ts
new file mode 100644
index 00000000..f2f3e405
--- /dev/null
+++ b/src/script/components/app-footer.ts
@@ -0,0 +1,177 @@
+import { LitElement, css, html } from 'lit';
+
+import { customElement } from "lit/decorators.js"
+
+import { smallBreakPoint, mediumBreakPoint, xxxLargeBreakPoint } from '../utils/css/breakpoints';
+
+@customElement('app-footer')
+export class AppFooter extends LitElement {
+ static get styles() {
+ return css`
+ footer {
+ /*temp color*/
+ background: #f3f3f3;
+
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding-top: 16px;
+ padding-bottom: 16px;
+ padding-left: 37px;
+ padding-right: 37px;
+ font-weight: 700;
+ font-size: var(--small-font-size);
+ }
+
+ fast-anchor::part(control) {
+ border-bottom: none;
+ }
+
+ ion-icon {
+ font-size: var(--font-size);
+ color: var(--font-color);
+ }
+
+ span {
+ max-width: 672px;
+ display: block;
+ }
+
+ #icons {
+ width: 8em;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ }
+
+ #links {
+ margin-top: 8px;
+ }
+
+ #links a {
+ margin-right: 12px;
+ }
+
+ ${xxxLargeBreakPoint(
+ css`
+ footer {
+ justify-content: center;
+ }
+
+ /* 30em here to line up with rest of
+ layout at this size */
+ #footer-top {
+ margin-right: 30em;
+ }
+ `
+ )}
+
+ ${mediumBreakPoint(
+ css`
+ footer {
+ flex-direction: column;
+ }
+
+ #footer-top {
+ align-items: center;
+ text-align: center;
+ display: flex;
+ flex-direction: column;
+ }
+
+ #links {
+ margin-top: 30px;
+ margin-bottom: 30px;
+ }
+
+ #icons {
+ width: 10em;
+ }
+
+ #icons fast-anchor {
+ margin-right: 46px;
+ }
+
+ #icons ion-icon {
+ font-size: 27px;
+ color: black;
+ }
+ `
+ )}
+
+ ${smallBreakPoint(css`
+ footer {
+ align-items: center;
+ display: flex;
+ flex-direction: column;
+ text-align: center;
+ }
+
+ #icons {
+ margin-top: 10px;
+ }
+ `)}
+ `;
+ }
+
+ constructor() {
+ super();
+ }
+
+ render() {
+ return html`
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ `;
+ }
+}
diff --git a/src/script/components/app-gallery.ts b/src/script/components/app-gallery.ts
new file mode 100644
index 00000000..84592209
--- /dev/null
+++ b/src/script/components/app-gallery.ts
@@ -0,0 +1,134 @@
+import {
+ LitElement,
+ css,
+ html,
+ customElement,
+ property,
+ internalProperty,
+ query,
+} from 'lit-element';
+import { Lazy } from '../utils/interfaces';
+
+import './app-modal';
+import './app-button';
+
+@customElement('app-gallery')
+export class AppGallery extends LitElement {
+ @property({ attribute: 'images', type: Array }) images: Lazy>;
+ @property({ type: Number }) index = 0;
+ @internalProperty() modalOpened = false;
+
+ @query('.gallery') gallery: Lazy;
+
+ static get styles() {
+ return css`
+ :host {
+ }
+
+ .gallery {
+ display: flex;
+ flex-direction: row;
+ vertical-align: middle;
+ align-items: center;
+ }
+
+ .image-container,
+ .image-container img {
+ max-height: 216px;
+ max-width: 344px;
+ }
+ `;
+ }
+
+ get currentImage() {
+ if (!this.images) {
+ return undefined;
+ }
+
+ return this.images[this.index] ?? undefined;
+ }
+
+ constructor() {
+ super();
+ }
+
+ render() {
+ return html`
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ `;
+ }
+
+ navigateBack() {
+ if (!this.backDisabled()) {
+ this.index -= 1;
+ }
+ }
+
+ navigateForward() {
+ if (!this.forwardDisabled()) {
+ this.index += 1;
+ }
+ }
+
+ backDisabled() {
+ return this.index <= 0;
+ }
+
+ forwardDisabled() {
+ if (this.images) {
+ return this.index >= this.images.length - 1;
+ }
+ else {
+ // no images so we are going to disable going forward
+ return false;
+ }
+ }
+
+ openModal() {
+ this.modalOpened = true;
+ }
+
+ closeModal() {
+ this.modalOpened = false;
+ }
+}
diff --git a/src/script/components/app-header.ts b/src/script/components/app-header.ts
new file mode 100644
index 00000000..32665aa9
--- /dev/null
+++ b/src/script/components/app-header.ts
@@ -0,0 +1,195 @@
+import { Router } from '@vaadin/router';
+import { LitElement, css, html } from 'lit';
+import { customElement, property } from "lit/decorators.js"
+
+import {
+ xxLargeBreakPoint,
+ xLargeBreakPoint,
+ largeBreakPoint,
+ mediumBreakPoint,
+ smallBreakPoint,
+} from '../utils/css/breakpoints';
+
+@customElement('app-header')
+export class AppHeader extends LitElement {
+ @property({ type: String }) title = 'PWABuilder';
+
+ static get styles() {
+ return css`
+ :host {
+ --header-background: transparent;
+ --header-border: rgba(0, 0, 0, 0.25) solid 1px;
+ }
+
+ header {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding-left: 16px;
+ padding-right: 16px;
+ background: var(--header-background);
+ color: white;
+ height: 71px;
+
+ border-bottom: var(--header-border);
+ }
+
+ header img {
+ cursor: pointer;
+ }
+
+ header h1 {
+ margin-top: 0;
+ margin-bottom: 0;
+ font-size: 20px;
+ font-weight: bold;
+ }
+
+ nav {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ width: 8em;
+
+ font-size: 18px;
+ }
+
+ nav fast-anchor::part(control) {
+ color: var(--font-color);
+ text-decoration: none;
+ border-bottom: none;
+ font-weight: var(--font-bold);
+ }
+
+ nav ion-icon {
+ font-size: 2em;
+ }
+
+ #desktop-nav {
+ display: flex;
+ }
+
+ #mobile-nav {
+ display: none;
+ width: initial;
+ }
+
+ #mobile-nav fast-button::part(control) {
+ color: black;
+ }
+
+ @media (prefers-color-scheme: light) {
+ header {
+ color: black;
+ }
+ }
+
+ ${smallBreakPoint(css`
+ header nav {
+ display: none;
+ }
+
+ #desktop-nav {
+ display: none;
+ }
+
+ #mobile-nav {
+ display: flex;
+ }
+
+ nav fast-anchor::part(control) {
+ color: white;
+ }
+ `)}
+
+ ${mediumBreakPoint(css`
+ header nav {
+ display: initial;
+ }
+
+ #desktop-nav {
+ display: flex;
+ }
+
+ #mobile-nav {
+ display: none;
+ }
+
+ nav fast-anchor::part(control) {
+ color: white;
+ }
+ `)}
+
+
+ ${largeBreakPoint(css`
+ #desktop-nav {
+ display: flex;
+ }
+
+ #mobile-nav {
+ display: none;
+ }
+
+ nav fast-anchor::part(control) {
+ color: white;
+ }
+ `)}
+
+ ${xLargeBreakPoint(css`
+ header {
+ padding-left: 1em;
+ padding-right: 1em;
+ }
+ `)}
+
+ ${xxLargeBreakPoint(css`
+ header {
+ padding-left: 3em;
+ padding-right: 3em;
+ }
+ `)}
+ `;
+ }
+
+ constructor() {
+ super();
+ }
+
+ goBack() {
+ const currentPlace = location.href;
+
+ if (currentPlace.includes('reportcard')) {
+ Router.go("/");
+ }
+ else {
+ window.history.back();
+ }
+ }
+
+ render() {
+ return html`
+
+ this.goBack()}" id="header-icon" src="/assets/images/header_logo.webp" alt="header logo">
+
+
+ Resources
+
+
+
+
+
+
+
+
+
+
+
+
+ `;
+ }
+}
diff --git a/src/script/components/app-modal.ts b/src/script/components/app-modal.ts
new file mode 100644
index 00000000..cf5ddaa7
--- /dev/null
+++ b/src/script/components/app-modal.ts
@@ -0,0 +1,214 @@
+import { LitElement, css, html } from 'lit';
+import { customElement, property } from 'lit/decorators.js';
+
+import { ModalCloseEvent } from '../utils/interfaces';
+import { smallBreakPoint } from '../utils/css/breakpoints';
+
+@customElement('app-modal')
+export class AppModal extends LitElement {
+ @property({ type: Boolean }) open = false;
+ @property({ type: String }) title = '';
+ @property({ type: String }) body = '';
+ @property({ type: String }) modalId = '';
+
+ modalAni: Animation | undefined = undefined;
+ backgroundAni: Animation | undefined = undefined;
+
+ static get styles() {
+ return css`
+ #background {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background: transparent;
+ backdrop-filter: blur(10px);
+ z-index: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ z-index: 3;
+ }
+
+ #modal {
+ background: white;
+ margin: 51px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+ padding-left: 16px;
+ padding-right: 16px;
+ padding-bottom: 45px;
+ border-radius: 8px;
+ box-shadow: 0px 16px 24px rgba(0, 0, 0, 0.12);
+
+ z-index: 4;
+ }
+
+ #modal-header #title {
+ font-weight: bold;
+ font-size: var(--medium-font-size);
+ line-height: 28px;
+ }
+
+ #modal-body {
+ text-align: center;
+ }
+
+ #modal-body p {
+ font-weight: 300;
+ font-size: 14px;
+ line-height: 20px;
+ color: var(--secondary-font-color);
+ }
+
+ #modal-form {
+ padding: 14px;
+ width: 100%;
+ }
+
+ #back-button-block {
+ width: 100%;
+ display: flex;
+ justify-content: flex-end;
+ }
+
+ #back-button-block fast-button {
+ margin-top: 12px;
+ background: none;
+ }
+
+ #back-button-block fast-button ion-icon {
+ height: 2em;
+ width: 2em;
+ color: #c2c9d1;
+ }
+
+ ${smallBreakPoint(css`
+ #modal {
+ margin: 0px;
+ padding: 0px;
+ width: 100vw !important;
+ height: 100vh;
+ }
+
+ #modal-form {
+ height: 100%;
+ }
+ `)}
+ `;
+ }
+
+ constructor() {
+ super();
+
+ this.addEventListener('scroll', (e: Event) => {
+ console.log('scroll', e);
+ });
+ }
+
+ firstUpdated() {
+ const modalEl = this.shadowRoot?.querySelector('#modal');
+ const backgroundEl = this.shadowRoot?.querySelector('#background');
+
+ if (modalEl) {
+ this.modalAni = modalEl.animate(
+ [
+ { transform: 'translateY(10px)', opacity: 0 },
+ {
+ transform: 'translateY(0)',
+ opacity: 1,
+ },
+ ],
+ {
+ duration: 280,
+ easing: 'ease-in-out',
+ }
+ );
+ }
+
+ if (backgroundEl) {
+ this.backgroundAni = backgroundEl.animate(
+ [
+ {
+ opacity: 0,
+ },
+ {
+ opacity: 1,
+ },
+ ],
+ {
+ duration: 280,
+ easing: 'ease-in-out',
+ }
+ );
+ }
+ }
+
+ async close() {
+ if (this.modalAni && this.backgroundAni) {
+ this.modalAni.reverse();
+ this.backgroundAni.reverse();
+
+ await this.modalAni.finished;
+ await this.backgroundAni.finished;
+
+ this.open = false;
+ } else {
+ // Should never really end up here
+ // but just in case close modal without animation
+ this.open = false;
+ }
+
+ this.dispatchEvent(
+ new CustomEvent('app-modal-close', {
+ detail: {
+ modalId: this.modalId,
+ },
+ composed: true,
+ bubbles: true,
+ })
+ );
+ }
+
+ render() {
+ if (this.open) {
+ return html`
+
+
+
+ this.close()}" appearance="stealth">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ `;
+ } else {
+ return null;
+ }
+ }
+}
diff --git a/src/script/components/app-sidebar.ts b/src/script/components/app-sidebar.ts
new file mode 100644
index 00000000..75f25f78
--- /dev/null
+++ b/src/script/components/app-sidebar.ts
@@ -0,0 +1,730 @@
+import {
+ BreakpointValues,
+ mediumBreakPoint,
+ smallBreakPoint,
+} from './../utils/css/breakpoints';
+import { LitElement, css, html, TemplateResult } from 'lit';
+
+import { customElement, property, state } from 'lit/decorators.js';
+
+import { getProgress, getResults, getURL } from '../services/app-info';
+import {
+ Progress,
+ ProgressItem,
+ ProgressList,
+ RawTestResult,
+ Status,
+} from '../utils/interfaces';
+
+import { classMap } from 'lit/directives/class-map.js';
+
+import './sidebar-card';
+import { getOverallScore } from '../services/tests';
+
+import './rating-dial';
+import './app-badges';
+
+@customElement('app-sidebar')
+export class AppSidebar extends LitElement {
+ static get styles() {
+ return css`
+ sidebar-card {
+ margin-top: 20px;
+ }
+
+ #badges-card {
+ margin-bottom: 20px;
+ }
+
+ .sidebar-item-header {
+ display: flex;
+ font-size: var(--small-font-size);
+ font-weight: var(--font-bold);
+ padding-bottom: 11px;
+ border-left: 0.772396px solid rgba(255, 255, 255, 0.2);
+ padding-left: 5px;
+ }
+
+ .lastItem .sidebar-item-header {
+ padding-bottom: 0;
+ }
+
+ .item-name {
+ display: flex;
+ align-items: center;
+ font-size: 11px;
+
+ padding-left: 12px;
+ }
+
+ #sidebar-subitems-list {
+ list-style: none;
+ padding-left: 0;
+ }
+
+ #sidebar-subitems-list li {
+ font-weight: var(--font-bold);
+ padding-left: 23px;
+ }
+
+ /** DESKTOP STYLES */
+ aside.desktop-sidebar {
+ color: var(--secondary-color);
+ background: var(--primary-purple);
+ height: 100%;
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ }
+
+ #top-of-menu {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ }
+
+ #website-tested,
+ #your-score {
+ font-size: var(--small-font-size);
+ margin-top: 1em;
+ }
+
+ #website-tested {
+ text-align: center;
+ color: white;
+ text-decoration: none;
+
+ margin-top: 0;
+ margin-bottom: 16px;
+ font-weight: var(--font-bold);
+ font-size: 9px;
+ }
+
+ aside.desktop-sidebar img {
+ height: 56px;
+ width: 56px;
+ }
+
+ aside.desktop-sidebar img,
+ aside.desktop-sidebar #score-progress {
+ margin-top: 1em;
+ margin-bottom: 1em;
+ }
+
+ aside.desktop-sidebar fast-menu {
+ margin: 0;
+ padding: 0;
+ border: none;
+ border-radius: 0;
+ box-shadow: none;
+ display: grid;
+ grid-auto-flow: row;
+ width: 100%;
+ }
+
+ aside.desktop-sidebar h1,
+ aside.desktop-sidebar h4,
+ aside.desktop-sidebar h5,
+ aside.desktop-sidebar p {
+ margin: 0;
+ }
+
+ aside.desktop-sidebar h4 {
+ font-size: var(--font-size);
+ margin-top: 16px;
+ }
+
+ aside.desktop-sidebar hr {
+ background-color: var(--secondary-color);
+ width: 85%;
+ }
+
+ fast-menu.menu > fast-menu-item {
+ display: flex;
+ justify-content: flex-start;
+ width: 100%;
+ color: var(--light-primary-color);
+ background: var(--primary-color);
+ margin: 0;
+ border: none;
+ border-radius: 0;
+ box-shadow: none;
+ padding: 1.1rem 2rem;
+ text-transform: capitalize;
+ }
+
+ fast-menu.menu > fast-menu-item.heading {
+ font-weight: bold;
+ background: var(--light-primary-color);
+ }
+
+ fast-menu.menu > fast-menu-item.active {
+ color: var(--primary-color);
+ background: var(--secondary-color);
+ }
+
+ fast-menu.menu > fast-menu-item.active-cell {
+ font-weight: bold;
+ color: var(--secondary-color);
+ }
+
+ .desktop-sidebar #score-number {
+ font-size: 72px;
+ font-weight: var(--font-bold);
+ }
+
+ .desktop-sidebar #score-message,
+ .tablet-sidebar #score-message {
+ color: var(--sidebar-accent);
+
+ font-weight: var(--font-bold);
+ margin-top: -1em;
+ }
+
+ /** TABLET STYLES */
+ aside.tablet-sidebar {
+ color: var(--secondary-color);
+ background: var(--primary-purple);
+ height: 50px;
+ max-width: 100%;
+ display: flex;
+ justify-content: space-evenly;
+ align-items: center;
+ padding: 0.25rem 0rem;
+ }
+
+ aside.tablet-sidebar .done,
+ .tablet-sidebar .done::part(heading) {
+ color: white !important;
+ }
+
+ aside.tablet-sidebar .done ion-icon {
+ color: var(--sidebar-accent) !important;
+ }
+
+ .tablet-sidebar #score-block {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ width: 100%;
+
+ border-right: 1px solid var(--secondary-color);
+ padding-right: 20px;
+ }
+
+ .tablet-sidebar #score-message {
+ font-size: var(--font-size);
+ margin-top: 0;
+ }
+
+ .tablet-sidebar #your-score {
+ margin-bottom: 0px;
+ margin-top: 0px;
+
+ font-size: var(--smallish-font-size);
+ }
+
+ aside.tablet-sidebar > * {
+ padding: 0 0.25rem;
+ margin: 0 0.25em;
+ display: flex;
+ align-items: center;
+ }
+
+ aside.tablet-sidebar img {
+ max-width: 50px;
+ height: 24px;
+ width: 24px;
+ }
+
+ aside.tablet-sidebar > h6 {
+ font-size: 0.75rem;
+ }
+
+ aside.tablet-sidebar .menu {
+ display: flex;
+ align-items: center;
+ height: 50px;
+
+ font-size: var(--small-font-size);
+ font-weight: var(--font-bold);
+ }
+
+ aside.tablet-sidebar .menu > .heading {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ align-content: center;
+ text-transform: capitalize;
+ color: var(--light-primary-color);
+ margin: 0 0.5rem;
+ }
+
+ aside.tablet-sidebar .menu .active {
+ color: white;
+ }
+
+ aside.tablet-sidebar #score-progress {
+ border-right: 1px solid var(--secondary-color);
+ height: 100%;
+ font-size: var(--smallish-font-size);
+
+ flex: none;
+ width: 32vw;
+
+ display: flex;
+ justify-content: center;
+ }
+
+ aside.tablet-sidebar #score-number {
+ font-weight: var(--font-bold);
+ }
+
+ /** ICON STYLES */
+ .desktop-sidebar .icon {
+ position: relative;
+ left: -9.4px;
+ height: auto;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 6.18px;
+
+ width: 8px;
+ height: 10px;
+ }
+
+ .item-name ion-icon {
+ height: 10px;
+ color: var(--sidebar-color);
+ padding-bottom: 3px;
+ }
+
+ .tablet-sidebar .icon {
+ width: 0.75rem;
+ height: 0.75rem;
+ }
+
+ .pending,
+ .done,
+ .pending::part(heading),
+ .done::part(heading) {
+ color: rgba(255, 255, 255, 0.5);
+ }
+
+ .active::part(heading) {
+ background: white;
+ color: black;
+ padding-left: 23px;
+ }
+
+ .done::part(heading),
+ .pending::part(heading) {
+ background: rgba(255, 255, 255, 0.05);
+ padding-left: 23px;
+ }
+
+ .active .sidebar-item-header ion-icon {
+ color: white;
+ }
+
+ #overall-score-block {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: space-between;
+ text-align: center;
+ padding: 14px 12px;
+ }
+
+ #progress-block {
+ padding: 14px 12px;
+ }
+
+ #score-header,
+ #score-notify {
+ font-weight: var(--font-bold);
+ font-size: var(--font-size);
+ }
+
+ .overall-score {
+ border: 2.45288px solid #ffffff;
+ width: 100%;
+ border-radius: 8px;
+ font-weight: var(--font-bold);
+ background: linear-gradient(
+ 118.44deg,
+ rgba(52, 41, 102, 0.5) 12.3%,
+ rgba(93, 68, 140, 0.5) 38.83%,
+ rgba(50, 27, 62, 0.5) 96.92%
+ );
+ margin-top: 15px;
+ margin-bottom: 19px;
+ text-align: center;
+ }
+
+ .overall-score span {
+ vertical-align: sub;
+ }
+
+ #plus {
+ color: var(--sidebar-accent);
+ }
+
+ .tablet-sidebar .overall-score {
+ max-width: 64px;
+ text-align: center;
+ }
+
+ #overall-score-block {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: space-between;
+ text-align: center;
+ padding-left: 12px;
+ padding-right: 12px;
+ padding-top: 14px;
+ padding-bottom: 14px;
+ }
+
+ #score-header,
+ #score-notify {
+ font-weight: var(--font-bold);
+ font-size: var(--font-size);
+ }
+
+ .overall-score {
+ border: 2.45288px solid #ffffff;
+ width: 100%;
+ border-radius: 8px;
+ font-weight: var(--font-bold);
+ background: linear-gradient(
+ 118.44deg,
+ rgba(52, 41, 102, 0.5) 12.3%,
+ rgba(93, 68, 140, 0.5) 38.83%,
+ rgba(50, 27, 62, 0.5) 96.92%
+ );
+ margin-top: 15px;
+ margin-bottom: 19px;
+ text-align: center;
+ }
+
+ #plus {
+ color: var(--sidebar-accent);
+ }
+
+ .tablet-sidebar .overall-score {
+ max-width: 64px;
+ text-align: center;
+ }
+
+ #overall-score-block,
+ #rating-block {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: space-between;
+ text-align: center;
+ padding-left: 12px;
+ padding-right: 12px;
+ padding-top: 14px;
+ padding-bottom: 14px;
+ }
+
+ #score-header,
+ #score-notify {
+ font-weight: var(--font-bold);
+ font-size: var(--small-font-size);
+ }
+
+ .rating-header {
+ font-size: var(--small-font-size);
+ display: block;
+ text-align: center;
+ margin-bottom: 8px;
+ }
+
+ .overall-score {
+ border: 2.45288px solid #ffffff;
+ width: 100%;
+ border-radius: 8px;
+ font-weight: var(--font-bold);
+ background: linear-gradient(
+ 118.44deg,
+ rgba(52, 41, 102, 0.5) 12.3%,
+ rgba(93, 68, 140, 0.5) 38.83%,
+ rgba(50, 27, 62, 0.5) 96.92%
+ );
+ margin-top: 15px;
+ margin-bottom: 19px;
+ text-align: center;
+ }
+
+ #rating-block .overall-score {
+ width: 100%;
+ font-weight: var(--font-bold);
+ margin-bottom: 14px;
+ text-align: center;
+ margin-top: -4px;
+
+ background: initial;
+ border-radius: initial;
+ border: none;
+ }
+
+ #plus,
+ #top {
+ color: var(--sidebar-accent);
+ }
+
+ .tablet-sidebar .overall-score {
+ max-width: 64px;
+ text-align: center;
+ }
+
+ ${(mediumBreakPoint(css`
+ aside.desktop-sidebar {
+ display: none;
+ }
+
+ aside.tablet-sidebar {
+ flex-direction: row-reverse;
+ overflow-x: scroll;
+ }
+
+ aside.tablet-sidebar .menu {
+ display: none;
+ }
+
+ aside.tablet-sidebar #score-progress {
+ width: 46%;
+ border-right: none;
+ overflow-x: scroll;
+ white-space: nowrap;
+ justify-content: unset;
+ align-items: center;
+ }
+
+ aside.tablet-sidebar #score-block {
+ width: 50%;
+ }
+ `),
+ smallBreakPoint(css`
+ aside.desktop-sidebar {
+ display: none;
+ }
+
+ aside.tablet-sidebar {
+ flex-direction: row-reverse;
+ overflow-x: scroll;
+ }
+
+ aside.tablet-sidebar .menu {
+ display: none;
+ }
+
+ aside.tablet-sidebar #score-progress {
+ width: 46%;
+ border-right: none;
+ overflow-x: scroll;
+ white-space: nowrap;
+ justify-content: unset;
+ align-items: center;
+ }
+
+ aside.tablet-sidebar #score-block {
+ width: 50%;
+ }
+ `))}
+ `;
+ }
+
+ @state() overallScore = 0;
+
+ constructor() {
+ super();
+ this.mql.addEventListener('change', e => {
+ this.isDeskTopView = e.matches;
+ });
+ }
+
+ firstUpdated() {
+ this.menuItems = getProgress();
+
+ this.current_url = getURL();
+
+ this.results = getResults();
+ console.log('results', this.results);
+
+ if (this.results) {
+ this.handleResults();
+ }
+
+ this.overallScore = getOverallScore();
+ }
+
+ handleResults() {
+ // Check where we are at
+ const loc = new URL(location.href);
+
+ // Check for all items done
+ this.menuItems?.progress.map(item => {
+ if (item.items) {
+ const remaining: Array = [];
+
+ item.items.map(innerItem => {
+ if (innerItem.done !== Status.DONE) {
+ remaining.push(item);
+ }
+ });
+
+ if (loc.pathname === item.location) {
+ item.done = Status.ACTIVE;
+ } else if (remaining.length === 0) {
+ item.done = Status.DONE;
+ } else {
+ item.done = Status.PENDING;
+ }
+ }
+ });
+ }
+
+ @state() current_url: string | undefined;
+ @state() results: RawTestResult | undefined;
+ @state() menuItems: ProgressList | undefined;
+
+ @property({ type: Object }) mql = window.matchMedia(
+ `(min-width: ${BreakpointValues.largeUpper}px)`
+ );
+
+ @property({ type: Boolean }) isDeskTopView = this.mql.matches;
+
+ renderIcon(item: Progress | ProgressItem): TemplateResult | void {
+ if (item.done == 'done') {
+ return html`
+
+ `;
+ }
+ }
+
+ renderDesktopBar() {
+ return html`
+
+ `;
+ }
+
+ renderTabletBar() {
+ return html``;
+ }
+
+ renderComponent() {
+ if (this.isDeskTopView) return this.renderDesktopBar();
+ else return this.renderTabletBar();
+ }
+
+ render() {
+ return html`${this.renderComponent()}`;
+ }
+}
diff --git a/src/script/components/code-editor.ts b/src/script/components/code-editor.ts
new file mode 100644
index 00000000..d8c6ed4c
--- /dev/null
+++ b/src/script/components/code-editor.ts
@@ -0,0 +1,90 @@
+import { LitElement, css, html } from 'lit';
+import { customElement, property, state, query } from 'lit/decorators.js';
+import { EditorState } from '@codemirror/state';
+import { EditorView } from '@codemirror/view';
+import debounce from 'lodash-es/debounce';
+import { getEditorState, emitter } from '../utils/codemirror';
+import { domEventEmitter } from '../utils/events';
+
+import { Lazy } from '../utils/interfaces';
+import {
+ CodeEditorEvents,
+ CodeEditorSyncEvent,
+} from '../utils/interfaces.codemirror';
+import { increment } from '../utils/id';
+
+@customElement('code-editor')
+export class CodeEditor extends LitElement {
+ @property({ type: String }) startText: Lazy;
+
+ @state()
+ editorState: Lazy;
+
+ @state() editorView: Lazy;
+
+ @state() editorId: Lazy;
+
+ @state() editorEmitter = emitter;
+
+ protected static editorIdGenerator = increment();
+
+ static get styles() {
+ return [
+ css`
+ .editor-container {
+ }
+ `,
+ ];
+ }
+
+ constructor() {
+ super();
+
+ this.editorId = `editor-${CodeEditor.editorIdGenerator.next().value}`;
+
+ this.editorEmitter.addEventListener(
+ CodeEditorEvents.sync,
+ (event: Event) => {
+ const e = event as CustomEvent;
+
+ this.startText = e.detail.text;
+ this.updateEditor();
+ }
+ );
+
+ this.editorEmitter.addEventListener(
+ CodeEditorEvents.update,
+ debounce((event: Event) => {
+ this.dispatchEvent(event);
+ })
+ );
+
+ domEventEmitter.addEventListener('resize', () => {
+ this.requestUpdate();
+ });
+ }
+
+ firstUpdated() {
+ this.updateEditor();
+ }
+
+ render() {
+ return html`
+
+ `;
+ }
+
+ updateEditor = debounce(() => {
+ this.editorState = getEditorState(this.startText, 'json');
+
+ if (this.editorView) {
+ this.editorView.setState(this.editorState);
+ } else {
+ this.editorView = new EditorView({
+ state: this.editorState,
+ root: this.shadowRoot,
+ parent: this.shadowRoot.getElementById(this.editorId),
+ });
+ }
+ }, 2000);
+}
diff --git a/src/script/components/content-header.ts b/src/script/components/content-header.ts
new file mode 100644
index 00000000..2b7b6f72
--- /dev/null
+++ b/src/script/components/content-header.ts
@@ -0,0 +1,433 @@
+import { html, css, LitElement } from 'lit';
+import { customElement } from "lit/decorators.js"
+// import { loadPaintPolyfillIfNeeded } from '../polyfills/css-paint';
+import {
+ BreakpointValues,
+ largeBreakPoint,
+ mediumBreakPoint,
+ smallBreakPoint,
+ xLargeBreakPoint,
+ xxLargeBreakPoint,
+} from '../utils/css/breakpoints';
+import './app-header';
+
+@customElement('content-header')
+export class ContentHeader extends LitElement {
+ static get styles() {
+ return css`
+ :host {
+ background: url(/assets/images/home_1920.webp);
+ background-position: top right;
+ background-size: cover;
+ background-repeat: no-repeat;
+
+ height: 16em;
+ display: flex;
+ align-items: center;
+ }
+
+ :host(.reportCard) {
+ background: url(/assets/images/report_card.webp) top right / cover
+ no-repeat;
+ }
+
+ :host(.reportCard.mani) {
+ background: url(/assets/images/report_card_manifest.webp) top right / cover
+ no-repeat;
+ }
+
+ :host(.reportCard.sw) {
+ background: url(/assets/images/report_card_sw.webp) top right / cover
+ no-repeat;
+ }
+
+ :host(.basePackage) {
+ background: url(/assets/images/base_package.webp) top right / cover
+ no-repeat;
+ }
+
+ :host(.publish) {
+ background: url(/assets/images/publish.webp) top right / cover no-repeat;
+ }
+
+ :host(.congrats) {
+ background: url(/assets/images/congrats.webp) top right / cover
+ no-repeat;
+ }
+
+ :host(.home) {
+ height: initial;
+ background-color: white;
+ }
+
+ :host(.home) #circles-box {
+ width: 100%;
+ }
+
+ #content-side {
+ max-width: 22em;
+ }
+
+ #main-container {
+ display: flex;
+ align-items: center;
+ padding-bottom: 91px;
+ padding-left: 2em;
+ }
+
+ :host ::slotted(h2) {
+ margin-bottom: 0;
+ line-height: 40px;
+ }
+
+ ${smallBreakPoint(css`
+ :host(.home) {
+ background-position: top center;
+ background-repeat: no-repeat;
+ background-image: url(/assets/images/home_mobile.webp);
+ background-size: cover;
+
+ height: 43em;
+ }
+
+ :host(.home) #circles-box {
+ height: 44em;
+ }
+
+ :host(.home) #main-container {
+ height: 51em;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ max-width: initial;
+ }
+
+ :host(.reportCard) {
+ background-repeat: no-repeat;
+ background-image: url(/assets/images/report_card_mobile.webp);
+ background-size: cover;
+
+ background-position: 0em -2.5em;
+ height: 10em;
+ }
+
+ :host(.congrats) {
+ background-repeat: no-repeat;
+ background-image: url(/assets/images/congrats_mobile.webp);
+ background-size: cover;
+
+ background-position: 0em -2.5em;
+ height: 10em;
+ }
+
+ :host(.basePackage) {
+ background-repeat: no-repeat;
+ background-image: url(/assets/images/base_package_mobile.webp);
+ background-size: cover;
+
+ background-position: 0em -2.5em;
+ height: 10em;
+ }
+
+ :host(.publish) {
+ background-repeat: no-repeat;
+ background-image: url(/assets/images/publish_mobile.webp);
+ background-size: cover;
+
+ background-position: 0em -2.5em;
+ height: 10em;
+ }
+
+ :host(.reportCard) #circles-box, :host(.publish) #circles-box, :host(.congrats) #circles-box, :host(.basePackage) #circles-box{
+ height: 34em;
+ }
+
+ :host(.reportCard) #hero-container, :host(.publish) #hero-container, :host(.congrats) #hero-container, :host(.basePackage) #hero-container{
+ text-align: initial;
+ }
+
+ img {
+ margin-left: 0;
+ width: 226px;
+ height: 226px;
+ margin-top: 16px;
+ }
+
+ #content-side {
+ padding: 1em;
+ }
+
+ #main-container {
+ flex-direction: column-reverse;
+ padding-left: 0;
+
+ height: 23em;
+ max-width: 16em;
+ }
+
+ #circles-box {
+ height: 46em;
+ }
+
+ #hero-container {
+ text-align: center;
+ }
+
+ ::slotted(ul) {
+ grid-gap: 10px;
+ }
+ `)}
+
+ ${mediumBreakPoint(css`
+
+ :host(.home) {
+ background-position: top center;
+ background-repeat: no-repeat;
+ background-image: url(/assets/images/home_mobile.webp);
+ background-size: cover;
+
+ height: 40em;
+ }
+
+ :host(.home) #circles-box {
+ height: 40em;
+ }
+
+ :host(.reportCard) {
+ background-repeat: no-repeat;
+ background-image: url(/assets/images/report_card_mobile.webp);
+ background-size: cover;
+
+ background-position: 0em -2.5em;
+ height: 10em;
+ }
+
+ :host(.reportCard) #circles-box, :host(.publish) #circles-box, :host(.congrats) #circles-box, :host(.basePackage) #circles-box{
+ height: 34em;
+ }
+
+ :host(.publish) {
+ background-repeat: no-repeat;
+ background-image: url(/assets/images/publish_mobile.webp);
+ background-size: cover;
+
+ background-position: 0em -2.5em;
+ height: 10em;
+ }
+
+ :host(.congrats) {
+ background-repeat: no-repeat;
+ background-image: url(/assets/images/congrats_mobile.webp);
+ background-size: cover;
+
+ background-position: 0em -2.5em;
+ height: 10em;
+ }
+
+ :host(.basePackage) {
+ background-repeat: no-repeat;
+ background-image: url(/assets/images/base_package_mobile.webp);
+ background-size: cover;
+
+ background-position: 0em -2.5em;
+ height: 10em;
+ }
+
+ img {
+ margin-left: 0;
+ width: 100%;
+ height: 226px;
+ margin-top: 16px;
+ }
+
+ #content-side {
+ padding: 1em;
+ }
+
+ :host(.reportCard) #hero-container, :host(.publish) #hero-container, :host(.congrats) #hero-container, :host(.basePackage) #hero-container{
+ text-align: initial;
+ }
+
+ #hero-container {
+ text-align: center;
+ }
+
+ #main-container {
+ padding-top: initial;
+ margin-top: 14em;
+
+ flex-direction: column-reverse;
+ padding-left: 0;
+ }
+
+ #circles-box {
+ height: 30em;
+ }
+ `)}
+
+ ${largeBreakPoint(css`
+ ::slotted(ul) {
+ grid-gap: 10px;
+ }
+
+ img {
+ height: 282px;
+ width: 268px;
+ }
+
+ :host(.home) {
+ background-position: 8em -2em;
+ background-repeat: no-repeat;
+ background-image: url(/assets/images/home_mobile.webp);
+ background-size: cover;
+ }
+
+ :host(.reportCard) {
+ background: url(/assets/images/report_card.webp) top right / cover
+ no-repeat;
+
+ background-position: -1em;
+ }
+
+ :host(.reportCard.mani) {
+ background-position: -1em;
+ }
+
+ :host(.reportCard.sw) {
+ background-position: -1em;
+ }
+
+ :host(.basePackage) {
+ background-position: -1em;
+ }
+
+ :host(.publish) {
+ background-position: 0em;
+ }
+
+ :host(.congrats) {
+ background-position: 0em;
+ }
+ `)}
+
+ ${xLargeBreakPoint(css`
+ img {
+ height: 100%;
+ width: initial;
+ }
+
+ :host(.home) {
+ background-position: -21em center;
+ background-repeat: no-repeat;
+ background-image: url(/assets/images/home_1920.webp);
+ background-size: cover;
+ }
+
+ :host(.home) #content-side {
+ max-width: 21em;
+ }
+
+ :host(.reportCard) {
+ background: url(/assets/images/report_card.webp) top right / cover
+ no-repeat;
+
+ background-position: -1em;
+ }
+
+ :host(.reportCard.mani) {
+ background-position: -1em;
+ }
+
+ :host(.reportCard.sw) {
+ background-position: -1em;
+ }
+
+ :host(.basePackage) {
+ background-position: -1em;
+ }
+
+ :host(.publish) {
+ background-position: 0em;
+ }
+
+ :host(.congrats) {
+ background-position: 0em;
+ }
+ `)}
+
+ ${xxLargeBreakPoint(css`
+ #content-side {
+ max-width: 23em;
+ }
+
+ :host {
+ background-position: -8em center;
+ background-repeat: no-repeat;
+ background-size: cover;
+ }
+
+ :host(.reportCard) {
+ background: url(/assets/images/report_card.webp) top right / cover
+ no-repeat;
+ }
+
+ :host(.basePackage) {
+ background-position: 0em;
+ }
+
+ :host(.publish) {
+ background-position: 2em;
+ }
+
+ :host(.congrats) {
+ background-position: 0em;
+ }
+ `)}
+ `;
+ }
+
+ constructor() {
+ super();
+ }
+
+ render() {
+ return html`
+
+ `;
+ }
+}
diff --git a/src/script/components/dropdown-menu.ts b/src/script/components/dropdown-menu.ts
new file mode 100644
index 00000000..2970ea0b
--- /dev/null
+++ b/src/script/components/dropdown-menu.ts
@@ -0,0 +1,186 @@
+import { LitElement, css, html } from 'lit';
+import { customElement, property } from 'lit/decorators.js';
+import { classMap } from 'lit/directives/class-map.js';
+import { fastMenuCss } from '../utils/css/fast-elements';
+import { Lazy } from '../utils/interfaces';
+import { KeyboardKeys } from '../utils/keyboard';
+
+const dropdownComponentClass = 'dropdown-component';
+
+@customElement('app-dropdown')
+export class DropdownMenu extends LitElement {
+ @property({ type: Boolean }) openMenu = false;
+ @property({ type: Array }) menuItems: Array = [];
+ @property({ type: Number }) selectedIndex = 0;
+
+ @property({ attribute: 'static-text', type: String })
+ staticButtonText: Lazy;
+
+ static get styles() {
+ return [
+ css`
+ ion-icon {
+ vertical-align: middle;
+ }
+ `,
+ fastMenuCss,
+ css`
+ .dropdown-menu,
+ fast-button {
+ width: 100%;
+ }
+
+ fast-menu {
+ margin-top: 4px;
+ }
+
+ .closed {
+ display: none;
+ }
+
+ .dropdown-component {
+ z-index: 20;
+ }
+
+ fast-button::part(control) {
+ color: var(--secondary-font-color);
+ background: rgba(128, 128, 128, 0.05);
+ border-color: var(--secondary-font-color);
+ width: 100%;
+ justify-content: normal;
+ }
+
+ fast-button::part(content) {
+ flex-grow: 2;
+ text-align: left;
+ }
+
+ fast-menu {
+ position: absolute;
+ padding: 0;
+ background-color: var(--primary-background-color);
+ color: var(--font-color);
+ width: 100%;
+ }
+
+ fast-menu-item {
+ color: var(--font-color);
+ margin: 0;
+ }
+
+ fast-menu-item:active,
+ fast-menu-item:focus-visible,
+ fast-menu-item:hover {
+ background-color: var(--link-color);
+ font-weight: 500;
+ color: var(--primary-background-color);
+ }
+
+ fast-menu-item:active,
+ fast-menu-item:focus-visible,
+ fast-menu-item:hover,
+ fast-menu-item.selected::part(content) {
+ font-weight: var(--font-bold);
+ }
+ `,
+ ];
+ }
+
+ get value() {
+ return this.menuItems[this.selectedIndex];
+ }
+
+ constructor() {
+ super();
+ }
+
+ render() {
+ return html`
+
+ `;
+ }
+
+ menuButtonText() {
+ if (this.staticButtonText) {
+ return this.staticButtonText;
+ }
+
+ return this.menuItems[this.selectedIndex];
+ }
+
+ clickMenuButton() {
+ this.openMenu = !this.openMenu;
+ }
+
+ keyupHandler(event: KeyboardEvent) {
+ if (event.key === KeyboardKeys.escape) {
+ this.openMenu = false;
+ } else if (event.key === KeyboardKeys.enter) {
+ const curr = event.composedPath()[0] as HTMLElement;
+
+ if (curr.tagName === 'FAST-MENU-ITEM') {
+ this.selectedIndex = Number(curr.dataset.index);
+ this.openMenu = false;
+ }
+ }
+ }
+
+ closeMenu(event: FocusEvent) {
+ const related = event.relatedTarget;
+
+ if (related?.className?.indexOf(dropdownComponentClass) === -1) {
+ this.openMenu = false;
+ }
+ }
+
+ clickMenuItem(index: number) {
+ this.selectedIndex = index;
+ this.openMenu = false;
+ }
+}
diff --git a/src/script/components/loading-button.ts b/src/script/components/loading-button.ts
new file mode 100644
index 00000000..57114ef6
--- /dev/null
+++ b/src/script/components/loading-button.ts
@@ -0,0 +1,60 @@
+import { LitElement, css, html } from 'lit';
+import { customElement, property } from 'lit/decorators.js';
+import { AppButtonElement } from '../utils/interfaces.components';
+
+import '../components/app-button';
+import { FastButtonAppearance } from '../utils/fast-element';
+
+@customElement('loading-button')
+export class LoadingButton extends LitElement implements AppButtonElement {
+ @property({ type: String }) type = 'submit';
+ @property({ type: String }) colorMode = 'primary';
+ @property({ type: String }) appearance: FastButtonAppearance = 'neutral';
+ @property({ type: Boolean }) loading = false;
+ @property({ type: Boolean }) disabled = false;
+
+ static get styles() {
+ return [
+ css`
+ :host {
+ --loader-size: 1.8em;
+ }
+
+ fast-progress-ring {
+ height: var(--loader-size);
+ width: var(--loader-size);
+
+ --accent-foreground-rest: var(--secondary-color);
+ }
+
+ app-button.secondary fast-progress-ring {
+ --accent-foreground-rest: var(--primary-color);
+ --neutral-fill-rest: white;
+ --neutral-fill-active: white;
+ --neutral-fill-hover: white;
+ }
+ `,
+ ];
+ }
+
+ constructor() {
+ super();
+ }
+
+ render() {
+ return html`
+
+ ${this.loading
+ ? html` `
+ : html` `}
+
+ `;
+ }
+}
diff --git a/src/script/components/manifest-options.ts b/src/script/components/manifest-options.ts
new file mode 100644
index 00000000..6be00154
--- /dev/null
+++ b/src/script/components/manifest-options.ts
@@ -0,0 +1,987 @@
+import { LitElement, css, html } from 'lit';
+import { customElement, property, state } from 'lit/decorators.js';
+import { classMap } from 'lit/directives/class-map.js';
+
+import { localeStrings, languageCodes } from '../../locales';
+
+//@ts-ignore
+import ErrorStyles from '../../../styles/error-styles.css';
+
+import {
+ emitter as manifestEmitter,
+ getManifest,
+ updateManifest,
+} from '../services/manifest';
+import { arrayHasChanged, objectHasChanged } from '../utils/hasChanged';
+import { resolveUrl } from '../utils/url';
+import {
+ AppEvents,
+ FileInputDetails,
+ Icon,
+ Lazy,
+ Manifest,
+ ModalCloseEvent,
+} from '../utils/interfaces';
+import {
+ CodeEditorEvents,
+ CodeEditorSyncEvent,
+ CodeEditorUpdateEvent,
+} from '../utils/interfaces.codemirror';
+import {
+ fastTextFieldCss,
+ fastButtonCss,
+ fastCheckboxCss,
+ fastMenuCss,
+ fastRadioCss,
+} from '../utils/css/fast-elements';
+
+import { tooltip, styles as ToolTipStyles } from './tooltip';
+
+import './loading-button';
+import './app-modal';
+import './dropdown-menu';
+import './app-file-input';
+import './app-gallery';
+import './code-editor';
+import { generateMissingImagesBase64 } from '../services/icon_generator';
+import { generateScreenshots } from '../services/screenshots';
+import { validateScreenshotUrlsList } from '../utils/manifest-validation';
+import { mediumBreakPoint, smallBreakPoint } from '../utils/css/breakpoints';
+import { hidden_sm } from '../utils/css/hidden';
+import { generateAndDownloadIconZip } from '../services/download_icons';
+import { ifDefined } from 'lit/directives/if-defined.js';
+import {
+ dispatchEvent as editorDispatchEvent,
+ updateStateField,
+} from '../utils/codemirror';
+
+type BackgroundColorRadioValues = 'none' | 'transparent' | 'custom';
+
+@customElement('manifest-options')
+export class AppManifest extends LitElement {
+ @property({ type: Object, hasChanged: objectHasChanged })
+ manifest = getManifest();
+ @property({ type: Number }) score = 0;
+ @property({ type: Array, hasChanged: arrayHasChanged })
+ screenshotList: Array = [undefined];
+
+ @property({ type: Boolean }) uploadModalOpen = false;
+ @state() uploadButtonDisabled = true;
+ @state() uploadSelectedImageFile: Lazy;
+ @state() uploadImageObjectUrl: string;
+
+ @state() generateIconButtonDisabled = true;
+
+ @state()
+ protected generateScreenshotButtonDisabled = true;
+
+ @state() screenshotListValid: Array = [];
+
+ @state()
+ protected backgroundColorRadioValue: BackgroundColorRadioValues = 'none';
+
+ @state()
+ protected awaitRequest = false;
+
+ @state()
+ protected searchParams: Lazy;
+
+ protected get siteUrl(): string {
+ if (!this.searchParams) {
+ this.searchParams = new URLSearchParams(location.search);
+ }
+
+ const siteParam = this.searchParams.get('site');
+ return siteParam ? siteParam : '';
+ }
+
+ static get styles() {
+ return [
+ ErrorStyles,
+ ToolTipStyles,
+ fastButtonCss,
+ fastCheckboxCss,
+ fastTextFieldCss,
+ fastMenuCss,
+ fastRadioCss,
+ css`
+ fast-divider {
+ margin: 16px 0;
+ border-color: rgb(229, 229, 229);
+ }
+
+ fast-text-field,
+ app-dropdown::part(layout) {
+ width: 300px;
+ }
+
+ fast-accordion-item {
+ --base-height-multiplier: 20;
+ }
+
+ #bg-custom-color {
+ margin-left: 32px;
+ }
+
+ .panel {
+ padding: 32px;
+ }
+
+ .tooltip {
+ height: 16px;
+ width: 16px;
+ }
+
+ .icons,
+ .screenshots {
+ margin-top: 16px;
+ }
+
+ .view-code {
+ margin-bottom: 8px;
+ }
+
+ .view-code fast-accordion {
+ border-color: rgb(229, 229, 229);
+ }
+
+ .view-code fast-accordion-item {
+ border-bottom: none;
+ }
+
+ .images-header {
+ display: flex;
+ justify-content: space-between;
+ vertical-align: middle;
+ }
+
+ images-header,
+ .head .top-section {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ }
+
+ .head .summary-body {
+ display: flex;
+ flex-direction: column;
+ }
+
+ #manifest-done-button {
+ margin-top: 23px;
+ margin-bottom: 23px;
+ }
+
+ .screenshots-header {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ justify-content: flex-start;
+ }
+
+ .info-items,
+ .setting-items {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ align-items: flex-start;
+
+ max-width: 800px;
+ }
+
+ .info-item,
+ .setting-item {
+ margin: 16px 0;
+ }
+
+ .collection {
+ display: flex;
+ flex-wrap: wrap;
+ vertical-align: middle;
+ }
+
+ .item-top {
+ display: flex;
+ flex-direction: row;
+ align-items: top;
+ }
+
+ .item-top h3 {
+ margin: 0;
+ }
+
+ .item-top .tooltip {
+ margin-left: 4px;
+ }
+
+ .image-item {
+ background-color: transparent;
+ margin: 8px;
+ }
+
+ .image,
+ .image img {
+ width: 100px;
+ }
+
+ .image p {
+ text-align: center;
+ }
+
+ .screenshot,
+ .screenshot img {
+ width: 205px;
+ height: 135px;
+ }
+
+ fast-accordion-item::part(icon) {
+ display: none;
+ }
+
+ .show-sm {
+ display: none;
+ visibility: hidden;
+ }
+
+ .head h2 {
+ margin-bottom: 0px;
+ margin-top: 28px;
+ }
+
+ .bottom-section {
+ display: flex;
+ justify-content: flex-end;
+ }
+
+ fast-accordion-item::part(button) {
+ color: var(--font-color);
+ }
+ `,
+ // modal
+ css`
+ .modal-action-form {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ }
+
+ .modal-action-form app-file-input::part(control) {
+ width: 100%;
+ }
+
+ .modal-action-form loading-button {
+ margin-top: 8px;
+ }
+
+ .modal-img {
+ max-width: 400px;
+ }
+ `,
+ // screenshots
+ css`
+ fast-text-field.screenshot-url {
+ margin-bottom: 8px;
+ }
+ `,
+ // breakpoints
+ mediumBreakPoint(
+ css`
+ .head .top-section,
+ .head .summary-body,
+ .images-header,
+ .info-items,
+ .setting-items {
+ flex-flow: column;
+ justify-content: center;
+ align-items: baseline;
+ }
+
+ .info-item,
+ .setting-item {
+ width: 100%;
+ }
+
+ fast-text-field,
+ app-dropdown::part(layout) {
+ width: 100%;
+ }
+ `,
+ 'no-lower'
+ ),
+ smallBreakPoint(css`
+ #bg-custom-color {
+ width: calc(100% - 32px);
+ }
+
+ .collection.image-items {
+ height: 170px;
+ display: block;
+ overflow-x: scroll;
+ scroll-snap-type: x proximity;
+ white-space: nowrap;
+ align-items: center;
+ }
+
+ .image-item {
+ display: inline-block;
+ width: 100px;
+ white-space: initial;
+ scroll-snap-align: start;
+ }
+
+ .show-sm {
+ display: block;
+ visibility: visible;
+ }
+ `),
+ hidden_sm,
+ ];
+ }
+
+ constructor() {
+ super();
+
+ manifestEmitter.addEventListener(AppEvents.manifestUpdate, () => {
+ this.manifest = getManifest();
+ });
+ }
+
+ render() {
+ return html`
+
+
+
+
Manifest
+
+
+
Summary
+
+
+ Easily update and upgrade your Web Manifest with our built-in Web
+ Manifest editor
+
+
Done
+
+
+
+
+ Info
+ ${this.renderInfoItems()}
+
+
+
+ Images
+
+
+
+ ${this.renderIcons()}
+
+
+
+
+ 0
+ : false}
+ @click=${this.downloadIcons}
+ >Download
+
+
+
+
+
+
+ ${this.renderScreenshots()}
+
+
+
+
+
+ Generate
+
+
+
+
+ Settings
+ ${this.renderSettingsItems()}
+ ${this.renderBackgroundColorSettings()}
+
+
+
+
+ `;
+ }
+
+ renderInfoItems() {
+ return infoItems.map(item => {
+ const value = this.manifest
+ ? (this.manifest[item.entry] as string)
+ : undefined;
+
+ return html`
+
+
+
${item.title}
+ ${this.renderToolTip(item.entry + '-tooltip', item.tooltipText)}
+
+
${item.description}
+
+
+ `;
+ });
+ }
+
+ renderSettingsItems() {
+ return settingsItems.map(item => {
+ let field;
+ const value =
+ this.manifest && this.manifest[item.entry]
+ ? this.manifest[item.entry].toLocaleLowerCase()
+ : '';
+
+ if (item.type === 'select' && item.menuItems) {
+ let index = item.menuItems.indexOf(value);
+
+ if (index === -1) {
+ const find = item.menuItems.filter(i => i.startsWith(value))[0];
+ index = item.menuItems.indexOf(find);
+ }
+
+ field = html`
+
+
+ `;
+ } else {
+ field = html` `;
+ }
+
+ return html`
+
+
+
${item.title}
+ ${this.renderToolTip(item.entry + '-tooltip', item.tooltipText)}
+
+
${item.description}
+ ${field}
+
+ `;
+ });
+ }
+
+ renderBackgroundColorSettings() {
+ const value = this.manifest ? this.manifest?.theme_color : undefined;
+
+ return html`
+
+ `;
+ }
+
+ renderIcons() {
+ return this.manifest?.icons?.map(icon => {
+ const url = this.handleImageUrl(icon);
+
+ if (url) {
+ return html`
+
+
${icon.sizes}
+
`;
+ }
+
+ return undefined;
+ });
+ }
+
+ renderScreenshotInputUrlList() {
+ const renderFn = (url: string | undefined, index: number) => {
+ const isValid = this.screenshotListValid[index];
+ const showError = !isValid && url !== undefined;
+
+ return html`
+ ${showError
+ ? html`${localeStrings.input.manifest.screenshot.error} `
+ : undefined} `;
+ };
+
+ return this.screenshotList.map(renderFn);
+ }
+
+ renderScreenshots() {
+ return this.manifest?.screenshots?.map(screenshot => {
+ const url = this.handleImageUrl(screenshot);
+
+ if (url) {
+ return html`
+
+
`;
+ } else {
+ return undefined;
+ }
+ });
+ }
+
+ iconSrcListParse() {
+ if (!this.manifest && !this.siteUrl) {
+ return [];
+ }
+
+ return (
+ this.manifest?.icons
+ ?.map(icon => {
+ return this.handleImageUrl(icon);
+ })
+ .filter(str => str) || []
+ );
+ }
+
+ screenshotSrcListParse() {
+ if (!this.manifest && !this.siteUrl) {
+ return [];
+ }
+
+ return (
+ this.manifest?.screenshots
+ ?.map(screenshot => {
+ return this.handleImageUrl(screenshot);
+ })
+ .filter(str => str) || []
+ );
+ }
+
+ renderToolTip = tooltip;
+
+ renderModalInput() {
+ return html`
+
+ ${this.uploadSelectedImageFile
+ ? html` `
+ : undefined}
+ `;
+ }
+
+ updateManifest(changes: Partial) {
+ updateManifest(changes).then(() => {
+ console.log('update manifest, dispatch', this.manifest);
+
+ editorDispatchEvent(
+ new CustomEvent(CodeEditorEvents.sync, {
+ detail: {
+ text: JSON.stringify(this.manifest, undefined, 2),
+ },
+ })
+ );
+ });
+ }
+
+ handleInputChange(event: InputEvent) {
+ const input = event.target;
+ const fieldName = input.dataset['field'];
+
+ if (this.manifest && fieldName && this.manifest[fieldName]) {
+ this.updateManifest({ [fieldName]: input.value });
+ }
+ }
+
+ handleScreenshotUrlChange(event: CustomEvent) {
+ const input = event.target;
+ const index = Number(input.dataset['index']);
+
+ this.screenshotList[index] = input.value;
+ this.screenshotListValid = validateScreenshotUrlsList(this.screenshotList);
+ this.generateScreenshotButtonDisabled = !this.hasScreenshotsToGenerate();
+ }
+
+ handleBackgroundRadioChange(event: CustomEvent) {
+ const value: BackgroundColorRadioValues = (event.target)
+ .value as BackgroundColorRadioValues;
+ this.backgroundColorRadioValue = value;
+
+ if (value !== 'custom' && this.manifest) {
+ this.updateManifest({
+ themeColor: value,
+ });
+ }
+ }
+
+ handleBackgroundColorInputChange(event: CustomEvent) {
+ if (this.manifest) {
+ const value = (event.target).value;
+
+ this.updateManifest({
+ themeColor: value,
+ });
+ }
+ }
+
+ async handleModalInputFileChange(evt: CustomEvent) {
+ const files = evt.detail.input.files ?? undefined;
+
+ this.uploadSelectedImageFile = files?.item(0) ?? undefined;
+ this.generateIconButtonDisabled = !this.validIconInput();
+
+ if (!this.generateIconButtonDisabled) {
+ this.uploadImageObjectUrl = URL.createObjectURL(
+ this.uploadSelectedImageFile
+ );
+ } else {
+ console.log('error state');
+ }
+ }
+
+ async handleIconFileUpload() {
+ this.awaitRequest = true;
+
+ try {
+ if (this.uploadSelectedImageFile) {
+ await generateMissingImagesBase64({
+ file: this.uploadSelectedImageFile,
+ });
+ }
+ } catch (e) {
+ console.error(e);
+ }
+
+ this.awaitRequest = false;
+ }
+
+ async handleDeleteImage(event: Event) {
+ try {
+ const input = event.target;
+ const list = Number(input.dataset['list']);
+ const index = Number(input.dataset['index']);
+ const imageList: Array = this.manifest ? this.manifest[list] : null;
+
+ this.updateManifest({
+ [list]: imageList.slice(0, index).concat(imageList.slice(index + 1)),
+ });
+ } catch (e) {
+ console.error(e);
+ }
+ }
+
+ handleEditorUpdate(event: Event) {
+ const e = event as CustomEvent;
+
+ try {
+ console.log(
+ 'handle editor update',
+ e.detail.transaction.state.field(updateStateField)
+ );
+
+ const newManifest = JSON.parse(e.detail.transaction.state.doc.toString());
+
+ updateManifest(newManifest); // explicitly not using the this.updateManifest method to prevent a infinite loop.
+ } catch (ex) {
+ console.error('failed to parse the manifest successfully', e, ex);
+ }
+ }
+
+ validIconInput() {
+ const supportedFileTypes = ['.png', '.jpg', '.svg'];
+
+ return supportedFileTypes.find(
+ fileType =>
+ this &&
+ this.uploadSelectedImageFile &&
+ this.uploadSelectedImageFile.name.endsWith(fileType)
+ );
+ }
+
+ addNewScreenshot() {
+ this.screenshotList = [...(this.screenshotList || []), undefined];
+ this.generateScreenshotButtonDisabled = !this.hasScreenshotsToGenerate();
+ }
+
+ done() {
+ const event = new CustomEvent('back-to-overview', {
+ detail: {
+ open: true,
+ },
+ });
+ this.dispatchEvent(event);
+ }
+
+ openUploadModal() {
+ this.uploadModalOpen = true;
+ }
+
+ uploadModalClose(event: CustomEvent) {
+ if (event.detail.modalId === 'uploadModal') {
+ this.uploadModalOpen = false;
+ }
+ }
+
+ async downloadIcons() {
+ this.awaitRequest = true;
+
+ try {
+ if (this.manifest && this.manifest.icons) {
+ await generateAndDownloadIconZip(this.manifest.icons);
+ }
+ } catch (e) {
+ console.error(e);
+ }
+
+ this.awaitRequest = false;
+ }
+
+ async generateScreenshots() {
+ try {
+ this.awaitRequest = true;
+
+ if (this.screenshotList && this.screenshotList.length) {
+ // to-do: take another type look at this
+ // @ts-ignore
+ await generateScreenshots(this.screenshotList);
+ }
+ } catch (e) {
+ console.error(e);
+ }
+
+ this.awaitRequest = false;
+ }
+
+ hasScreenshotsToGenerate() {
+ return (
+ this.screenshotList.length &&
+ !this.screenshotListValid.includes(false) &&
+ !this.screenshotList.includes(undefined)
+ );
+ }
+
+ setBackgroundColorRadio() {
+ if (!this.manifest?.theme_color || this.manifest?.theme_color === 'none') {
+ return 'none';
+ } else if (this.manifest?.theme_color === 'transparent') {
+ return 'transparent';
+ }
+
+ return 'custom';
+ }
+
+ handleImageUrl(icon: Icon) {
+ if (icon.src.indexOf('data:') === 0 && icon.src.indexOf('base64') !== -1) {
+ return icon.src;
+ }
+
+ let url = resolveUrl(this.siteUrl, this.manifest?.startUrl);
+ url = resolveUrl(url?.href, icon.src);
+
+ if (url) {
+ return url.href;
+ }
+
+ return undefined;
+ }
+}
+
+interface InputItem {
+ title: string;
+ description: string;
+ tooltipText: string;
+ entry: string;
+ type: 'input' | 'select' | 'radios';
+ menuItems?: Array;
+}
+
+const infoItems: Array = [
+ {
+ title: 'Name',
+ description: 'Used for App Lists or Store Listings',
+ tooltipText: 'TODO',
+ entry: 'name',
+ type: 'input',
+ },
+ {
+ title: 'Short Name',
+ description: 'Use for title or home screens',
+ tooltipText: 'TODO',
+ entry: 'short_name',
+ type: 'input',
+ },
+ {
+ title: 'Description',
+ description: 'Used for app listings',
+ tooltipText: 'TODO',
+ entry: 'description',
+ type: 'input',
+ },
+ {
+ title: 'Start URL',
+ description: 'Used for app listings',
+ tooltipText: 'TODO',
+ entry: 'start_url',
+ type: 'input',
+ },
+];
+
+const settingsItems: Array = [
+ {
+ title: 'Scope',
+ description: 'Enter app scope',
+ tooltipText: 'TODO',
+ entry: 'scope',
+ type: 'input',
+ },
+ {
+ title: 'Display',
+ description: 'Enter app display',
+ tooltipText: 'TODO',
+ entry: 'display',
+ type: 'select',
+ menuItems: ['fullscreen', 'standalone', 'minimal-ui', 'browser'],
+ },
+ {
+ title: 'Orientation',
+ description: 'Enter app orientation',
+ tooltipText: 'TODO',
+ entry: 'orientation',
+ type: 'select',
+ menuItems: [
+ 'any',
+ 'natural',
+ 'landscape',
+ 'portrait',
+ 'portrait-primary',
+ 'portrait-secondary',
+ 'landscape-primary',
+ 'landscape-secondary',
+ ],
+ },
+ {
+ title: 'Language',
+ description: 'Enter the apps primary language',
+ tooltipText: 'TODO',
+ entry: 'lang',
+ type: 'select',
+ menuItems: languageCodes,
+ },
+];
diff --git a/src/script/components/rating-dial.ts b/src/script/components/rating-dial.ts
new file mode 100644
index 00000000..6ce45953
--- /dev/null
+++ b/src/script/components/rating-dial.ts
@@ -0,0 +1,199 @@
+import {
+ LitElement,
+ html,
+ css,
+ TemplateResult,
+} from 'lit';
+import { customElement,
+ state, } from "lit/decorators.js"
+import { getOverallScore } from '../services/tests';
+import { env } from '../utils/environment';
+
+type Rating = 'top' | 'middle' | 'bottom';
+
+@customElement('rating-dial')
+export class RatingDial extends LitElement {
+ @state() rating: Rating = 'bottom';
+ @state() overallScore = 0;
+ @state() ratingComment = '';
+
+ static get styles() {
+ return css`
+ #dial-block {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+
+ #pointer {
+ position: absolute;
+ transform-origin: bottom;
+ }
+
+ .overall-score {
+ width: 100%;
+ font-weight: var(--font-bold);
+ margin-bottom: 14px;
+ text-align: center;
+ margin-top: -4px;
+
+ background: initial;
+ border-radius: initial;
+ border: none;
+ }
+
+ #rating-comment {
+ font-weight: var(--font-bold);
+ font-size: var(--small-font-size);
+ text-align: center;
+ display: block;
+ }
+
+ #top {
+ color: var(--sidebar-accent);
+ }
+
+ #middle {
+ color: var(--warning-color);
+ }
+
+ #lower {
+ color: var(--error-color);
+ }
+ `;
+ }
+
+ constructor() {
+ super();
+ }
+
+ async firstUpdated() {
+ const pointerEl = this.shadowRoot?.querySelector('#pointer');
+
+ await this.calcRating();
+
+ await this.updated;
+
+ if (pointerEl) {
+ switch (this.rating) {
+ case 'top':
+ pointerEl.animate(
+ [
+ {
+ transform: 'rotate(90deg) translate(10px, 13px)',
+ },
+ {
+ transform: 'rotate(0deg) translate(10px, 13px)',
+ },
+ ],
+ {
+ fill: 'forwards',
+ easing: 'ease-in-out',
+ }
+ );
+
+ break;
+ case 'middle':
+ pointerEl.animate(
+ [
+ {
+ transform: 'rotate(0deg) translate(0px, 5px)',
+ },
+ {
+ transform: 'rotate(-90deg) translate(0px, 5px)',
+ },
+ ],
+ {
+ fill: 'forwards',
+ easing: 'ease-in-out',
+ }
+ );
+
+ break;
+ case 'bottom':
+ pointerEl.animate(
+ [
+ {
+ transform: 'rotate(0deg) translate(10px, -5px)',
+ },
+ {
+ transform: 'rotate(-180deg) translate(10px, -5px)',
+ },
+ ],
+ {
+ fill: 'forwards',
+ easing: 'ease-in-out',
+ }
+ );
+ break;
+ }
+ }
+ }
+
+ async calcRating(): Promise {
+ const response = await fetch(env.ratingUrl);
+ const scoreData = await response.json();
+
+ // Adding 94 here to "shim" the data so that we can
+ // fairly average it with our new scoring system
+ // which ends up with much higher scores overall.
+ // We wont need this once we start getting alot of data from v3 in prod
+ const averageScore = scoreData.overallAverageScore + 94;
+ this.overallScore = getOverallScore();
+
+ if (
+ (this.overallScore > averageScore &&
+ this.overallScore < averageScore + 10) ||
+ this.overallScore === averageScore
+ ) {
+ this.rating = 'middle';
+ return;
+ } else if (this.overallScore > averageScore + 10) {
+ this.rating = 'top';
+ return;
+ } else if (this.overallScore < averageScore - 10) {
+ this.rating = 'bottom';
+ return;
+ } else {
+ this.rating = 'middle';
+ return;
+ }
+ }
+
+ decideComment(): TemplateResult {
+ const topHTML = html` `;
+ const middleHTML = html` `;
+
+ const lowerHTML = html` `;
+
+ if (this.rating === 'middle') {
+ return middleHTML;
+ } else if (this.rating === 'top') {
+ return topHTML;
+ } else if (this.rating === 'bottom') {
+ return lowerHTML;
+ } else {
+ return middleHTML;
+ }
+ }
+
+ render() {
+ return html`
+
+
+
+
+ ${this.overallScore}
+
+ ${this.decideComment()} `;
+ }
+}
diff --git a/src/script/components/report-card.ts b/src/script/components/report-card.ts
new file mode 100644
index 00000000..fc8767da
--- /dev/null
+++ b/src/script/components/report-card.ts
@@ -0,0 +1,751 @@
+import { LitElement, css, html } from 'lit';
+import { customElement, property, state } from 'lit/decorators.js';
+import { RawTestResult, ScoreEvent } from '../utils/interfaces';
+
+import {
+ largeBreakPoint,
+ xLargeBreakPoint,
+ xxLargeBreakPoint,
+ xxxLargeBreakPoint,
+ mediumBreakPoint,
+ smallBreakPoint,
+} from '../utils/css/breakpoints';
+
+import './score-results';
+import '../components/app-button';
+import { baseOrPublish, getURL } from '../services/app-info';
+import { Router } from '@vaadin/router';
+import { getOverallScore } from '../services/tests';
+import { getPossibleBadges, sortBadges } from '../services/badges';
+
+import { classMap } from 'lit/directives/class-map.js';
+import { styleMap } from 'lit/directives/style-map.js';
+
+@customElement('report-card')
+export class ReportCard extends LitElement {
+ @property({ type: Object }) results: RawTestResult | undefined;
+ @property({ type: Object }) scoreCardResults: RawTestResult | undefined;
+
+ @state() maniScore = 0;
+ @state() swScore = 0;
+ @state() securityScore = 0;
+ @state() overallScore = 0;
+
+ @state() currentURL: string | undefined;
+
+ @state() pwa_icon: { url: string; locked: boolean } | undefined;
+ @state() manifest_icon: { url: string; locked: boolean } | undefined;
+ @state() sw_icon: { url: string; locked: boolean } | undefined;
+ @state() security_icon: { url: string; locked: boolean } | undefined;
+
+ maxManiScore = 80;
+ maxSWSCore = 20;
+ maxSecurityScore = 15;
+
+ static get styles() {
+ return css`
+ :host {
+ width: 100%;
+ display: block;
+ }
+
+ #main-report-section {
+ padding-left: 18px;
+ padding-right: 32px;
+ padding-bottom: 32px;
+ }
+
+ #report-content {
+ --neutral-foreground-hover: black;
+ }
+
+ .accordion-heading-block {
+ width: 76vw;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ color: var(--font-color);
+ }
+
+ h3,
+ .accordion-heading,
+ .accordion-score,
+ #overall-score {
+ font-size: var(--medium-font-size);
+ font-weight: var(--font-bold);
+ }
+
+ .accordion-score {
+ margin-right: 20px;
+ }
+
+ fast-accordion-item,
+ fast-accordion {
+ --neutral-divider-rest: #e5e5e5;
+ }
+
+ fast-accordion {
+ border-top: none;
+ }
+
+ fast-accordion-item::part(icon) {
+ display: none;
+ }
+
+ fast-accordion-item::part(button) {
+ height: 6em;
+ width: 70vw;
+ }
+
+ .flipper-button {
+ background: white;
+ box-shadow: 0 1px 4px 0px rgb(0 0 0 / 25%);
+ border-radius: 50%;
+ color: #5231a7;
+
+ height: 32px;
+ min-width: 32px;
+ }
+
+ .flipper-button ion-icon {
+ pointer-events: none;
+ }
+
+ .flipper-button ion-icon {
+ pointer-events: none;
+ }
+
+ .flipper-button::part(control) {
+ font-size: 18px;
+ padding: 0;
+ }
+
+ .flipper-button::part(content) {
+ padding: 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .score-block {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding-right: 1.2em;
+ }
+
+ .options-button {
+ --button-width: 217px;
+
+ margin-top: 33px;
+ margin-bottom: 33px;
+ }
+
+ #total-score {
+ display: flex;
+ flex-direction: column;
+ align-items: initial;
+ justify-content: initial;
+
+ margin-right: 1.4em;
+ }
+
+ #total-score h4 {
+ font-size: var(--medium-font-size);
+ }
+
+ #package-block {
+ --button-width: 127px;
+
+ display: flex;
+ justify-content: flex-end;
+ margin-top: 40px;
+ }
+
+ #package-block fast-anchor {
+ width: 152px;
+ color: white;
+ box-shadow: var(--button-shadow);
+ border-radius: var(--button-radius);
+ }
+
+ #total-score-header {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ }
+
+ #total-score-header h4 {
+ font-size: var(--medium-font-size);
+ }
+
+ #badge-section {
+ display: flex;
+ align-items: center;
+ margin-top: -18px;
+ }
+
+ #badge-section img {
+ width: 60px;
+ }
+
+ #badge-text h4 {
+ font-size: var(--smallish-font-size);
+ margin-bottom: 0;
+ margin-top: 0;
+ }
+
+ #badge-text p {
+ font-size: var(--smallish-font-size);
+ font-weight: normal;
+ margin-top: 0;
+ margin-bottom: 0;
+ }
+
+ #overall-score #badge-section img {
+ margin-right: 10px;
+ }
+
+ .locked {
+ opacity: 0.5;
+ }
+
+ ${xxxLargeBreakPoint(
+ css`
+ .accordion-heading-block {
+ width: 97em;
+ }
+ `
+ )}
+
+ ${xxLargeBreakPoint(
+ css`
+ .accordion-heading-block {
+ max-width: 83vw;
+ width: 83vw;
+ }
+
+ #total-score {
+ margin-right: 1.2em;
+ }
+ `
+ )}
+
+ ${xLargeBreakPoint(
+ css`
+ .accordion-heading-block,
+ #report-content {
+ width: 78vw;
+ }
+
+ #total-score {
+ width: 72vw;
+ }
+ `
+ )}
+
+ ${largeBreakPoint(
+ css`
+ .accordion-heading-block {
+ width: 90vw;
+ }
+ `
+ )}
+
+ ${mediumBreakPoint(
+ css`
+ .accordion-heading-block {
+ width: 90vw;
+ }
+
+ #package-block {
+ justify-content: center;
+ margin-bottom: 40px;
+ }
+ `
+ )}
+
+ ${mediumBreakPoint(
+ css`
+ loading-button {
+ --loading-button-height: 64px;
+ }
+ loading-button::part(underlying-button) {
+ --font-size: 22px;
+ }
+ `,
+ 'no-lower'
+ )}
+
+ ${smallBreakPoint(
+ css`
+ #main-report-section {
+ padding-left: 12px;
+ padding-right: 12px;
+ }
+
+ .accordion-heading-block {
+ width: 90vw;
+ }
+
+ #package-block {
+ justify-content: center;
+ margin-bottom: 40px;
+ }
+ `
+ )}
+ `;
+ }
+
+ constructor() {
+ super();
+ }
+
+ async firstUpdated() {
+ if (!this.results) {
+ // Should never really end up here
+ // But just in case this component tries to render without results
+ // lets attempt to grab the last saved results
+ try {
+ this.scoreCardResults = await this.handleNoResults();
+ } catch (err) {
+ throw new Error(`Error handling results: ${err}`);
+ }
+ } else {
+ this.scoreCardResults = this.results;
+ }
+
+ const urlData = getURL();
+
+ if (urlData) {
+ this.currentURL = urlData;
+ }
+
+ this.overallScore = getOverallScore();
+
+ await this.handleBadges();
+
+ console.log('pwa icon', this.pwa_icon);
+ }
+
+ async handleBadges() {
+ const possible_badges = getPossibleBadges();
+ const achievedBadges = sortBadges();
+ console.log('currentBadges', achievedBadges);
+
+ if (possible_badges) {
+ possible_badges.forEach(badge => {
+ console.log('badge', badge.name);
+ if (badge.name === 'PWA') {
+ console.log('chosen', badge);
+ this.pwa_icon = {
+ url: badge.url,
+ locked: achievedBadges.find(dupe => {
+ return badge.name === dupe.name;
+ })
+ ? false
+ : true,
+ };
+ return;
+ } else if (badge.name === 'Manifest') {
+ this.manifest_icon = {
+ url: badge.url,
+ locked: achievedBadges.find(dupe => {
+ return badge.name === dupe.name;
+ })
+ ? false
+ : true,
+ };
+ return;
+ } else if (badge.name === 'Service Worker') {
+ this.sw_icon = {
+ url: badge.url,
+ locked: achievedBadges.find(dupe => {
+ return badge.name === dupe.name;
+ })
+ ? false
+ : true,
+ };
+ } else if (badge.name === 'Security') {
+ this.security_icon = {
+ url: badge.url,
+ locked: achievedBadges.find(dupe => {
+ return badge.name === dupe.name;
+ })
+ ? false
+ : true,
+ };
+ }
+ });
+ }
+
+ return undefined;
+ }
+
+ async handleNoResults(): Promise {
+ return new Promise((resolve, reject) => {
+ const rawResultsData = sessionStorage.getItem('results-string');
+
+ if (rawResultsData) {
+ const resultsData = JSON.parse(rawResultsData);
+
+ if (resultsData) {
+ resolve(resultsData);
+ }
+ } else {
+ reject(new Error('No results passed'));
+ }
+ });
+ }
+
+ opened(targetEl: EventTarget | null) {
+ console.log(targetEl);
+
+ if (targetEl) {
+ const flipperButton = (targetEl as Element).classList.contains(
+ 'flipper-button'
+ )
+ ? (targetEl as Element)
+ : (targetEl as Element).querySelector('.flipper-button');
+
+ if (flipperButton) {
+ if (flipperButton.classList.contains('opened')) {
+ flipperButton.animate(
+ [
+ {
+ transform: 'rotate(0deg)',
+ },
+ ],
+ {
+ duration: 200,
+ fill: 'forwards',
+ }
+ );
+
+ flipperButton.classList.remove('opened');
+ } else {
+ flipperButton.classList.add('opened');
+
+ flipperButton.animate(
+ [
+ {
+ transform: 'rotate(0deg)',
+ },
+ {
+ transform: 'rotate(90deg)',
+ },
+ ],
+ {
+ duration: 200,
+ fill: 'forwards',
+ }
+ );
+ }
+ }
+ }
+ }
+
+ handleManiScore(ev: CustomEvent) {
+ this.maniScore = ev?.detail?.score || 0;
+
+ const event = new CustomEvent('mani-scored', {
+ detail: {
+ score: this.maniScore,
+ },
+ });
+ this.dispatchEvent(event);
+ }
+
+ handleSWScore(ev: CustomEvent) {
+ this.swScore = ev?.detail?.score || 0;
+
+ const event = new CustomEvent('sw-scored', {
+ detail: {
+ score: this.swScore,
+ },
+ });
+ this.dispatchEvent(event);
+ }
+
+ handleSecurityScore(ev: CustomEvent) {
+ this.securityScore = ev?.detail?.score || 0;
+
+ const event = new CustomEvent('security-scored', {
+ detail: {
+ score: this.securityScore,
+ },
+ });
+ this.dispatchEvent(event);
+ }
+
+ openManiOptions() {
+ const event = new CustomEvent('open-mani-options', {
+ detail: {
+ open: true,
+ },
+ });
+ this.dispatchEvent(event);
+ }
+
+ openSWOptions() {
+ const event = new CustomEvent('open-sw-options', {
+ detail: {
+ open: true,
+ },
+ });
+ this.dispatchEvent(event);
+ }
+
+ decideWhereToGo() {
+ const baseOrPublishIffy = baseOrPublish();
+
+ if (baseOrPublishIffy === 'base') {
+ Router.go('/basepackage');
+ } else if (baseOrPublishIffy === 'publish') {
+ Router.go(`/publish?site=${this.currentURL}`);
+ } else {
+ Router.go('/basepackage');
+ }
+ }
+
+ decideScoreColor(score: number, locked?: boolean) {
+ if (score === 0) {
+ return 'var(--error-color)';
+ } else if (locked) {
+ return 'var(--warning-color)';
+ } else {
+ return 'var(--success-color)';
+ }
+ }
+
+ render() {
+ return html`
+
+
+
+ this.opened(ev.target)}"
+ >
+
+
Manifest
+
+
+ ${this.maniScore}
+
+
+
+
+
+
+
+ ${this.manifest_icon
+ ? html`
+
+
+
+ ${this.manifest_icon.locked
+ ? html`
+ Uh oh, your Manifest needs more work before this
+ badge is unlocked
+ `
+ : html`You have unlocked the Manifest Badge! `}
+
+
`
+ : null}
+ ${this.scoreCardResults
+ ? html` this.handleManiScore(ev)}"
+ >
+ this.openManiOptions()}"
+ class="options-button secondary"
+ slot="options-button"
+ >Manifest Options
+ `
+ : null}
+
+ this.opened(ev.target)}"
+ >
+
+
Service Worker
+
+
+ ${this.swScore}
+
+
+
+
+
+
+
+ ${this.sw_icon
+ ? html`
+
+
+
+ ${this.sw_icon.locked
+ ? html`
+ Uh oh, your Service Worker needs more work before
+ this badge is unlocked
+ `
+ : html`
+ You have unlocked the Service Worker Badge!
+ `}
+
+
`
+ : null}
+ ${this.scoreCardResults
+ ? html` this.handleSWScore(ev)}"
+ >
+ this.openSWOptions()}"
+ slot="options-button"
+ class="options-button secondary"
+ >Service Worker Options
+ `
+ : null}
+
+ this.opened(ev.target)}"
+ >
+
+
Security
+
+
+ ${this.securityScore}
+
+
+
+
+
+
+
+ ${this.security_icon
+ ? html`
+
+
+
+ ${this.security_icon.locked
+ ? html`
+ Uh oh, your Security needs more work before this
+ badge is unlocked
+ `
+ : html`You have unlocked the Security Badge! `}
+
+
`
+ : null}
+ ${this.scoreCardResults
+ ? html`
+ this.handleSecurityScore(ev)}"
+ > `
+ : null}
+
+
+
+
+
+
+
+
+ ${this.pwa_icon
+ ? html`
+
+
+
+ ${this.pwa_icon.locked === false
+ ? html`
Congrats!
+
You have a great PWA!
`
+ : html`
+
Uh Oh
+
+ Your PWA needs more work, look above for details.
+
+ `}
+
+
`
+ : null}
+
+
+
+
this.decideWhereToGo()}"
+ >Next
+
+
+
+ `;
+ }
+}
diff --git a/src/script/components/resource-hub-cards.ts b/src/script/components/resource-hub-cards.ts
new file mode 100644
index 00000000..f8d000fc
--- /dev/null
+++ b/src/script/components/resource-hub-cards.ts
@@ -0,0 +1,47 @@
+export interface CardData {
+ imageUrl: string;
+ title: string;
+ description: string;
+ linkUrl: string;
+}
+
+export const resourceCards: Array = [
+ {
+ imageUrl: '/assets/icons/icon_120.png',
+ title: 'Blog',
+ description:
+ 'Check out the PWABuilder blog for all the latest on PWABuilder and PWAs',
+ linkUrl: '',
+ },
+ {
+ imageUrl: '/assets/icons/icon_120.png',
+ title: 'Demo',
+ description:
+ 'Check out our demos to see what PWAs are capable of!',
+ linkUrl: '',
+ },
+ {
+ imageUrl: '/assets/icons/icon_120.png',
+ title: 'Components',
+ description:
+ 'Looking to upgrade your PWA? Check out some of our components we offer!',
+ linkUrl: '',
+ },
+ {
+ imageUrl: '/assets/icons/icon_120.png',
+ title: 'Documentation',
+ description:
+ 'Looking for our documentation? Tap View Documentation to get started!',
+ linkUrl: '',
+ },
+];
+
+// for the landing page
+export function landingCards() {
+ return resourceCards;
+}
+
+// For the complete page
+export function publishCards() {
+ return resourceCards.slice(1);
+}
diff --git a/src/script/components/resource-hub.ts b/src/script/components/resource-hub.ts
new file mode 100644
index 00000000..192d6917
--- /dev/null
+++ b/src/script/components/resource-hub.ts
@@ -0,0 +1,381 @@
+import { LitElement, css, html } from 'lit';
+import { customElement, property } from 'lit/decorators.js';
+import { classMap } from 'lit/directives/class-map.js';
+import { CardData, publishCards, landingCards } from './resource-hub-cards';
+import {
+ largeBreakPoint,
+ mediumBreakPoint,
+ smallBreakPoint,
+ BreakpointValues,
+ customBreakPoint,
+} from '../utils/css/breakpoints';
+
+import { AppCardModes } from '../components/app-card';
+import '../components/app-button';
+
+type ResourceHubPages = 'home' | 'complete';
+
+@customElement('resource-hub')
+export class ResourceHub extends LitElement {
+ @property({ attribute: 'all', type: Boolean }) showViewAllButton = false;
+ @property({ attribute: 'page', type: String }) pageName: ResourceHubPages =
+ 'home';
+
+ static get styles() {
+ return [
+ css`
+ :host {
+ display: flex;
+ justify-content: center;
+ }
+
+ ::slotted([slot='title']) {
+ margin: 0;
+ font-weight: var(--font-bold);
+ text-align: center;
+
+ font-size: 36px;
+ line-height: 39px;
+ letter-spacing: -0.015em;
+ margin-top: 0;
+ }
+
+ ::slotted([slot='description']) {
+ font-weight: var(--font-bold);
+ max-width: 950px;
+ text-align: center;
+ }
+
+ .home {
+ background-repeat: no-repeat;
+ background-image: url(/assets/images/blog_fold.webp);
+ background-size: cover;
+ background-position: left bottom;
+ color: var(--secondary-color);
+ }
+
+ .complete {
+ background-color: var(--primary-background-color);
+ color: var(--font-color);
+ }
+
+ .resource-hub {
+ width: 100%;
+ }
+ `,
+ css`
+ .resource-header {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ padding-top: 80px;
+ padding-left: 4em;
+ padding-right: 4em;
+ }
+
+ .complete .resource-header {
+ padding-top: 0;
+ }
+
+ .cards {
+ display: flex;
+ justify-content: center;
+ padding-left: 4em;
+ padding-right: 4em;
+ margin-top: 1em;
+ padding: 0 16px;
+ }
+
+ .cards app-card {
+ margin: 8px;
+ }
+
+ .cards app-card::part(card) {
+ margin: 0;
+ }
+
+ .resource-hub-actions {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ margin-top: 32px;
+ margin-bottom: 74px;
+ }
+
+ .resource-hub-actions app-button {
+ --button-width: 205px;
+ }
+
+ .resource-hub-actions app-button::part(underlying-button) {
+ background-color: white;
+ color: var(--font-color);
+ }
+
+ .resource-hub-actions app-button::part(control) {
+ font-size: 16px;
+ font-weight: var(--font-bold);
+ }
+ `,
+ largeBreakPoint(
+ css`
+ .cards app-card {
+ max-width: 350px;
+ }
+ `,
+ 'no-lower'
+ ),
+ mediumBreakPoint(
+ css`
+ .cards {
+ flex-direction: column;
+ align-items: center;
+ }
+
+ .resource-header {
+ padding-left: 1em;
+ padding-right: 1em;
+ }
+
+ .cards app-card,
+ .cards app-card::part(card) {
+ width: 100%;
+ max-width: 100%;
+ }
+
+ .cards app-card {
+ margin-bottom: 16px;
+ }
+ `,
+ 'no-lower'
+ ),
+ mediumBreakPoint(
+ css`
+ .cards {
+ padding: 0 32px;
+ }
+ `
+ ),
+ largeBreakPoint(
+ css`
+ .cards {
+ flex-direction: row;
+ flex-wrap: wrap;
+ align-items: center;
+ padding: 0;
+ }
+
+ .cards app-card {
+ margin-bottom: 16px;
+ }
+ `
+ ),
+
+ smallBreakPoint(
+ css`
+ :host {
+ background-color: #ededed;
+ }
+
+ .resource-header {
+ padding-left: 1em;
+ padding-right: 1em;
+ }
+
+ .cards app-card,
+ .cards app-card::part(card) {
+ width: 100%;
+ max-width: 100%;
+ }
+
+ /* TODO make this gated to only a gallery variant */
+ .cards.horizontal {
+ overflow-y: scroll;
+ overflow-x: none;
+ /* white-space: nowrap; */
+
+ flex-direction: row;
+ align-items: center;
+ }
+
+ .cards.horizontal app-card {
+ display: inline-block;
+ min-width: calc(100% - 32px);
+ }
+
+ section {
+ width: 100%;
+ }
+
+ .cards.horizontal {
+ display: flex;
+ flex-direction: column;
+ overflow-x: scroll;
+ scroll-snap-type: x proximity;
+ }
+
+ .cards.horizontal app-card {
+ display: inline-block;
+ flex: 0 0 auto;
+ scroll-snap-align: center;
+ }
+
+ .cards.horizontal app-card p,
+ .cards.horizontal app-card h3 {
+ white-space: normal;
+ }
+ `
+ ),
+ mediumBreakPoint(
+ css`
+ .cards {
+ flex-direction: column;
+ align-items: center;
+ }
+
+ .cards app-card {
+ margin-bottom: 16px;
+ }
+ `,
+ 'no-lower'
+ ),
+ mediumBreakPoint(
+ css`
+ .cards {
+ padding: 0 32px;
+ }
+ `
+ ),
+ largeBreakPoint(
+ css`
+ .cards app-card {
+ max-width: 350px;
+ }
+ `,
+ 'no-lower'
+ ),
+ largeBreakPoint(
+ css`
+ .cards {
+ flex-direction: row;
+ flex-wrap: wrap;
+ align-items: center;
+ }
+
+ .cards app-card {
+ margin-bottom: 16px;
+ }
+ `
+ ),
+ customBreakPoint(
+ css`
+ .resource-hub.complete .cards {
+ flex-direction: column;
+ }
+ `,
+ undefined,
+ 919
+ ),
+ customBreakPoint(
+ css`
+ .resource-hub.home .cards {
+ display: grid;
+ grid-template-columns: auto auto;
+ }
+ `,
+ 888,
+ 1023
+ ),
+ customBreakPoint(
+ css`
+ .resource-hub.home .cards {
+ display: grid;
+ grid-template-columns: auto auto;
+ }
+ `,
+ 888,
+ 1023
+ ),
+ ];
+ }
+
+ constructor() {
+ super();
+ }
+
+ render() {
+ return html`
+
+
+
+
+ ${this.renderCards()}
+
+
+ ${this.renderViewAllButton()}
+
+ `;
+ }
+
+ renderCards() {
+ const mode = this.determineCardMode();
+ let cardList: Array = [];
+ if (this.pageName === 'home') {
+ cardList = landingCards();
+ } else if (this.pageName === 'complete') {
+ cardList = publishCards();
+ }
+
+ return cardList.map(data => {
+ return html`
+
+
+ `;
+ });
+ }
+
+ renderViewAllButton() {
+ if (this.showViewAllButton) {
+ return html`
+
+ `;
+ }
+
+ return undefined;
+ }
+
+ determineCardMode(): AppCardModes {
+ if (
+ this.pageName === 'complete' &&
+ window.innerWidth <= BreakpointValues.smallUpper
+ ) {
+ return AppCardModes.micro;
+ }
+
+ return AppCardModes.default;
+ }
+}
diff --git a/src/script/components/score-results.ts b/src/script/components/score-results.ts
new file mode 100644
index 00000000..19bf5ecf
--- /dev/null
+++ b/src/script/components/score-results.ts
@@ -0,0 +1,223 @@
+import { LitElement, css, html } from 'lit';
+
+import { customElement, property, state } from 'lit/decorators.js';
+import { OrganizedResults, TestResult } from '../utils/interfaces';
+
+import { mediumBreakPoint, smallBreakPoint } from '../utils/css/breakpoints';
+
+@customElement('score-results')
+export class ScoreResults extends LitElement {
+ @property({ attribute: false }) testResults: Array | boolean | undefined;
+ @property() scoreMessage: string;
+ @state() organizedResults: OrganizedResults | undefined;
+
+ static get styles() {
+ return css`
+ h4 {
+ font-size: 22px;
+ }
+
+ h5 {
+ font-size: 18px;
+ margin-bottom: 0;
+ }
+
+ #score-grid {
+ display: grid;
+ grid-template-columns: auto auto;
+ grid-gap: 0 3em;
+ }
+
+ #mani-scorecard-header p {
+ font-size: var(--smallish-font-size);
+ line-height: 24px;
+ }
+
+ ul {
+ list-style: none;
+ padding: 0;
+ }
+
+ ul li {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 10px;
+ font-size: 14px;
+ }
+
+ .good-score,
+ .bad-score {
+ font-weight: var(--font-bold);
+ }
+
+ .good-score {
+ color: var(--success-color);
+ }
+
+ .bad-score {
+ color: red;
+ }
+
+ ${mediumBreakPoint(
+ css`
+ #score-grid {
+ grid-template-columns: auto;
+ }
+ `
+ )}
+
+ ${smallBreakPoint(
+ css`
+ #score-grid {
+ grid-template-columns: auto;
+ }
+
+ #options-block {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ `
+ )}
+ `;
+ }
+
+ constructor() {
+ super();
+ }
+
+ firstUpdated() {
+ this.organizedResults = this.organize();
+ }
+
+ organize() {
+ const reqResults: Array = [];
+ const recResults: Array = [];
+ const optionalResults: Array = [];
+
+ if (typeof this.testResults !== 'boolean') {
+ this.overallScore(this.testResults);
+
+ this.testResults?.map((result: TestResult) => {
+ if (result.category === 'required') {
+ reqResults.push(result);
+ } else if (result.category === 'recommended') {
+ recResults.push(result);
+ } else {
+ optionalResults.push(result);
+ }
+ });
+ }
+
+ return {
+ required: reqResults,
+ recommended: recResults,
+ optional: optionalResults,
+ };
+ }
+
+ overallScore(results: Array | undefined) {
+ let score = 0;
+
+ console.log(results);
+
+ if (results && results.length > 0) {
+ results.map((result: TestResult) => {
+ if (result.result === true) {
+ score = score + 10;
+ }
+ });
+
+ const event = new CustomEvent('scored', {
+ detail: {
+ score,
+ },
+ });
+ this.dispatchEvent(event);
+ }
+ }
+
+ render() {
+ return html`
+
+
+
+
+
+ ${this.organizedResults && this.organizedResults.required.length > 0
+ ? html`
Required
+
+
+ ${this.organizedResults.required.map(
+ (result: TestResult) => {
+ return html`
+
+ ${result.infoString}
+
+ ${result.result === true
+ ? html`10 `
+ : html`0 `}
+
+ `;
+ }
+ )}
+ `
+ : null}
+
+
+ ${this.organizedResults &&
+ this.organizedResults.recommended.length > 0
+ ? html`
Recommended
+
+
+ ${this.organizedResults.recommended.map(
+ (result: TestResult) => {
+ return html`
+
+ ${result.infoString}
+
+ ${result.result === true
+ ? html`10 `
+ : html`0 `}
+
+ `;
+ }
+ )}
+ `
+ : null}
+
+
+ ${this.organizedResults && this.organizedResults.optional.length > 0
+ ? html`
Optional
+
+
+ ${this.organizedResults.optional.map(
+ (result: TestResult) => {
+ return html`
+
+ ${result.infoString}
+
+ ${result.result === true
+ ? html`10 `
+ : html`0 `}
+
+ `;
+ }
+ )}
+ `
+ : null}
+
+
+
+ `;
+ }
+}
diff --git a/src/script/components/sidebar-card.ts b/src/script/components/sidebar-card.ts
new file mode 100644
index 00000000..93ce181e
--- /dev/null
+++ b/src/script/components/sidebar-card.ts
@@ -0,0 +1,82 @@
+import {
+ LitElement,
+ css,
+ html
+} from 'lit';
+
+import { customElement, property,
+ state, } from "lit/decorators.js"
+
+@customElement('sidebar-card')
+export class SidebarCard extends LitElement {
+ @property() title: string;
+
+ @state() open = true;
+
+ static get styles() {
+ return css`
+ :host {
+ width: 85%;
+ display: block;
+ }
+
+ #sidecard-container {
+ border: 1px solid #ffffff;
+ box-shadow: inset 0px 3.08959px 3.08959px rgb(162 244 204 / 10%);
+ border-radius: 6px;
+ }
+
+ #sidecard-header {
+ padding-left: 8px;
+ padding-right: 6px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding-top: 6px;
+ padding-bottom: 6px;
+ background: #c4c4c45e;
+ }
+
+ #sidecard-header span {
+ font-size: var(--font-size);
+ font-weight: var(--font-bold);
+ }
+
+ #sidecard-header button {
+ background: transparent;
+ color: white;
+ border: none;
+ cursor: pointer;
+ }
+ `;
+ }
+
+ constructor() {
+ super();
+ }
+
+ collapse() {
+ console.log('trying');
+ this.open = !this.open;
+ }
+
+ render() {
+ return html`
+
+
+
+ ${this.open
+ ? html`
+
+
`
+ : null}
+
+ `;
+ }
+}
diff --git a/src/script/components/sw-picker.ts b/src/script/components/sw-picker.ts
new file mode 100644
index 00000000..8c98f558
--- /dev/null
+++ b/src/script/components/sw-picker.ts
@@ -0,0 +1,219 @@
+import {
+ LitElement,
+ css,
+ html,
+} from 'lit';
+
+import { customElement, property,
+ state, } from "lit/decorators.js"
+import {
+ chooseServiceWorker,
+ getServiceWorkers,
+ unsetServiceWorker,
+} from '../services/service_worker';
+
+import '../components/app-button';
+
+//@ts-ignore
+import style from '../../../styles/list-defaults.css';
+
+interface ServiceWorkerChoice {
+ id: number;
+ title: string;
+ description: string;
+}
+
+@customElement('sw-picker')
+export class SWPicker extends LitElement {
+ @property({ type: Number }) score = 0;
+
+ @state() serviceWorkers: ServiceWorkerChoice[] | undefined;
+ @state() chosenSW: number | undefined;
+
+ static get styles() {
+ return [
+ style,
+ css`
+ :host {
+ display: block;
+ width: 100%;
+
+ padding: 32px;
+ }
+
+ ul {
+ margin-top: 4em;
+ }
+
+ li {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding-bottom: 35px;
+ border-bottom: 0.67681px solid #e5e5e5;
+ }
+
+ h4 {
+ font-size: var(--medium-font-size);
+ margin-bottom: 12px;
+ margin-top: 12px;
+ }
+
+ h5 {
+ margin-bottom: 0;
+ font-size: 22px;
+ }
+
+ #sw-picker-header {
+ border-bottom: 0.67681px solid rgb(229, 229, 229);
+ padding-bottom: 47px;
+ }
+
+ #summary {
+ font-size: 22px;
+ font-weight: var(--font-bold);
+ }
+
+ #summary-block p {
+ margin-bottom: 0;
+ }
+
+ p {
+ font-size: var(--font-size);
+ color: var(--font-color);
+ max-width: 767px;
+ }
+
+ #header-block {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ }
+
+ #header-actions {
+ display: flex;
+ justify-content: flex-end;
+ }
+
+ #score-block {
+ font-size: var(--medium-font-size);
+ font-weight: var(--font-bold);
+ }
+
+ .actions #select-button::part(underlying-button) {
+ background: white;
+ color: var(--font-color);
+ }
+
+ #bottom-actions {
+ display: flex;
+ justify-content: flex-end;
+ margin-top: 64px;
+ margin-bottom: 64px;
+ }
+
+ .done-button {
+ width: 108px;
+ }
+ `,
+ ];
+ }
+
+ constructor() {
+ super();
+ }
+
+ async firstUpdated() {
+ const swData = await getServiceWorkers();
+
+ if (swData) {
+ this.serviceWorkers = swData.serviceworkers;
+ console.log(this.serviceWorkers);
+ }
+ }
+
+ chooseSW(sw: ServiceWorkerChoice) {
+ console.log(sw);
+ this.chosenSW = sw.id;
+
+ if (this.chosenSW) {
+ chooseServiceWorker(this.chosenSW);
+ }
+ }
+
+ removeSW() {
+ unsetServiceWorker();
+ this.chosenSW = undefined;
+ }
+
+ done() {
+ const event = new CustomEvent('back-to-overview', {
+ detail: {
+ open: true,
+ },
+ });
+ this.dispatchEvent(event);
+ }
+
+ render() {
+ return html`
+
+
+
+
+ ${this.serviceWorkers?.map(sw => {
+ return html`
+
+
+
${sw.title}
+
+
${sw.description}
+
+
+
+ ${this.chosenSW === sw.id
+ ? html`
this.removeSW()}"
+ >Remove `
+ : html`
this.chooseSW(sw)}"
+ >Select `}
+
+
+ `;
+ })}
+
+
+
+
this.done()}"
+ >Done
+
+
+ `;
+ }
+}
diff --git a/src/script/components/tooltip.ts b/src/script/components/tooltip.ts
new file mode 100644
index 00000000..6103f5f0
--- /dev/null
+++ b/src/script/components/tooltip.ts
@@ -0,0 +1,100 @@
+import { css, html } from 'lit';
+
+let tooltipCounter = 0;
+
+function createTooltipId() {
+ const current = tooltipCounter;
+ tooltipCounter++;
+ return 'tooltip-num-' + current;
+}
+
+export function tooltip(buttonId: string, text: string, url?: string) {
+ const tooltipId = createTooltipId();
+
+ return html`
+
+
+
+ ${url && url.length > 0
+ ? html`${text} `
+ : html` ${text} `}
+
+ `;
+}
+
+export const styles = css`
+ fast-button.tooltip {
+ --tooltip-square: 16px;
+ --tooltip-image-square: 12px;
+
+ --tooltip-text-color: #fff;
+ --tooltip-background-color: var(--font-color);
+
+ --base-height-multiplier: 4;
+ }
+
+ .tooltip {
+ display: flex;
+ flex-direction: column;
+ justify-content: space-around;
+ padding: 2px;
+ border-radius: var(--button-radius);
+ min-width: 16px;
+ max-width: 4em;
+ }
+
+ .tooltip::part(control) {
+ padding: 0;
+ }
+
+ .tooltip::part(content) {
+ width: 12px;
+ }
+
+ .tooltip-text {
+ display: none;
+ color: var(--tooltip-text-color);
+ background-color: var(--tooltip-background-color);
+ padding: 8px;
+ border-radius: 6px;
+ position: relative;
+ z-index: 1;
+ text-align: center;
+
+ white-space: break-spaces;
+ width: 14em;
+ }
+
+ .tooltip:focus > .tooltip-text,
+ .tooltip:focus-visible > .tooltip-text,
+ .tooltip:focus-within > .tooltip-text,
+ .tooltip:hover > .tooltip-text {
+ display: inline-block;
+ }
+
+ fast-button:hover {
+ background: var(--neutral-fill-stealth-rest);
+ }
+
+ .tooltip img {
+ vertical-align: middle;
+ height: var(--tooltip-image-square);
+ width: var(--tooltip-image-square);
+ }
+
+ .tooltip-badge {
+ height: var(--tooltip-square);
+ width: var(--tooltip-square);
+ }
+`;
diff --git a/src/script/components/windows-form.ts b/src/script/components/windows-form.ts
new file mode 100644
index 00000000..a3696b39
--- /dev/null
+++ b/src/script/components/windows-form.ts
@@ -0,0 +1,513 @@
+import {
+ LitElement,
+ css,
+ html,
+} from 'lit';
+
+import { customElement, property,
+ state, } from "lit/decorators.js"
+
+import '../components/loading-button';
+import { tooltip, styles as ToolTipStyles } from '../components/tooltip';
+//@ts-ignore
+import style from "../../../styles/form-styles.css";
+
+import { getURL } from '../services/app-info';
+import { getManiURL } from '../services/manifest';
+import { createWindowsPackageOptionsFromManifest } from '../services/publish/windows-publish';
+
+import { smallBreakPoint, xxLargeBreakPoint } from '../utils/css/breakpoints';
+import { WindowsPackageOptions } from '../utils/win-validation';
+
+@customElement('windows-form')
+export class WindowsForm extends LitElement {
+ @property({ type: Boolean }) generating: boolean = false;
+
+ @state() show_adv = false;
+ @state() default_options: WindowsPackageOptions | undefined;
+
+ static get styles() {
+ return [
+ style,
+ ToolTipStyles,
+ css`
+
+ #form-layout fast-text-field::part(root) {
+ border: 1px solid rgba(194, 201, 209, 1);
+ border-radius: var(--input-radius);
+ }
+
+ #form-layout fast-text-field::part(control) {
+ color: var(--font-color);
+ border-radius: var(--input-radius);
+ }
+
+
+
+ @media (min-height: 760px) and (max-height: 1000px) {
+ form {
+ width: 100%;
+ }
+ }
+
+ ${xxLargeBreakPoint(
+ css`
+ #form-layout {
+ max-height: 17em;
+ }
+ `
+ )}
+
+ ${smallBreakPoint(
+ css`
+ #form-layout {
+ max-height: 20em;
+ }
+ `
+ )}
+ `,
+ ];
+ }
+
+ constructor() {
+ super();
+ }
+
+ firstUpdated() {
+ const defaultOptions = createWindowsPackageOptionsFromManifest();
+
+ if(defaultOptions){
+ this.default_options = defaultOptions;
+ }
+ }
+
+ initGenerate() {
+ const form = this.shadowRoot?.querySelector('#windows-options-form');
+
+ this.dispatchEvent(
+ new CustomEvent('init-windows-gen', {
+ detail: {
+ form: form,
+ },
+ composed: true,
+ bubbles: true,
+ })
+ );
+ }
+
+ toggleSettings(settingsToggleValue: 'basic' | 'advanced') {
+ if (settingsToggleValue === 'advanced') {
+ this.show_adv = true;
+ } else if (settingsToggleValue === 'basic') {
+ this.show_adv = false;
+ } else {
+ this.show_adv = false;
+ }
+ }
+
+ opened(targetEl: EventTarget | null) {
+ if (targetEl) {
+ const flipperButton = (targetEl as Element).classList.contains(
+ 'flipper-button'
+ )
+ ? (targetEl as Element)
+ : (targetEl as Element).querySelector('.flipper-button');
+
+ if (flipperButton) {
+ if (flipperButton.classList.contains('opened')) {
+ flipperButton.animate(
+ [
+ {
+ transform: 'rotate(0deg)',
+ },
+ ],
+ {
+ duration: 200,
+ fill: 'forwards',
+ }
+ );
+
+ flipperButton.classList.remove('opened');
+ } else {
+ flipperButton.classList.add('opened');
+
+ flipperButton.animate(
+ [
+ {
+ transform: 'rotate(0deg)',
+ },
+ {
+ transform: 'rotate(90deg)',
+ },
+ ],
+ {
+ duration: 200,
+ fill: 'forwards',
+ }
+ );
+ }
+ }
+ }
+ }
+
+ render() {
+ return html`
+
+ `;
+ }
+}
diff --git a/src/script/pages/app-about.ts b/src/script/pages/app-about.ts
new file mode 100644
index 00000000..4ec084cb
--- /dev/null
+++ b/src/script/pages/app-about.ts
@@ -0,0 +1,53 @@
+import { LitElement, css, html } from 'lit';
+import { customElement } from "lit/decorators.js"
+import { runAllTests } from '../services/tests';
+
+// double import needed to get full impl
+// and type
+import '../components/app-alert';
+import { AppAlert } from '../components/app-alert';
+
+@customElement('app-about')
+export class AppAbout extends LitElement {
+ static get styles() {
+ return css``;
+ }
+
+ constructor() {
+ super();
+ }
+
+ async firstUpdated() {
+ const search = new URLSearchParams(location.search);
+ const site = search.get('site');
+
+ if (site) {
+ const TestResult = await runAllTests(site);
+ console.log(TestResult);
+ }
+ }
+
+ testAlert(ev: PointerEvent) {
+ const alert: AppAlert | null | undefined = this.shadowRoot?.querySelector("app-alert");
+
+ if (alert) {
+ alert.openAlert(ev.clientX, ev.clientY);
+ }
+ }
+
+ render() {
+ return html`
+
+
About Page
+
+
this.testAlert(ev)}">test alert
+
+
+ Info description. Lorem ipsum dolor sit amet, consectetur elit adipiscing, sed do eiusm tem. Ipsum dolor sit.
+
+ Test
+
+
+ `;
+ }
+}
diff --git a/src/script/pages/app-basepack.ts b/src/script/pages/app-basepack.ts
new file mode 100644
index 00000000..75ce183b
--- /dev/null
+++ b/src/script/pages/app-basepack.ts
@@ -0,0 +1,382 @@
+import {
+ LitElement,
+ css,
+ html,
+} from 'lit';
+import { customElement,
+ state, } from "lit/decorators.js"
+import { classMap } from 'lit/directives/class-map.js';
+
+import '../components/app-header';
+import '../components/app-sidebar';
+import '../components/content-header';
+import '../components/loading-button';
+import '../components/app-modal';
+import {
+ BreakpointValues,
+ largeBreakPoint,
+ xxxLargeBreakPoint,
+ smallBreakPoint,
+ mediumBreakPoint,
+} from '../utils/css/breakpoints';
+
+// @ts-ignore
+import style from '../../../styles/layout-defaults.css';
+
+import { generateWebPackage } from '../services/publish/web-publish';
+import { fileSave } from 'browser-fs-access';
+import { Router } from '@vaadin/router';
+import { getURL } from '../services/app-info';
+
+import { localeStrings } from '../../locales';
+
+@customElement('app-basepack')
+export class AppBasePack extends LitElement {
+ @state() mql = window.matchMedia(
+ `(min-width: ${BreakpointValues.largeUpper}px)`
+ );
+
+ @state() isDeskTopView = this.mql.matches;
+
+ @state() loading: boolean = false;
+ @state() blob: Blob | File | undefined;
+
+ @state() errored = false;
+ @state() errorMessage: string | undefined;
+
+ static get styles() {
+ return [
+ style,
+ css`
+ content-header::part(header) {
+ display: none;
+ }
+
+ .container {
+ padding: 16px;
+ display: flex;
+ flex-direction: column;
+ justify-items: center;
+
+ padding-right: 2em;
+ }
+
+ .container .action-buttons {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+
+ .container .action-buttons > app-button {
+ margin: 1rem;
+ }
+
+ .container .action-buttons fast-anchor {
+ /**
+ Seems like a magic value but really
+ this is just to match the back button next to it
+ */
+ width: 100px;
+
+ color: white;
+ box-shadow: var(--button-shadow);
+ border-radius: var(--button-radius);
+ font-weight: bold;
+ }
+
+ #summary-block {
+ padding: 16px 16px 16px 36px;
+ border-bottom: var(--list-border);
+
+ margin-right: 2em;
+ }
+
+ p {
+ font-size: var(--font-size);
+ }
+
+ h2 {
+ font-size: var(--xlarge-font-size);
+ line-height: 46px;
+ max-width: 526px;
+ }
+
+ #hero-p {
+ font-size: var(--font-size);
+ line-height: 24px;
+ max-width: 406px;
+ }
+
+ h3,
+ h5 {
+ font-size: var(--medium-font-size);
+ margin-bottom: 8px;
+ }
+
+ h4 {
+ margin-bottom: 8px;
+ margin-top: 0;
+ }
+
+ #top-container {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ }
+
+ #up-next {
+ border-top: var(--list-border);
+ }
+
+ #download-summary p {
+ max-width: 20em;
+ }
+
+ #report-link {
+ color: white;
+ border-radius: var(--button-radius);
+ box-shadow: var(--button-shadow);
+ width: 10em;
+ }
+
+ ${xxxLargeBreakPoint(
+ css`
+ app-sidebar {
+ display: block;
+ }
+
+ #tablet-sidebar {
+ display: none;
+ }
+
+ #desktop-sidebar {
+ display: block;
+ }
+
+ #basepack-wrapper {
+ max-width: 69em;
+ background: white;
+ }
+ `
+ )}
+
+ ${largeBreakPoint(
+ css`
+ #tablet-sidebar {
+ display: block;
+ }
+
+ #desktop-sidebar {
+ display: none;
+ }
+ `
+ )}
+
+ ${mediumBreakPoint(
+ css`
+ .basePackage h2 {
+ font-size: 33px;
+ max-width: 10em;
+
+ margin-top: 0;
+ margin-bottom: 1em;
+ }
+
+ .basePackage p {
+ display: none;
+ }
+ `
+ )}
+
+ ${smallBreakPoint(
+ css`
+ #top-container {
+ flex-direction: column;
+ align-items: flex-start;
+ }
+
+ #download-actions {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-bottom: 2em;
+ margin-top: 2em;
+ }
+
+ .basePackage h2 {
+ font-size: 33px;
+
+ margin-top: 0;
+ margin-bottom: 1em;
+ }
+
+ .basePackage p {
+ display: none;
+ }
+ `
+ )}
+ `,
+ ];
+ }
+
+ constructor() {
+ super();
+ }
+
+ async doWebGenerate() {
+ this.loading = true;
+
+ try {
+ const generatedPackage = await generateWebPackage();
+
+ if (generatedPackage) {
+ this.blob = generatedPackage;
+ }
+ } catch (err) {
+ this.errorMessage = err;
+ this.errored = true;
+ }
+
+ this.loading = false;
+ }
+
+ async download() {
+ if (this.blob) {
+ await fileSave(this.blob, {
+ fileName: 'your_pwa.zip',
+ extensions: ['.zip'],
+ });
+
+ this.blob = undefined;
+ }
+ }
+
+ showAlertModal(errorMessage: string) {
+ this.errored = true;
+
+ this.errorMessage = errorMessage;
+ }
+
+ reTest() {
+ const site = getURL();
+
+ if (site) {
+ Router.go(`/testing?site=${site}`);
+ }
+ }
+
+ render() {
+ return html`
+
+
+
+
+
this.download()}">Download
+
+
+
+
+
+
+
+ Report an Issue
+
+
+
+
+
+
+
+
+
+
+
+ Lets make your app a PWA!
+
+ Looks like your web app is not a PWA yet, but that’s OK! Download your base files below and publish them to your app to become a PWA! Then tap Run New Test at the bottom to test again, or next to go straight to packaging!
+
+
+
+
+
+
+ Download your PWA base files
+
+
+ Check out the next-steps doc in your download to succesfully upload these files to your web app.
+
+
+
+
+
+
+
Download Summary
+
+
+ Your Download will include everything needed to make your Web App a PWA.
+
+
+
+
+ this.doWebGenerate()}"
+ >Download
+
+
+
+
+
Up next
+
+
+ After uploading the above files to your Web App tap Run New Test to test your PWA again, or tap Next to go straight to packaging!
+
+
+
+
+
+
+
+
+ `;
+ }
+}
diff --git a/src/script/pages/app-congrats.ts b/src/script/pages/app-congrats.ts
new file mode 100644
index 00000000..6a2242f7
--- /dev/null
+++ b/src/script/pages/app-congrats.ts
@@ -0,0 +1,772 @@
+import { LitElement, css, html } from 'lit';
+
+import { customElement, state } from 'lit/decorators.js';
+import { classMap } from 'lit/directives/class-map.js';
+
+import {
+ BreakpointValues,
+ xxxLargeBreakPoint,
+ largeBreakPoint,
+ mediumBreakPoint,
+ smallBreakPoint,
+ customBreakPoint,
+} from '../utils/css/breakpoints';
+import { hidden_all } from '../utils/css/hidden';
+import { domEventEmitter } from '../utils/events';
+
+// @ts-ignore
+import style from '../../../styles/layout-defaults.css';
+
+import '../components/app-header';
+import '../components/app-sidebar';
+import '../components/content-header';
+import '../components/app-modal';
+import '../components/app-card';
+import '../components/resource-hub';
+
+import { getPlatformsGenerated } from '../services/congrats';
+import { fileSave } from 'browser-fs-access';
+import { Router } from '@vaadin/router';
+import { generatePackage, platform } from '../services/publish';
+import { BlogPost, allPosts } from '../services/blog';
+
+@customElement('app-congrats')
+export class AppCongrats extends LitElement {
+ @state() mql = window.matchMedia(
+ `(min-width: ${BreakpointValues.largeUpper}px)`
+ );
+
+ @state() isDeskTopView = this.mql.matches;
+
+ @state() generatedPlatforms;
+
+ @state() generating = false;
+
+ @state() errored = false;
+ @state() errorMessage: string | undefined;
+
+ @state() blob: Blob | File | undefined;
+ @state() testBlob: Blob | File | undefined;
+ @state() open_windows_options = false;
+ @state() open_android_options = false;
+
+ @state() blog_posts: Array | undefined;
+ @state() featuredPost: BlogPost | undefined;
+
+ static get styles() {
+ return [
+ style,
+ css`
+ content-header::part(header) {
+ display: none;
+ }
+
+ #summary-block {
+ padding: 16px 16px 16px 36px;
+ border-bottom: var(--list-border);
+
+ margin-right: 2em;
+ }
+
+ p {
+ font-size: var(--font-size);
+ color: var(--font-color);
+ max-width: 767px;
+ }
+
+ h2 {
+ font-size: var(--xlarge-font-size);
+ line-height: 46px;
+ max-width: 526px;
+ }
+
+ h3 {
+ font-size: var(--medium-font-size);
+ margin-bottom: 8px;
+ }
+
+ #hero-p {
+ font-size: var(--font-size);
+ line-height: 24px;
+ max-width: 406px;
+ }
+
+ ul {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+
+ width: 100%;
+ }
+
+ li {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding-top: 35px;
+ padding-bottom: 35px;
+ border-bottom: var(--list-border);
+ }
+
+ li h4 {
+ font-size: var(--small-medium-font-size);
+ margin-bottom: 8px;
+ margin-top: 0px;
+ }
+
+ #other-stores {
+ padding: 16px;
+ border-bottom: var(--list-border);
+ margin-right: 2em;
+ }
+
+ #blog-section {
+ padding: 16px 32px;
+ background: #f8f8f8;
+ }
+
+ #tools-section {
+ padding: 16px;
+ }
+
+ #tools-block {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(244px, 1fr));
+ grid-gap: 23px;
+ }
+
+ #tools-section h3 {
+ margin-top: 36px;
+ margin-bottom: 32px;
+
+ text-align: center;
+ }
+
+ #blog-section h3 {
+ margin-top: 36px;
+ margin-bottom: 32px;
+ }
+
+ #blog-block {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(256px, 1fr));
+ }
+
+ #blog-block app-card {
+ max-width: 612px;
+ margin-bottom: 10px;
+ box-shadow: 0px 2px 4px 0px rgb(0 0 0 / 25%);
+ border: none;
+ border-radius: 4px;
+ }
+
+ #blog-block #first-card {
+ max-height: 552px;
+ margin-right: 24px;
+ }
+
+ #tools-section h3 {
+ text-align: center;
+ }
+
+ #test-package-button {
+ display: block;
+ margin-top: 15px;
+ }
+
+ #android-publish-button {
+ /* same width as buttons above it */
+ width: 152px;
+ }
+
+ #anchor-block {
+ display: flex;
+ margin-top: 20px;
+ justify-content: flex-end;
+ margin-bottom: 20px;
+ }
+
+ #anchor-block fast-anchor::part(control) {
+ border-bottom: none;
+ color: inherit;
+ font-weight: var(--font-bold);
+ font-size: var(--small-medium-font-size);
+ }
+
+ ${xxxLargeBreakPoint(
+ css`
+ app-sidebar {
+ display: block;
+ }
+
+ #tablet-sidebar {
+ display: none;
+ }
+
+ #desktop-sidebar {
+ display: block;
+ }
+
+ #congrats-wrapper {
+ max-width: 69em;
+ background: white;
+ }
+ `
+ )}
+
+ ${largeBreakPoint(
+ css`
+ #tablet-sidebar {
+ display: block;
+ }
+
+ #desktop-sidebar {
+ display: none;
+ }
+ `
+ )}
+
+ ${mediumBreakPoint(
+ css`
+ #blog-block #first-card {
+ margin-right: initial;
+ }
+
+ .congrats h2 {
+ font-size: 33px;
+ max-width: 10em;
+
+ margin-top: 0;
+ margin-bottom: 2em;
+ }
+
+ .congrats p {
+ display: none;
+ }
+
+ #other-stores li {
+ flex-direction: column;
+ align-items: flex-start;
+ }
+
+ #other-stores #title-block {
+ width: 100%;
+ }
+
+ #other-stores #title-block p {
+ width: unset;
+ }
+
+ #other-stores #platform-actions-block {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin-top: 2em;
+ }
+
+ #other-stores li h2 {
+ font-size: 33px;
+
+ margin-top: 0;
+ margin-bottom: 1em;
+ }
+
+ #test-package-button app-button::part(underlying-button) {
+ width: 152px;
+ font-size: var(--font-size);
+ height: 40px;
+ }
+ `
+ )}
+
+ ${smallBreakPoint(
+ css`
+ fast-tabs::part(tablist) {
+ display: none;
+ }
+
+ .congrats h2 {
+ font-size: 33px;
+
+ margin-top: 0;
+ margin-bottom: 2em;
+ }
+
+ .congrats p {
+ display: none;
+ }
+
+ #other-stores li {
+ flex-direction: column;
+ align-items: flex-start;
+ }
+
+ #other-stores #title-block {
+ width: 100%;
+ }
+
+ #other-stores #title-block p {
+ width: unset;
+ }
+
+ #other-stores #platform-actions-block {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin-top: 2em;
+ }
+
+ #other-stores li h2 {
+ font-size: 33px;
+
+ margin-top: 0;
+ margin-bottom: 1em;
+ }
+
+ #test-package-button app-button::part(underlying-button) {
+ width: 152px;
+ font-size: var(--font-size);
+ height: 40px;
+ }
+ `
+ )},
+ `,
+ hidden_all,
+ xxxLargeBreakPoint(
+ css`
+ app-sidebar {
+ display: block;
+ }
+
+ #tablet-sidebar {
+ display: none;
+ }
+
+ #desktop-sidebar {
+ display: block;
+ }
+ `
+ ),
+ largeBreakPoint(
+ css`
+ #tablet-sidebar {
+ display: block;
+ }
+
+ #desktop-sidebar {
+ display: none;
+ }
+ `
+ ),
+ mediumBreakPoint(
+ css`
+ #blog-block #first-card {
+ margin-right: initial;
+ }
+ `
+ ),
+ smallBreakPoint(
+ css`
+ #blog-block {
+ display: block;
+ overflow-y: hidden;
+ overflow-x: scroll;
+ scroll-snap-type: x proximity;
+ white-space: nowrap;
+ align-items: center;
+ padding: 0 16px;
+ margin-bottom: 16px;
+ }
+
+ .other.posts {
+ display: inline-block;
+ margin-left: 32px;
+ }
+
+ #blog-block #first-card {
+ margin-right: 0;
+ }
+
+ #blog-block .blog {
+ display: inline-block;
+ width: calc(100% - 32px);
+ margin-right: 32px;
+ margin-bottom: 16px;
+ scroll-snap-align: center;
+ }
+ `
+ ),
+ customBreakPoint(
+ css`
+ #blog-block {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ }
+ #blog-block app-card {
+ max-width: 416px;
+ }
+
+ /* due to container, might want to refactor so the container is optional. */
+ .other.posts {
+ width: 100%;
+ }
+
+ .other.posts app-card {
+ margin-left: auto;
+ margin-right: auto;
+ }
+ `,
+ 480,
+ 639
+ ),
+ ];
+ }
+
+ constructor() {
+ super();
+
+ domEventEmitter.addEventListener('resize', () => {
+ this.requestUpdate();
+ });
+ }
+
+ firstUpdated() {
+ this.generatedPlatforms = getPlatformsGenerated();
+
+ let possiblePosts = allPosts;
+
+ if (possiblePosts) {
+ // first post in array will be featured
+ // the below logic figures out what that should be
+ // If both platforms were not generated then the featured should
+ // be Windows with Android being the second post
+
+ if (this.generatedPlatforms.windows === false) {
+ // Windows platform was not generated, windows blog post should be featured
+ possiblePosts.map(post => {
+ if (post.relatedPlatform && post.relatedPlatform === 'windows') {
+ this.featuredPost = post;
+
+ possiblePosts = possiblePosts.filter(
+ item => item.title !== post.title
+ );
+ }
+ });
+ } else if (this.generatedPlatforms.android === false) {
+ possiblePosts.map(post => {
+ if (post.relatedPlatform && post.relatedPlatform === 'android') {
+ this.featuredPost = post;
+
+ possiblePosts = possiblePosts.filter(
+ item => item.title !== post.title
+ );
+ }
+ });
+ }
+
+ this.blog_posts = possiblePosts;
+ }
+ }
+
+ async generate(type: platform, form?: HTMLFormElement) {
+ try {
+ this.generating = true;
+
+ const packageData = await generatePackage(type, form);
+
+ if (packageData) {
+ if (packageData.type === 'test') {
+ this.testBlob = packageData.blob;
+ } else {
+ this.blob = packageData.blob;
+ }
+ }
+
+ this.generating = false;
+ this.open_android_options = false;
+ this.open_windows_options = false;
+ } catch (err) {
+ console.error(err);
+
+ this.showAlertModal(err);
+ }
+ }
+
+ async download() {
+ if (this.blob || this.testBlob) {
+ await fileSave((this.blob as Blob) || (this.testBlob as Blob), {
+ fileName: 'your_pwa.zip',
+ extensions: ['.zip'],
+ });
+
+ this.blob = undefined;
+ this.testBlob = undefined;
+ }
+ }
+
+ returnToFix() {
+ const resultsString = sessionStorage.getItem('results-string');
+
+ // navigate back to report-card page
+ // with current manifest results
+ Router.go(`/reportcard?results=${resultsString}`);
+ }
+
+ showAlertModal(errorMessage: string) {
+ this.errored = true;
+
+ this.errorMessage = errorMessage;
+ }
+
+ showWindowsOptionsModal() {
+ this.open_windows_options = !this.open_windows_options;
+ }
+
+ showAndroidOptionsModal() {
+ this.open_android_options = !this.open_android_options;
+ }
+
+ render() {
+ return html`
+
+
+
+
+
this.returnToFix()}"
+ >Return to Manifest Options
+
+
+
+
+
+
+
+
this.download()}">Download
+
+
+
+
+
+
+
+
this.download()}">Download
+
+
+
+
+ this.generate('windows', ev.detail.form)}"
+ >
+
+
+
+ this.generate('android', ev.detail.form)}"
+ >
+
+
+
+
+
+
+
+
+
+
+ Awesome!
+
+ You have taken your PWA to the app stores!
+
+
+
+
+
+
+ Nice
+
+
+ Check below to package your PWA for another store and visit our
+ Blog for demos, components and to learn more about PWAs!
+
+
+
+
+ Publish your PWA to other stores?
+
+
+ ${this.generatedPlatforms &&
+ this.generatedPlatforms.windows === false
+ ? html`
+
+
+
Windows
+
+ PWAs work great on Windows!
+ Tap Test Package to test your PWA on a Windows
+ device, or if you're ready, tap Publish to generate
+ a Microsoft Store-ready package for your PWA!
+
+
+
+
+
+ `
+ : null}
+
+
+ ${this.generatedPlatforms &&
+ this.generatedPlatforms.android === false
+ ? html`
+
+
+
Android
+
+ Want to ship your PWA to Android? PWAs also work great
+ on Android and are accepted in the Google Play Store.
+ Tap publish to generate a package you can both test
+ with and submit to the Google Play Store!
+
+
+
+
+
+ `
+ : null}
+
+
+
+ Learn more on our Blog…
+
+
+ ${this.featuredPost
+ ? html`
+ `
+ : null}
+
+
+ ${this.blog_posts
+ ? this.blog_posts.map(post => {
+ return html`
+
+
+ `;
+ })
+ : null}
+
+
+
+
+ View more blog posts
+
+
+
+
+
+
+
+ `;
+ }
+
+ isFeatured() {
+ return window.innerWidth > 1023;
+ }
+}
diff --git a/src/script/pages/app-home.ts b/src/script/pages/app-home.ts
new file mode 100644
index 00000000..aa90245a
--- /dev/null
+++ b/src/script/pages/app-home.ts
@@ -0,0 +1,420 @@
+import { LitElement, css, html } from 'lit';
+
+import { customElement, state } from 'lit/decorators.js';
+
+import { classMap } from 'lit/directives/class-map.js';
+import { localeStrings } from '../../locales';
+
+import {
+ smallBreakPoint,
+ mediumBreakPoint,
+ largeBreakPoint,
+ xxLargeBreakPoint,
+ xxxLargeBreakPoint,
+} from '../utils/css/breakpoints';
+import { isValidURL } from '../utils/url';
+
+import '../components/content-header';
+import '../components/resource-hub';
+import '../components/loading-button';
+import '../components/dropdown-menu';
+import '../components/app-sidebar';
+
+//@ts-ignore
+import style from '../../../styles/error-styles.css';
+
+// For more info on the @pwabuilder/pwainstall component click here https://github.com/pwa-builder/pwa-install
+import '@pwabuilder/pwainstall';
+import { Router } from '@vaadin/router';
+import { getProgress, getURL, setProgress } from '../services/app-info';
+import { Lazy, ProgressList, Status } from '../utils/interfaces';
+import { fetchManifest } from '../services/manifest';
+
+@customElement('app-home')
+export class AppHome extends LitElement {
+ @state() siteURL: Lazy;
+ @state() gettingManifest = false;
+
+ @state() errorGettingURL = false;
+ @state() errorMessage: string | undefined;
+
+ static get styles() {
+ return [
+ style,
+ css`
+ content-header::part(main-container) {
+ display: flex;
+
+ padding-top: 0;
+ }
+
+ content-header::part(header) {
+ --header-border: none;
+ }
+
+ h2 {
+ font-size: var(--xlarge-font-size);
+ line-height: 48px;
+ letter-spacing: -0.015em;
+ max-width: 526px;
+ margin-bottom: 0;
+ }
+
+ h3 {
+ font-size: var(--medium-font-size);
+ }
+
+ #hero-p {
+ font-size: 16px;
+ line-height: 24px;
+ letter-spacing: -0.015em;
+ color: var(--secondary-font-color);
+ max-width: 406px;
+ }
+
+ ul {
+ padding: 0;
+ margin: 0;
+ display: grid;
+ grid-template-columns: auto auto;
+ }
+
+ .intro-grid-item {
+ max-width: 200px;
+ }
+
+ .intro-grid-item h3 {
+ margin-bottom: 5px;
+ }
+
+ .intro-grid-item p {
+ margin-top: 0;
+ color: var(--secondary-font-color);
+ font-size: var(--font-size);
+
+ width: 194px;
+ }
+
+ #input-form {
+ display: flex;
+ margin-top: 1em;
+ }
+
+ #input-form fast-text-field {
+ width: 94%;
+ margin-right: 10px;
+ }
+
+ #input-form fast-text-field::part(root) {
+ border: 1px solid #e5e5e5;
+ border-radius: var(--input-radius);
+ }
+
+ #input-form fast-text-field::part(control) {
+ color: var(--font-color);
+ }
+
+ #input-block {
+ display: flex;
+ flex-direction: column;
+
+ flex: 0.8 1 0%;
+ width: 100%;
+ }
+
+ ${smallBreakPoint(css`
+ content-header::part(grid-container) {
+ display: none;
+ }
+
+ content-header::part(main-container) {
+ padding-left: 0;
+ }
+
+ h2 {
+ margin-top: 0;
+ font-size: var(--large-font-size);
+ }
+
+ #start-button {
+ margin-top: 16px;
+ }
+
+ #hero-p {
+ line-height: 22px;
+ }
+
+ #input-form {
+ flex-direction: column;
+ width: 100%;
+ align-items: center;
+ }
+
+ #input-form fast-text-field {
+ width: 100%;
+ margin-right: 0;
+ }
+
+ #input-form fast-text-field::part(root) {
+ height: 64px;
+ }
+
+ #input-form fast-text-field::part(control) {
+ font-size: 22px;
+ }
+ `)}
+
+ ${mediumBreakPoint(css`
+ content-header::part(grid-container) {
+ display: none;
+ }
+
+ content-header::part(main-container) {
+ padding-left: 0;
+ }
+
+ h2 {
+ font-size: var(--large-font-size);
+ margin-top: 0;
+ }
+
+ #hero-p {
+ line-height: 22px;
+ text-align: center;
+ max-width: initial;
+ }
+
+ #input-form {
+ flex-direction: column;
+ width: 100%;
+ align-items: center;
+ }
+
+ #input-form fast-text-field {
+ width: 100%;
+ margin-right: 0;
+ }
+
+ #input-form fast-text-field::part(root) {
+ height: 64px;
+ }
+
+ #input-form fast-text-field::part(control) {
+ font-size: 22px;
+ }
+
+ #input-block {
+ margin-bottom: 30px;
+ }
+
+ #start-button {
+ margin-top: 45px;
+ }
+ `)}
+
+
+ ${largeBreakPoint(css`
+ content-header::part(main-container) {
+ padding-left: 16px;
+ }
+ `)}
+
+ ${xxLargeBreakPoint(css`
+ .intro-grid-item {
+ max-width: 280px;
+ }
+
+ h2 {
+ max-width: 600px;
+ }
+
+ content-header::part(main-container) {
+ padding-left: 5em;
+ justify-content: flex-start;
+ }
+ `)}
+
+ ${xxxLargeBreakPoint(css`
+ content-header::part(main-container) {
+ padding-left: 10em;
+ justify-content: flex-start;
+ }
+ `)}
+ `,
+ ];
+ }
+
+ constructor() {
+ super();
+ }
+
+ async firstUpdated() {
+ const search = new URLSearchParams(location.search);
+ const site = search.get('site');
+
+ if (site) {
+ this.siteURL = site;
+ await this.doTest();
+ }
+ }
+
+ handleURL(inputEvent: InputEvent) {
+ if (inputEvent) {
+ this.siteURL = (inputEvent.target as HTMLInputElement).value;
+ }
+ }
+
+ async start(inputEvent: InputEvent) {
+ inputEvent.preventDefault();
+
+ await this.doTest();
+ }
+
+ async doTest() {
+ if (this.siteURL) {
+ this.gettingManifest = true;
+
+ const validation_test = await isValidURL(this.siteURL);
+
+ if (validation_test === true) {
+ try {
+ const data = await fetchManifest(this.siteURL);
+
+ if (data.error) {
+ this.errorGettingURL = true;
+ this.errorMessage = data.error;
+ console.warn(`Error getting URL: ${data.error}`);
+
+ return;
+ }
+
+ this.errorGettingURL = false;
+
+ const progress = getProgress();
+ this.updateProgress(progress);
+
+ const goodURL = getURL();
+
+ if (goodURL !== undefined) {
+ Router.go(`/testing?site=${goodURL}`);
+ }
+ } catch (err) {
+ // couldnt get manifest
+ // continue forward with zeroed out results
+ // and use generated manifest
+ this.errorGettingURL = false;
+
+ const progress = getProgress();
+ this.updateProgress(progress);
+
+ const goodURL = getURL();
+
+ if (goodURL !== undefined) {
+ Router.go(`/testing?site=${goodURL}`);
+ }
+ }
+ } else {
+ this.errorMessage = localeStrings.input.home.error.invalidURL;
+ this.errorGettingURL = true;
+ }
+
+ this.gettingManifest = false;
+ }
+ }
+
+ updateProgress(progressData: ProgressList) {
+ if (progressData) {
+ progressData.progress[0].items[0].done = Status.DONE;
+
+ const newProgress = progressData;
+ setProgress(newProgress);
+ }
+ }
+
+ render() {
+ return html`
+
+
+ Ship your PWA to the app stores at lightning speed.
+
+
+
+
+
Test
+
+
+ PWABuilder will make sure your web app is a PWA and ready for the
+ stores!
+
+
+
+
+
Manage
+
+
+ Our Report Card will let you know if your PWA is store-ready. If
+ not, PWABuilder will help you get there!
+
+
+
+
+
Package
+
+
+ Once you are ready, PWABuilder can package your PWA for the app
+ stores in minutes!
+
+
+
+
+
Explore
+
+
+ PWAs are moving forward fast, learn about new web APIs, store
+ readiness, and more!
+
+
+
+
+
+
+
+
+ PWABuilder Resource Hub
+
+ Jump to our blog, find our documentation and check out demos and
+ components from the PWABuilder team!
+
+
+ `;
+ }
+}
diff --git a/src/script/pages/app-index.ts b/src/script/pages/app-index.ts
new file mode 100644
index 00000000..877531f7
--- /dev/null
+++ b/src/script/pages/app-index.ts
@@ -0,0 +1,135 @@
+import { LitElement, css, html } from 'lit';
+import { customElement } from "lit/decorators.js"
+import { Router } from '@vaadin/router';
+import './app-home';
+import './app-report';
+
+import '../components/app-footer';
+import '../components/app-header';
+
+@customElement('app-index')
+export class AppIndex extends LitElement {
+ static get styles() {
+ return css`
+ #router-outlet > * {
+ width: 100% !important;
+ }
+
+ #router-outlet > .leaving {
+ animation: 160ms fadeOut ease-in-out;
+ }
+
+ #router-otlet > .entering {
+ animation: 160ms fadeIn linear;
+ }
+
+ @media(min-width: 1920px) {
+ #router-outlet {
+ background: var(--primary-purple);
+ }
+ }
+
+ @keyframes fadeOut {
+ from {
+ opacity: 1;
+ }
+
+ to {
+ opacity: 0;
+ }
+ }
+
+ @keyframes fadeIn {
+ from {
+ opacity: 0.2;
+ }
+
+ to {
+ opacity: 1;
+ }
+ }
+ /* To handle sidebar & main */
+ .container {
+ display: grid;
+ grid-template-columns: minmax(280px, auto);
+ grid-template-areas: 'sidebar main';
+ margin: 0 auto;
+ height: 100%;
+ position: relative;
+ }
+ .container > .main {
+ width: calc(100vw - 280px);
+ grid-area: main;
+ }
+ .container > .sidebar {
+ grid-area: sidebar;
+ }
+ `;
+ }
+
+ constructor() {
+ super();
+ }
+
+ firstUpdated() {
+ // this method is a lifecycle even in lit-element
+ // for more info check out the lit-element docs https://lit-element.polymer-project.org/guide/lifecycle
+
+ // For more info on using the @vaadin/router check here https://vaadin.com/router
+ const router = new Router(this.shadowRoot?.querySelector('#router-outlet'));
+ router.setRoutes([
+ // temporarily cast to any because of a Type bug with the router
+ {
+ path: '',
+ animate: true,
+ children: [
+ { path: '/', component: 'app-home' },
+ {
+ path: '/testing',
+ component: 'app-testing',
+ action: async () => {
+ await import('./app-testing.js');
+ },
+ },
+ {
+ path: '/reportcard',
+ component: 'app-report'
+ },
+ {
+ path: '/publish',
+ component: 'app-publish',
+ action: async () => {
+ await import('./app-publish.js');
+ },
+ },
+ {
+ path: '/basepackage',
+ component: 'app-basepack',
+ action: async () => {
+ await import('./app-basepack.js');
+ }
+ },
+ {
+ path: '/congrats',
+ component: 'app-congrats',
+ action: async () => {
+ await import('./app-congrats.js');
+ }
+ }
+ ],
+ } as any,
+ ]);
+ }
+
+ render() {
+ return html`
+
+ `;
+ }
+}
diff --git a/src/script/pages/app-publish.ts b/src/script/pages/app-publish.ts
new file mode 100644
index 00000000..81f74e38
--- /dev/null
+++ b/src/script/pages/app-publish.ts
@@ -0,0 +1,775 @@
+import { css, html, LitElement } from 'lit';
+import { customElement, state } from 'lit/decorators.js';
+import { classMap } from 'lit/directives/class-map.js';
+
+import '../components/app-header';
+import '../components/app-card';
+import '../components/app-modal';
+import '../components/app-button';
+import '../components/loading-button';
+import '../components/windows-form';
+import '../components/android-form';
+import { Router } from '@vaadin/router';
+
+import {
+ BreakpointValues,
+ smallBreakPoint,
+ largeBreakPoint,
+ mediumBreakPoint,
+ xxxLargeBreakPoint,
+} from '../utils/css/breakpoints';
+
+//@ts-ignore
+import style from '../../../styles/layout-defaults.css';
+import { fileSave } from 'browser-fs-access';
+import { fetchManifest } from '../services/manifest';
+import { Manifest } from '../utils/interfaces';
+import {
+ checkResults,
+ finalCheckForPublish,
+} from '../services/publish/publish-checks';
+import { generatePackage } from '../services/publish';
+import { getReportErrorUrl } from '../utils/error';
+
+@customElement('app-publish')
+export class AppPublish extends LitElement {
+ @state() errored = false;
+ @state() errorMessage: string | undefined;
+
+ @state() blob: Blob | File | undefined;
+ @state() testBlob: Blob | File | undefined;
+
+ @state() mql = window.matchMedia(
+ `(min-width: ${BreakpointValues.largeUpper}px)`
+ );
+
+ @state() isDeskTopView = this.mql.matches;
+
+ @state() open_windows_options = false;
+ @state() open_android_options = false;
+ @state() open_samsung_modal = false;
+
+ @state() generating = false;
+
+ @state() finalChecks: checkResults | undefined;
+
+ @state() reportPackageErrorUrl: string;
+
+ constructor() {
+ super();
+
+ this.mql.addEventListener('change', e => {
+ this.isDeskTopView = e.matches;
+ });
+ }
+
+ static get styles() {
+ return [
+ style,
+ css`
+ .header {
+ padding: 1rem 3rem;
+ }
+
+ .header p {
+ width: min(100%, 600px);
+ }
+
+ #tablet-sidebar {
+ display: none;
+ }
+
+ #desktop-sidebar {
+ display: block;
+ }
+
+ #summary-block {
+ padding: 16px 16px 16px 36px;
+ border-bottom: var(--list-border);
+
+ margin-right: 2em;
+ }
+
+ h2 {
+ font-size: var(--xlarge-font-size);
+ line-height: 46px;
+ max-width: 526px;
+ }
+
+ #hero-p {
+ font-size: var(--font-size);
+ line-height: 24px;
+ max-width: 406px;
+ }
+
+ h3,
+ h5 {
+ font-size: var(--medium-font-size);
+ margin-bottom: 8px;
+ }
+
+ h4 {
+ margin-bottom: 8px;
+ margin-top: 0;
+ }
+
+ .container {
+ padding: 16px 16px 16px 36px;
+ display: flex;
+ flex-direction: column;
+ justify-items: center;
+ align-items: center;
+ }
+
+ .container .action-buttons {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+
+ .container .action-buttons > app-button {
+ margin: 1rem;
+ }
+
+ .container .action-buttons fast-anchor,
+ .container .action-buttons app-button {
+ --button-width: 127px;
+ height: 44px;
+ width: var(--button-width);
+ }
+
+ .container .action-buttons fast-anchor {
+ /**
+ Seems like a magic value but really
+ this is just to match the back button next to it
+ */
+ color: white;
+ box-shadow: var(--button-shadow);
+ border-radius: var(--button-radius);
+ font-weight: bold;
+ }
+
+ #up-next {
+ width: 100%;
+ }
+
+ ul {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+
+ width: 100%;
+ }
+
+ li {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding-top: 35px;
+ padding-bottom: 35px;
+ border-bottom: var(--list-border);
+ }
+
+ li h4 {
+ font-size: var(--small-medium-font-size);
+ }
+
+ p {
+ font-size: var(--font-size);
+ color: var(--font-color);
+ max-width: 530px;
+ }
+
+ content-header::part(header) {
+ display: none;
+ }
+
+ .modal-image {
+ width: 6em;
+ }
+
+ #error-modal::part(modal-layout),
+ #download-modal::part(modal-layout),
+ #test-download-modal::part(modal-layout) {
+ max-width: 50vw;
+ }
+
+ #error-modal::part(modal-body) {
+ max-height: 36vh;
+ overflow-y: auto;
+ max-width: inherit;
+ overflow-x: hidden;
+ }
+
+ #error-link {
+ color: white;
+ font-weight: var(--font-bold);
+ border-radius: var(--button-radius);
+ background: var(--error-color);
+ margin-right: 8px;
+ padding-left: 10px;
+ padding-right: 10px;
+ box-shadow: var(--button-shadow);
+ }
+
+ #actions {
+ display: flex;
+ }
+
+ #windows-options-modal::part(modal-layout),
+ #android-options-modal::part(modal-layout) {
+ width: 64vw;
+ }
+
+ #test-package-button {
+ display: block;
+ margin-top: 15px;
+ }
+
+ #test-package-button::part(underlying-button) {
+ --button-font-color: var(--font-color);
+ }
+
+ #platform-actions-block app-button,
+ #platform-actions-block loading-button::part(underlying-button) {
+ --button-width: 152px;
+ }
+
+ ${xxxLargeBreakPoint(
+ css`
+ #report {
+ max-width: 69em;
+ }
+
+ app-sidebar {
+ display: block;
+ }
+
+ #tablet-sidebar {
+ display: none;
+ }
+
+ #desktop-sidebar {
+ display: block;
+ }
+
+ #publish-wrapper {
+ max-width: 69em;
+ background: white;
+ }
+ `
+ )}
+
+ ${largeBreakPoint(
+ css`
+ #tablet-sidebar {
+ display: block;
+ }
+
+ #desktop-sidebar {
+ display: none;
+ }
+ `
+ )}
+
+ ${mediumBreakPoint(
+ css`
+ .publish h2 {
+ font-size: 33px;
+ max-width: 10em;
+
+ margin-top: 0;
+ margin-bottom: 1em;
+ }
+
+ .publish p {
+ display: none;
+ }
+
+ li {
+ flex-direction: column;
+ align-items: flex-start;
+ }
+
+ #title-block {
+ width: 100%;
+ }
+
+ #title-block p {
+ width: unset;
+ }
+
+ #platform-actions-block {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin-top: 2em;
+ }
+ `
+ )}
+
+ ${mediumBreakPoint(
+ css`
+ loading-button {
+ --loading-button-height: 64px;
+ }
+ loading-button::part(underlying-button) {
+ --font-size: 22px;
+ }
+ .container .action-buttons fast-anchor,
+ .container .action-buttons app-button {
+ --button-width: 127px;
+ font-size: var(--mobile-button-fontsize);
+ width: var(--button-width);
+ }
+ `,
+ 'no-lower'
+ )}
+
+ ${smallBreakPoint(css`
+ #test-package-button app-button::part(underlying-button) {
+ font-size: var(--font-size);
+ }
+
+ li {
+ flex-direction: column;
+ align-items: flex-start;
+ }
+
+ #title-block {
+ width: 100%;
+ }
+
+ #title-block p {
+ width: unset;
+ }
+
+ #platform-actions-block {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin-top: 2em;
+ }
+
+ .publish h2 {
+ font-size: 33px;
+
+ margin-top: 0;
+ margin-bottom: 1em;
+ }
+
+ .publish p {
+ display: none;
+ }
+ `)}
+ `,
+ ];
+ }
+
+ async firstUpdated() {
+ const checks = await finalCheckForPublish();
+
+ if (checks) {
+ this.finalChecks = checks;
+ }
+ }
+
+ async grabBackupManifest() {
+ console.error(
+ 'Error generating package because manifest information is missing, trying fallback'
+ );
+ const search = new URLSearchParams(location.search);
+ let site: string | null = null;
+ if (search) {
+ site = search.get('site');
+ }
+
+ let localManifest: Manifest | null = null;
+
+ if (site) {
+ const maniResults = await fetchManifest(site);
+
+ if (maniResults && maniResults.content) {
+ localManifest = maniResults.content;
+ }
+ }
+
+ return localManifest;
+ }
+
+ async generate(type: platform, form?: HTMLFormElement) {
+ if (type === 'windows') {
+ // Final checks for Windows
+ if (this.finalChecks) {
+ const maniCheck = this.finalChecks.manifest;
+ const baseIcon = this.finalChecks.baseIcon;
+ const validURL = this.finalChecks.validURL;
+
+ if (maniCheck === false || baseIcon === false || validURL === false) {
+ this.generating = false;
+ this.open_windows_options = false;
+
+ let err = '';
+
+ if (maniCheck === false) {
+ err = 'Your PWA does not have a valid Web Manifest';
+ } else if (baseIcon === false) {
+ err = 'Your PWA needs atleast a 512x512 PNG icon';
+ } else if (validURL === false) {
+ err = 'Your PWA does not have a valid URL';
+ }
+
+ this.showAlertModal(err, type);
+
+ return;
+ }
+ }
+ } else if (type === 'android') {
+ // Final checks for Android
+ if (this.finalChecks) {
+ const maniCheck = this.finalChecks.manifest;
+ const baseIcon = this.finalChecks.baseIcon;
+ const validURL = this.finalChecks.validURL;
+ const offlineCheck = this.finalChecks.offline;
+
+ if (maniCheck === false || baseIcon === false || validURL === false) {
+ this.generating = false;
+ this.open_android_options = false;
+
+ let err = '';
+
+ if (maniCheck === false) {
+ err = 'Your PWA does not have a valid Web Manifest';
+ } else if (baseIcon === false) {
+ err = 'Your PWA needs atleast a 512x512 PNG icon';
+ } else if (validURL === false) {
+ err = 'Your PWA does not have a valid URL';
+ } else if (offlineCheck === false) {
+ // Extra offline check for Android
+ err = 'Your PWA does not work offline';
+ }
+
+ this.showAlertModal(err, type);
+
+ return;
+ }
+ }
+ }
+
+ try {
+ this.generating = true;
+
+ const packageData = await generatePackage(type, form);
+
+ if (packageData) {
+ if (packageData.type === 'test') {
+ this.testBlob = packageData.blob;
+ } else {
+ this.blob = packageData.blob;
+ }
+ }
+
+ this.generating = false;
+ this.open_android_options = false;
+ this.open_windows_options = false;
+ } catch (err) {
+ console.error(err);
+ this.generating = false;
+ this.open_android_options = false;
+ this.open_windows_options = false;
+
+ this.showAlertModal(err, type);
+ }
+ }
+
+ async download() {
+ if (this.blob || this.testBlob) {
+ await fileSave((this.blob as Blob) || (this.testBlob as Blob), {
+ fileName: 'your_pwa.zip',
+ extensions: ['.zip'],
+ });
+
+ this.blob = undefined;
+ this.testBlob = undefined;
+ }
+ }
+
+ showAlertModal(error: string, platform) {
+ this.errored = true;
+ this.errorMessage = error;
+
+ this.reportAnError(error, platform);
+ }
+
+ showWindowsOptionsModal() {
+ this.open_windows_options = !this.open_windows_options;
+ }
+
+ showAndroidOptionsModal() {
+ this.open_android_options = !this.open_android_options;
+ }
+
+ showSamsungModal() {
+ this.open_samsung_modal = !this.open_samsung_modal;
+ }
+
+ renderContentCards() {
+ return platforms.map(
+ platform =>
+ html`
+
+
+
${platform.title}
+
${platform.description}
+
+
+
+ `
+ );
+ }
+
+ returnToFix() {
+ const resultsString = sessionStorage.getItem('results-string');
+
+ // navigate back to report-card page
+ // with current manifest results
+ Router.go(`/reportcard?results=${resultsString}`);
+ }
+
+ reportAnError(errorDetail: string, platform: string) {
+ this.reportPackageErrorUrl = getReportErrorUrl(errorDetail, platform);
+ }
+
+ render() {
+ return html`
+
+
+
+
+
+
Report A Problem
+
+
this.returnToFix()}"
+ >Return to Manifest Options
+
+
+
+
+
+
+
+
+
this.download()}">Download
+
+
+
+
+
+
+
+
+
this.download()}">Download
+
+
+
+
+
+ this.generate('windows', ev.detail.form)}"
+ >
+
+
+
+
+ this.generate('android', ev.detail.form)}"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Your PWA is Store Ready!
+
+ You are now ready to ship your PWA to the app stores!
+
+
+
+
+
+
+ Publish your PWA to stores
+
+
+ Generate store-ready packages for the Microsoft Store, Google
+ Play and more!
+
+
+
+
+
+ ${this.renderContentCards()}
+
+
+
+
Congrats!
+
+
+ Make sure you check our documentation for help submitting your
+ generated packages! Click next to see what else you can do
+ with your PWA!
+
+
+
+
+
+
+
+
+ `;
+ }
+}
+
+type platform = 'windows' | 'android' | 'samsung';
+
+interface ICardData {
+ title: string;
+ description: string;
+ isActionCard: boolean;
+ icon: string;
+}
+
+const platforms: ICardData[] = [
+ {
+ title: 'Windows',
+ description:
+ 'Publish your PWA to the Microsoft Store to make it available to the 1 billion Windows users worldwide.',
+ isActionCard: true,
+ icon: '/assets/windows_icon.svg',
+ },
+ {
+ title: 'Android',
+ description:
+ 'Publish your PWA to the Google Play Store to make your app more discoverable for Android users.',
+ isActionCard: true,
+ icon: '/assets/android_icon.svg',
+ },
+ {
+ title: 'Samsung',
+ description:
+ 'Provide the URL to your PWA to Samsung for inclusion in the Samsung Finder app. You will need to follow up with Samsung after submission for updates on the deployment.',
+ isActionCard: true,
+ icon: '/assets/samsung_icon.svg',
+ },
+];
diff --git a/src/script/pages/app-report.ts b/src/script/pages/app-report.ts
new file mode 100644
index 00000000..e81bbdc3
--- /dev/null
+++ b/src/script/pages/app-report.ts
@@ -0,0 +1,350 @@
+import { LitElement, css, html } from 'lit';
+import { customElement, property, state } from 'lit/decorators.js';
+import { classMap } from 'lit/directives/class-map.js';
+
+import {
+ BreakpointValues,
+ mediumBreakPoint,
+ largeBreakPoint,
+ xxxLargeBreakPoint,
+ smallBreakPoint,
+} from '../utils/css/breakpoints';
+
+import '../components/content-header';
+import '../components/report-card';
+import '../components/manifest-options';
+import '../components/sw-picker';
+import '../components/app-header';
+import '../components/app-sidebar';
+
+//@ts-ignore
+import style from '../../../styles/layout-defaults.css';
+import { RawTestResult, ScoreEvent } from '../utils/interfaces';
+
+const possible_messages = {
+ overview: {
+ heading: "Your PWA's report card.",
+ supporting:
+ 'Check out the the Overview below to see if your PWA is store-ready! If not, tap the section that needs work to begin upgrading your PWA.',
+ },
+ mani: {
+ heading: 'Manifest great PWAs.',
+ supporting:
+ 'PWABuilder has analyzed your Web Manifest, check out the results below. If you are missing something, tap Manifest Options to update your Manifest.',
+ },
+ sw: {
+ heading: 'Secret Ingredient: A Service Worker',
+ supporting:
+ 'PWABuilder has analyzed your Service Worker, check out the results below. Want to add a Service Worker or check out our pre-built Service Workers? Tap Service Worker Options.',
+ }
+};
+
+@customElement('app-report')
+export class AppReport extends LitElement {
+ @property({ type: Object }) resultOfTest: RawTestResult | undefined;
+
+ @state() swScore = 0;
+ @state() maniScore = 0;
+ @state() securityScore = 0;
+
+ @state() selectedTab: string = 'overview';
+ @state() currentHeader: string = possible_messages.overview.heading;
+ @state() currentSupporting: string = possible_messages.overview.supporting;
+
+ @state() mql = window.matchMedia(
+ `(min-width: ${BreakpointValues.largeUpper}px)`
+ );
+
+ @state() isDeskTopView = this.mql.matches;
+
+ static get styles() {
+ return [
+ style,
+ css`
+ h2 {
+ font-size: 44px;
+ line-height: 46px;
+ max-width: 526px;
+ }
+
+ #hero-p {
+ font-size: 16px;
+ line-height: 24px;
+ max-width: 406px;
+ }
+
+ #tablet-sidebar {
+ display: none;
+ }
+
+ #desktop-sidebar {
+ display: block;
+ }
+
+ content-header::part(header) {
+ display: none;
+ }
+
+ .tab {
+ background: var(--background-color);
+ color: rgba(41, 44, 58, 1);
+ }
+
+ .tab[aria-selected='true'] {
+ color: var(--font-color);
+ font-weight: var(--font-bold);
+ }
+
+ fast-tabs::part(activeIndicator) {
+ background: black;
+ border-radius: 0;
+ height: 2px;
+ margin-top: 0;
+ }
+
+ fast-tabs::part(tablist) {
+ margin-left: 26px;
+ }
+
+ report-card {
+ margin-top: 20px;
+ }
+
+ manifest-options {
+ width: 100%;
+ }
+
+ #overview-panel {
+ padding-left: 14px;
+ }
+
+ ${xxxLargeBreakPoint(
+ css`
+ #report {
+ max-width: 69em;
+ }
+
+ app-sidebar {
+ display: block;
+ }
+
+ #tablet-sidebar {
+ display: none;
+ }
+
+ #desktop-sidebar {
+ display: block;
+ }
+
+ #report-wrapper {
+ max-width: 69em;
+ background: white;
+ }
+
+ #grid {
+ background: white;
+ }
+ `
+ )}
+
+ ${largeBreakPoint(
+ css`
+ #tablet-sidebar {
+ display: block;
+ }
+
+ #desktop-sidebar {
+ display: none;
+ }
+ `
+ )}
+
+ ${mediumBreakPoint(
+ css`
+ .reportCard h2 {
+ font-size: 33px;
+ margin-top: 0;
+ margin-bottom: 1em;
+ }
+
+ .reportCard p {
+ display: none;
+ }
+
+ #desktop-sidebar {
+ display: none;
+ }
+
+ #tablet-sidebar {
+ display: block;
+ }
+ `
+ )}
+
+ ${smallBreakPoint(
+ css`
+ fast-tabs::part(tablist) {
+ display: none;
+ }
+
+ .reportCard h2 {
+ font-size: 33px;
+ margin-top: 0;
+ margin-bottom: 1em;
+ }
+
+ .reportCard p {
+ display: none;
+ }
+
+ #desktop-sidebar {
+ display: none;
+ }
+
+ #tablet-sidebar {
+ display: block;
+ }
+ `
+ )}
+ `,
+ ];
+ }
+
+ constructor() {
+ super();
+
+ this.mql.addEventListener('change', e => {
+ this.isDeskTopView = e.matches;
+ });
+ }
+
+ firstUpdated() {
+ const search = new URLSearchParams(location.search);
+ const results = search.get('results');
+
+ if (results) {
+ /*
+ cache results string as we may need this farther in the flow
+ if the user needs to be redirected back here.
+ Normally this would be because of issues with their manifest
+ that are causing issues with packaging
+ */
+ sessionStorage.setItem('results-string', results);
+
+ this.resultOfTest = JSON.parse(results);
+ console.log('resultOfTest', this.resultOfTest);
+ }
+ }
+
+ openManiOptions() {
+ const maniTab = this.shadowRoot?.querySelector('#mani');
+ (maniTab as HTMLButtonElement).click();
+ }
+
+ openSWOptions() {
+ const maniTab = this.shadowRoot?.querySelector('#sw');
+ (maniTab as HTMLButtonElement).click();
+ }
+
+ openOverview() {
+ const overviewTab = this.shadowRoot?.querySelector('#overview');
+ (overviewTab as HTMLButtonElement).click();
+ }
+
+ handleScoreForDisplay(type: string, score: number) {
+ if (type === 'sw') {
+ this.swScore = score;
+ } else if (type === 'manifest') {
+ this.maniScore = score;
+ } else if (type === 'security') {
+ this.securityScore = score;
+ }
+ }
+
+ handleTabsEvent(type: 'mani' | 'sw' | 'overview') {
+ this.selectedTab = type;
+
+ if (type === 'mani') {
+ this.currentHeader = possible_messages.mani.heading;
+ this.currentSupporting = possible_messages.mani.supporting;
+ } else if (type === 'sw') {
+ this.currentHeader = possible_messages.sw.heading;
+ this.currentSupporting = possible_messages.sw.supporting;
+ } else {
+ this.currentHeader = possible_messages.overview.heading;
+ this.currentSupporting = possible_messages.overview.supporting;
+ }
+ }
+
+ render() {
+ return html`
+
+
+
+
+
+
+
+ ${this.currentHeader}
+ ${this.currentSupporting}
+
+
+
+
+
+ this.handleTabsEvent('overview')}"
+ >Overview
+ this.handleTabsEvent('mani')}"
+ >Manifest Options
+ this.handleTabsEvent('sw')}"
+ >Service Worker Options
+
+
+ ) =>
+ this.handleScoreForDisplay('sw', ev.detail.score)}"
+ @mani-scored="${(ev: CustomEvent) =>
+ this.handleScoreForDisplay('manifest', ev.detail.score)}"
+ @security-scored="${(ev: CustomEvent) =>
+ this.handleScoreForDisplay('manifest', ev.detail.score)}"
+ @open-mani-options="${() => this.openManiOptions()}"
+ @open-sw-options="${() => this.openSWOptions()}"
+ .results="${this.resultOfTest}"
+ >
+
+
+ this.openOverview()}
+ .score=${this.maniScore}
+ >
+
+
+
+ this.openOverview()}"
+ score="${this.swScore}"
+ >
+
+
+
+
+
`;
+ }
+}
diff --git a/src/script/pages/app-testing.ts b/src/script/pages/app-testing.ts
new file mode 100644
index 00000000..f5696dbc
--- /dev/null
+++ b/src/script/pages/app-testing.ts
@@ -0,0 +1,220 @@
+import {
+ LitElement,
+ css,
+ html,
+} from 'lit';
+import { customElement,
+ state, } from "lit/decorators.js"
+import { Router } from '@vaadin/router';
+
+import { smallBreakPoint } from '../utils/css/breakpoints';
+
+import { runAllTests } from '../services/tests';
+import '../components/app-header';
+
+// have to use ts-ignore here as typescript does not understand
+// this import yet
+// eslint-disable-next-line @typescript-eslint/ban-ts-comment
+//@ts-ignore
+import style from '../../../styles/animations.css';
+
+@customElement('app-testing')
+export class AppTesting extends LitElement {
+ @state() loading = false;
+ @state() currentPhrase =
+ 'PWABuilder is loading your PWA in the background';
+
+ static get styles() {
+ return [
+ style,
+ css`
+ :host {
+ display: flex;
+ flex-direction: column;
+
+ height: calc(100vh - 76px);
+ overflow: hidden;
+
+ display: block;
+ background: url(/assets/images/glass.jpg);
+ background-size: cover;
+ background-repeat: no-repeat;
+ background-position: right;
+ background-color: white;
+ }
+
+ #testing-container {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+
+ text-align: center;
+ font-size: var(--large-font-size);
+
+ animation: 160ms fadeIn linear;
+
+ padding-top: 2em;
+ width: 100%;
+ background-image: url(/assets/images/loading_page.webp);
+ height: 100%;
+ background-repeat: no-repeat;
+ background-position: center;
+ justify-content: center;
+ background-size: cover;
+ }
+
+ #glass {
+ height: calc(100% - 66px);
+ }
+
+ #testing-container img {
+ width: 466px;
+
+ padding-top: 2em;
+ }
+
+ #testing-container fast-progress {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ margin-bottom: 0;
+
+ --accent-foreground-rest: var(--primary-purple);
+ }
+
+ #testing-container fast-progress::part(progress) {
+ border-radius: 0;
+ }
+
+ /*#testing-container fast-progress::part(indeterminate-indicator-1), fast-progress::part(indeterminate-indicator-2) {
+ background-color: var(--primary-purple);
+ }*/
+
+ app-header::part(header) {
+ background: transparent;
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ z-index: 2;
+ border: none;
+ }
+
+ #testing-container span {
+ font-weight: var(--font-bold);
+ font-size: var(--large-font-size);
+ margin-top: 4em;
+ }
+
+ app-header::part(header) {
+ background: transparent;
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ z-index: 2;
+ }
+
+ @keyframes fadeIn {
+ from {
+ opacity: 0;
+ }
+
+ to {
+ opacity: 1;
+ }
+ }
+
+ ${smallBreakPoint(css`
+ #testing-container img {
+ width: 100%;
+ }
+
+ #testing-container span {
+ margin-top: 7em;
+ }
+ `)}
+ `,
+ ];
+ }
+
+ constructor() {
+ super();
+ }
+
+ async firstUpdated() {
+ const search = new URLSearchParams(location.search);
+ const site = search.get('site');
+
+ if (site) {
+ this.loading = true;
+ this.phrasePager();
+
+ await this.runTests(site);
+ }
+ }
+
+ async runTests(site: string) {
+ try {
+ const TestResult = await runAllTests(site);
+ const search = new URLSearchParams(location.search);
+ const siteUrl = search.get('site');
+
+ if (TestResult) {
+ // Completes the loading ase
+ // set last phrase and give 300ms to display to user
+ // before moving on
+
+
+ this.currentPhrase = 'Results coming to you in 3..2..1..';
+ setTimeout(() => {
+ Router.go(
+ `/reportcard?site=${siteUrl}&results=${JSON.stringify(TestResult)}`
+ );
+ }, 300);
+ } else {
+ this.loading = false;
+ throw new Error(`Test results could not be gathered for: ${site}`);
+ }
+ } catch (err) {
+ console.error('Tests errored out', err);
+ this.loading = false;
+ }
+ }
+
+ async phrasePager() {
+ const phrases = [
+ 'PWABuilder is loading your PWA in the background...',
+ 'This may take a minute...',
+ 'We are analyzing your Service Worker and Web Manifest...',
+ ];
+
+ for (let i = 0; i < phrases.length; i++) {
+ if (this.loading === true) {
+ await this.setPhrase(phrases[i], i);
+ }
+ }
+ }
+
+ setPhrase = (phrase: string, i: number): Promise => {
+ return new Promise(resolve => {
+ setTimeout(() => {
+ this.currentPhrase = phrase;
+ resolve();
+ }, i * 2000);
+ });
+ };
+
+ render() {
+ return html`
+
+
+
+ ${this.currentPhrase}
+
+ ${this.loading ? html` ` : null}
+
+
`;
+ }
+}
diff --git a/src/script/polyfills/css-paint.ts b/src/script/polyfills/css-paint.ts
new file mode 100644
index 00000000..5ec79400
--- /dev/null
+++ b/src/script/polyfills/css-paint.ts
@@ -0,0 +1,7 @@
+export async function loadPaintPolyfillIfNeeded() {
+ if ('paintWorklet' in CSS) {
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ // @ts-ignore
+ await import('https://unpkg.com/css-paint-polyfill');
+ }
+}
diff --git a/src/script/polyfills/promise-any.ts b/src/script/polyfills/promise-any.ts
new file mode 100644
index 00000000..48d8f8be
--- /dev/null
+++ b/src/script/polyfills/promise-any.ts
@@ -0,0 +1,30 @@
+/**
+ * A polyfill for Promise.any(...), which isn't well supported yet at the time of this writing: https://caniuse.com/mdn-javascript_builtins_promise_any
+ */
+export function promiseAnyPolyfill(promises: Promise[]) {
+ if (promises.length === 0) {
+ return Promise.reject('No promises supplied');
+ }
+ let errors: unknown[] = [];
+
+ return new Promise((resolve, reject) => {
+ let completedCount = 0;
+ let hasSucceeded = false;
+
+ for (let promise of promises) {
+ promise.then(result => {
+ if (!hasSucceeded) {
+ hasSucceeded = true;
+ resolve(result);
+ }
+ });
+ promise.catch(error => errors.push(error));
+ promise.finally(() => {
+ completedCount++;
+ if (completedCount === promises.length && !hasSucceeded) {
+ reject('All promises failed: ' + errors.join('\n'));
+ }
+ });
+ }
+ });
+}
diff --git a/src/script/services/app-info.ts b/src/script/services/app-info.ts
new file mode 100644
index 00000000..9c5677bb
--- /dev/null
+++ b/src/script/services/app-info.ts
@@ -0,0 +1,158 @@
+import {
+ ListHeader,
+ ProgressList,
+ RawTestResult,
+ Status,
+} from '../utils/interfaces';
+import { getManifest } from './manifest';
+import { getChosenServiceWorker } from './service_worker';
+
+let site_url: string | undefined;
+let results: RawTestResult | undefined;
+
+let progress: ProgressList = {
+ progress: [
+ {
+ header: ListHeader.TEST,
+ location: '/',
+ done: Status.ACTIVE,
+ items: [
+ {
+ name: 'Submit URL',
+ done: Status.PENDING,
+ },
+ {
+ name: 'Run Tests',
+ done: Status.PENDING,
+ },
+ ],
+ },
+ {
+ header: ListHeader.REVIEW,
+ location: '/reportcard',
+ done: Status.PENDING,
+ items: [
+ {
+ name: 'Manifest',
+ done: Status.PENDING,
+ },
+ {
+ name: 'Service Worker',
+ done: Status.PENDING,
+ },
+ {
+ name: 'Security',
+ done: Status.PENDING,
+ },
+ ],
+ },
+ {
+ header: ListHeader.PUBLISH,
+ location: '/publish',
+ done: Status.PENDING,
+ items: [
+ {
+ name: 'Package',
+ done: Status.PENDING,
+ },
+ {
+ name: 'Publish',
+ done: Status.PENDING,
+ },
+ ],
+ },
+ {
+ header: ListHeader.COMPLETE,
+ location: '/complete',
+ done: Status.PENDING,
+ items: [
+ {
+ name: 'Resources',
+ done: Status.PENDING,
+ },
+ ],
+ },
+ ],
+};
+
+export function getProgress(): ProgressList {
+ const current_progress = sessionStorage.getItem('current_progress');
+
+ if (current_progress) {
+ return JSON.parse(current_progress);
+ } else {
+ return progress;
+ }
+}
+
+export function setProgress(newProgress: ProgressList) {
+ progress = newProgress;
+ sessionStorage.setItem('current_progress', JSON.stringify(progress));
+}
+
+export function setURL(url: string) {
+ if (url) {
+ site_url = url;
+ sessionStorage.setItem('current_url', site_url);
+ }
+}
+
+export function getURL() {
+ const url = sessionStorage.getItem('current_url');
+
+ if (site_url) {
+ return site_url;
+ } else if (url) {
+ return url;
+ }
+ else {
+ throw(new Error("No Good URL found for the current site"))
+ }
+}
+
+export function setResults(testResults: RawTestResult) {
+ console.log('testResults', testResults);
+ results = testResults;
+ sessionStorage.setItem('current_results', JSON.stringify(testResults));
+}
+
+export function getResults(): RawTestResult | undefined {
+ if (results) {
+ return results;
+ } else {
+ const testResults = sessionStorage.getItem('current_results');
+
+ if (testResults) {
+ const parsedResults = JSON.parse(testResults);
+ return parsedResults;
+ } else {
+ return undefined;
+ }
+ }
+}
+
+export function baseOrPublish(): 'base' | 'publish' {
+ const choseSW = getChosenServiceWorker();
+
+ const manifestData = getManifest();
+
+ console.log('manidata', manifestData);
+
+ if (choseSW !== undefined) {
+ // User has chosen a custom service worker
+ // send to basepackage to download.
+ // to-do: Users who edit their manifest will be sent here too
+ return 'base';
+ }
+ else if (manifestData) {
+ // User already has a manifest
+ // send to publish page
+ return 'publish';
+ }
+ else {
+ // user does not have a manifest and has not chosen an SW
+ // They will go to the base package page and will need to download
+ // The generated manifest and default SW
+ return 'base';
+ }
+}
diff --git a/src/script/services/badges.ts b/src/script/services/badges.ts
new file mode 100644
index 00000000..22dd0a3b
--- /dev/null
+++ b/src/script/services/badges.ts
@@ -0,0 +1,155 @@
+import { TestResult } from '../utils/interfaces';
+import { getResults } from './app-info';
+
+const possible_badges = [
+ { name: 'PWA', url: '/assets/badges/pwa_badge.svg' },
+ { name: 'Security', url: '/assets/badges/security_badge.svg' },
+ { name: 'Service Worker', url: '/assets/badges/service_worker_badge.svg' },
+ { name: 'Manifest', url: '/assets/badges/manifest_small_badge.svg' },
+ { name: 'Store Ready', url: '/assets/badges/store_ready_badge.svg' },
+];
+
+const current_badges: Array<{ name: string; url: string }> = [];
+
+export const no_pwa_icon = {
+ name: 'Not a PWA',
+ url: '/assets/badges/pwa_grey.svg',
+};
+
+export function giveOutBadges() {
+ const results = getResults();
+
+ if (results) {
+ const hasMani = results.manifest[0].result;
+ const hasSW = results.service_worker[0]?.result;
+ const security = results.security[0]?.result;
+
+ //has 512 icon
+ const has_good_icon = (results.manifest as TestResult[]).map(result =>
+ result.infoString.includes('512x512') ? result.result : false
+ );
+
+ if (hasMani) {
+ const badge = possible_badges.find(badge => {
+ if (badge.name === 'Manifest') return badge;
+ });
+
+ if (badge) {
+ current_badges.push(badge);
+ }
+ }
+
+ if (hasSW) {
+ const badge = possible_badges.find(badge => {
+ if (badge.name === 'Service Worker') return badge;
+ });
+
+ if (badge) {
+ current_badges.push(badge);
+ }
+ }
+
+ if (security) {
+ const badge = possible_badges.find(badge => {
+ if (badge.name === 'Security') return badge;
+ });
+
+ if (badge) {
+ current_badges.push(badge);
+ }
+ }
+
+ if (hasMani && hasSW && security) {
+ const badge = possible_badges.find(badge => {
+ if (badge.name === 'PWA') return badge;
+ });
+
+ if (badge) {
+ current_badges.push(badge);
+ }
+ }
+
+ if (hasMani && hasSW && security && has_good_icon) {
+ const badge = possible_badges.find(badge => {
+ if (badge.name === 'Store Ready') return badge;
+ });
+
+ if (badge) {
+ current_badges.push(badge);
+ }
+ }
+ }
+
+ sessionStorage.setItem('current_badges', JSON.stringify(current_badges));
+}
+
+export function getCurrentBadges(): Array<{ name: string; url: string }> | null {
+ const savedCurrentBadges = sessionStorage.getItem('current_badges');
+ console.log('getting current badges');
+
+ if (current_badges && current_badges.length > 0) {
+ console.log("returning current badges", current_badges);
+ return current_badges;
+ }
+ else if (savedCurrentBadges) {
+ console.log("returning saved current badges", savedCurrentBadges);
+ return JSON.parse(savedCurrentBadges);
+ }
+ else {
+ return null;
+ }
+}
+
+export function getPossibleBadges(): Array<{ name: string; url: string }> {
+ return possible_badges;
+}
+
+export function sortBadges(): Array<{ name: string; url: string }> {
+ const saved_badges = sessionStorage.getItem("current_badges");
+
+ if (saved_badges) {
+ return JSON.parse(saved_badges);
+ }
+
+ const possible_badges = getPossibleBadges();
+ const current_badges = getCurrentBadges();
+
+ console.log('current_badges', current_badges);
+ console.log('possible_badges', possible_badges);
+
+ const combined: Array<{ name: string; url: string }> = [];
+
+ possible_badges.forEach(badge => {
+ combined.push(badge);
+ });
+
+ current_badges?.forEach(badge => {
+ combined.push(badge);
+ });
+
+ console.log('combined', combined);
+
+ const duplicates = combined.reduce(
+ (
+ acc: Array<{ name: string; url: string }>,
+ currentValue,
+ index,
+ array: Array<{ name: string; url: string }>
+ ) => {
+ if (
+ array.indexOf(currentValue) != index &&
+ // to-do: This is valid JS, but need to figure out the type
+ !acc.includes((currentValue.name as any))
+ )
+ acc.push(currentValue);
+ return acc;
+ },
+ []
+ );
+
+ console.log('duplicate', duplicates);
+
+ sessionStorage.setItem('current_badges', JSON.stringify(duplicates));
+
+ return duplicates;
+}
diff --git a/src/script/services/blog.ts b/src/script/services/blog.ts
new file mode 100644
index 00000000..cbdb49c2
--- /dev/null
+++ b/src/script/services/blog.ts
@@ -0,0 +1,44 @@
+import { platform } from "./publish";
+
+export interface BlogPost {
+ title: string;
+ description: string;
+ date: string; // make into Date object?
+ imageUrl: string;
+ shareUrl: string;
+ clickUrl: string;
+ tags: Array;
+ relatedPlatform?: platform
+}
+
+export const allPosts: Array = [
+ {
+ title: 'Bringing Chromium Edge PWAs to the Microsoft Store',
+ description: 'Learn more details on what Chromium Edge PWAs mean for you and your app!',
+ date: 'Date of Post',
+ imageUrl: '/assets/icons/icon_120.png',
+ shareUrl: 'https://medium.com/pwabuilder/bringing-chromium-edge-pwas-progressive-web-apps-to-the-microsoft-store-c0bd07914ed9?source=friends_link&sk=04ca8b2ae2bd094b04ef6b53780b5698',
+ clickUrl: 'https://medium.com/pwabuilder/bringing-chromium-edge-pwas-progressive-web-apps-to-the-microsoft-store-c0bd07914ed9?source=friends_link&sk=04ca8b2ae2bd094b04ef6b53780b5698',
+ tags: ['a', 'b'],
+ relatedPlatform: "windows"
+ },
+ {
+ title: 'PWAs in the Google Play Store',
+ description: 'description post',
+ date: 'Date of Post',
+ imageUrl: '/assets/icons/icon_120.png',
+ shareUrl: 'https://medium.com/pwabuilder/microsoft-and-google-team-up-to-make-pwas-better-in-the-play-store-b59710e487?source=friends_link&sk=a633482f2510eba814b1949219c74d6d',
+ clickUrl: 'https://medium.com/pwabuilder/microsoft-and-google-team-up-to-make-pwas-better-in-the-play-store-b59710e487?source=friends_link&sk=a633482f2510eba814b1949219c74d6d',
+ tags: ['a', 'b'],
+ relatedPlatform: "android"
+ },
+ {
+ title: 'Title of Post',
+ description: 'description post',
+ date: 'Date of Post',
+ imageUrl: '/assets/icons/icon_120.png',
+ shareUrl: '',
+ clickUrl: '',
+ tags: ['a', 'b'],
+ },
+];
diff --git a/src/script/services/congrats.ts b/src/script/services/congrats.ts
new file mode 100644
index 00000000..e9035f66
--- /dev/null
+++ b/src/script/services/congrats.ts
@@ -0,0 +1,17 @@
+import { android_generated } from './publish/android-publish';
+import { web_generated } from './publish/web-publish';
+import { windows_generated } from './publish/windows-publish';
+
+export function getPlatformsGenerated() {
+ const android = android_generated;
+ const windows = windows_generated;
+ const web = web_generated;
+
+ console.log('android', android);
+
+ return {
+ android,
+ windows,
+ web,
+ };
+}
diff --git a/src/script/services/download_icons.ts b/src/script/services/download_icons.ts
new file mode 100644
index 00000000..e978ea09
--- /dev/null
+++ b/src/script/services/download_icons.ts
@@ -0,0 +1,27 @@
+import { download } from '../utils/download';
+import { Icon } from '../utils/interfaces';
+
+const url = 'https://azure-express-zip-creator.azurewebsites.net/api';
+
+export async function generateAndDownloadIconZip(images: Array) {
+ try {
+ const response = await fetch(url, {
+ method: 'POST',
+ headers: new Headers({
+ 'content-type': 'application/json',
+ }),
+ body: JSON.stringify({
+ images,
+ }),
+ });
+
+ const blob = await response.blob();
+ await download({
+ id: 'icon',
+ fileName: 'pwabuilder-icons',
+ blob,
+ });
+ } catch (e) {
+ console.error(e);
+ }
+}
diff --git a/src/script/services/icon_generator.ts b/src/script/services/icon_generator.ts
new file mode 100644
index 00000000..21c1b27f
--- /dev/null
+++ b/src/script/services/icon_generator.ts
@@ -0,0 +1,96 @@
+import { api } from '../utils/api';
+import { download } from '../utils/download';
+import { Icon } from '../utils/interfaces';
+import { getManifest, updateManifest } from './manifest';
+
+type Platform =
+ | 'windows10'
+ | 'windows'
+ | 'msteams'
+ | 'android'
+ | 'chrome'
+ | 'firefox';
+
+type ColorHex = string;
+
+interface MissingImagesConfig {
+ file: File;
+}
+
+interface IconGeneratorConfig {
+ fileName: File;
+ padding: number;
+ colorOption: 'transparent' | 'choose';
+ color?: ColorHex;
+ colorChanged?: '1' | undefined;
+ platform: Array;
+}
+
+const base64ImageGeneratorUrl =
+ 'https://appimagegenerator-prod.azurewebsites.net/api/image/base64';
+
+export async function generateMissingImagesBase64(config: MissingImagesConfig) {
+ try {
+ const form = new FormData();
+ form.append('baseImage', config.file);
+ form.append('padding', '0');
+ //form.append('color', '#0000000');
+ form.append('colorChanged', 'false');
+ form.append('platform', 'windows10');
+ form.append('platform', 'android');
+ form.append('platform', 'ios');
+
+ const response = await fetch(base64ImageGeneratorUrl, {
+ method: 'POST',
+ body: form,
+ });
+
+ const icons = getManifest()?.icons?.concat(
+ ((await response.json()) as unknown) as Array
+ );
+
+ updateManifest({
+ icons,
+ });
+ } catch (e) {
+ console.error(e);
+ }
+}
+
+export const iconGeneratorDefaults: Partial = {
+ padding: 0.3,
+ colorOption: 'transparent',
+ platform: ['windows', 'windows10', 'android', 'chrome', 'firefox'],
+};
+
+async function fetchIcons(id: string) {
+ try {
+ return fetch(api.imageGenerator.download(id), {
+ method: 'GET',
+ cache: 'no-cache',
+ headers: new Headers({
+ 'Content-Type': 'application/json',
+ }),
+ });
+ } catch (e) {
+ console.error(e);
+ }
+
+ return undefined;
+}
+
+export async function downloadZip(id: string) {
+ try {
+ const generatedIcons = await fetchIcons(id);
+
+ if (generatedIcons) {
+ download({
+ id: 'generated icons zip',
+ fileName: 'icons.zip',
+ blob: await generatedIcons.blob(),
+ });
+ }
+ } catch (e) {
+ console.error(e);
+ }
+}
diff --git a/src/script/services/manifest.ts b/src/script/services/manifest.ts
new file mode 100644
index 00000000..99a8c088
--- /dev/null
+++ b/src/script/services/manifest.ts
@@ -0,0 +1,243 @@
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+declare const deepmerge: any;
+
+import { promiseAnyPolyfill } from '../polyfills/promise-any';
+import { env } from '../utils/environment';
+import {
+ AppEvents,
+ Lazy,
+ Manifest,
+ ManifestDetectionResult,
+} from '../utils/interfaces';
+import { cleanUrl } from '../utils/url';
+import { setURL } from './app-info';
+
+export const emitter = new EventTarget();
+let manifest: Lazy;
+let maniURL: Lazy;
+
+let generatedManifest: Lazy;
+
+// Uses Azure manifest Puppeteer service to fetch the manifest, then POSTS it to the API.
+async function getManifestViaFilePost(
+ url: string
+): Promise {
+ const manifestTestUrl = `${
+ env.testAPIUrl
+ }/WebManifest?site=${encodeURIComponent(url)}`;
+ const response = await fetch(manifestTestUrl, {
+ method: 'POST',
+ });
+ if (!response.ok) {
+ console.warn(
+ 'Fetching manifest via API v2 file POST failed',
+ response.statusText
+ );
+ throw new Error(
+ `Unable to fetch response using ${manifestTestUrl}. Response status ${response}`
+ );
+ }
+ const responseData = await response.json();
+ if (!responseData) {
+ console.warn(
+ 'Fetching manifest via API v2 file POST failed due to no response data',
+ response
+ );
+ throw new Error(`Unable to get JSON from ${manifestTestUrl}`);
+ }
+
+ return {
+ content: responseData.manifestContents,
+ format: 'w3c',
+ generatedUrl: responseData.manifestUrl || url,
+ default: {
+ short_name: responseData.manifestContents.short_name || '',
+ },
+ id: '',
+ generated: responseData.manifestContents ? false : true,
+ errors: [],
+ suggestions: [],
+ warnings: [],
+ };
+}
+
+// Uses Azure HTML parsing microservice to fetch the manifest, then hands it to the API.
+async function getManifestViaHtmlParse(
+ url: string
+): Promise {
+ type ManifestFinderResult = {
+ manifestUrl: string | null;
+ manifestContents: Manifest | null;
+ error: string | null;
+ };
+
+ const manifestTestUrl = `${env.manifestFinderUrl}?url=${encodeURIComponent(
+ url
+ )}`;
+ const response = await fetch(manifestTestUrl);
+ if (!response.ok) {
+ console.warn('Fetching manifest via HTML parsing service failed', response);
+ throw new Error(`Error fetching from ${manifestTestUrl}`);
+ }
+ const responseData: ManifestFinderResult = await response.json();
+
+ if (responseData.error || !responseData.manifestContents) {
+ console.warn(
+ 'Fetching manifest via HTML parsing service failed due to no response data',
+ response
+ );
+ throw new Error(responseData.error || "Manifest couldn't be fetched");
+ }
+ console.info(
+ 'Manifest detection succeeded via HTML parse service',
+ responseData
+ );
+
+ return {
+ content: responseData.manifestContents,
+ format: 'w3c',
+ generatedUrl: responseData.manifestUrl || url,
+ default: {
+ short_name: responseData.manifestContents.short_name || '',
+ },
+ id: '',
+ generated: responseData.manifestContents ? false : true,
+ errors: [],
+ suggestions: [],
+ warnings: [],
+ };
+}
+
+export async function fetchManifest(
+ url: string
+): Promise {
+ // Manifest detection is surprisingly tricky due to redirects, dynamic code generation, SSL problems, and other issues.
+ // We have 3 techniques to detect the manifest:
+ // 1. An Azure function that uses Chrome Puppeteer to fetch the manifest
+ // 2. An Azure function that parses the HTML to find the manifest.
+ // This fetch() function runs all 3 manifest detection schemes concurrently and returns the first one that succeeds.
+
+ // eslint-disable-next-line no-async-promise-executor
+ return new Promise(async (resolve, reject) => {
+ let knownGoodUrl;
+
+ try {
+ knownGoodUrl = await cleanUrl(url);
+ } catch (err) {
+ reject(err);
+ }
+
+ setURL(knownGoodUrl);
+
+ const manifestDetectors = [
+ getManifestViaFilePost(knownGoodUrl),
+ getManifestViaHtmlParse(knownGoodUrl),
+ ];
+
+ // We want to use Promise.any(...), but browser support is too low at the time of this writing: https://caniuse.com/mdn-javascript_builtins_promise_any
+ // Use our polyfill if needed.
+ const promiseAnyOrPolyfill: (
+ promises: Promise[]
+ ) => Promise = promises =>
+ Promise['any'] ? Promise['any'](promises) : promiseAnyPolyfill(promises);
+
+ try {
+ const result = await promiseAnyOrPolyfill(manifestDetectors);
+
+ manifest = result.content;
+ maniURL = result.generatedUrl;
+ resolve(result);
+ } catch (manifestDetectionError) {
+ console.error('All manifest detectors failed.', manifestDetectionError);
+
+ generatedManifest = await (await generateManifest(url)).content;
+
+ // Well, we sure tried.
+ reject(manifestDetectionError);
+ }
+ });
+}
+
+export function getManiURL() {
+ return maniURL;
+}
+
+export function getManifest(): Manifest | undefined {
+ if (manifest) {
+ return manifest;
+ }
+ const search = new URLSearchParams(location.search);
+
+ try {
+ const url: string | null = maniURL || search.get('site');
+
+ if (url) {
+ fetchManifest(url)
+ .then(response => {
+ updateManifest(response.content);
+ })
+ .catch(reason => {
+ console.error(reason);
+
+ generateManifest(url)
+ .then(response => {
+ updateManifest(response.content);
+ })
+ .catch(console.error);
+ });
+ }
+
+ } catch (e) {
+ console.error(e);
+ }
+
+ return undefined;
+}
+
+export function getGeneratedManifest() {
+ return generatedManifest;
+}
+
+async function generateManifest(url: string): Promise {
+ try {
+ const response = await fetch(`${env.api}/manifests`, {
+ method: 'POST',
+ headers: new Headers({ 'content-type': 'application/json' }),
+ body: JSON.stringify({
+ siteUrl: url,
+ }),
+ });
+
+ const data = await response.json();
+
+ return data?.content;
+ } catch (err) {
+ console.error(`Error generating manifest: ${err}`);
+ return err;
+ }
+}
+
+export async function updateManifest(manifestUpdates: Partial) {
+ // @ts-ignore
+ // using a dynamic import here as this is a large library
+ // so we should only load it once its actually needed
+ await import('https://unpkg.com/deepmerge@4.2.2/dist/umd.js');
+
+ manifest = deepmerge(manifest as Manifest, manifestUpdates as Manifest, {
+ // customMerge: customManifestMerge, // NOTE: need to manually concat with editor changes.
+ });
+
+ emitter.dispatchEvent(
+ updateManifestEvent({
+ ...manifestUpdates,
+ })
+ );
+}
+
+export function updateManifestEvent>(detail: T) {
+ return new CustomEvent(AppEvents.manifestUpdate, {
+ detail,
+ bubbles: true,
+ composed: true,
+ });
+}
diff --git a/src/script/services/publish/android-publish.ts b/src/script/services/publish/android-publish.ts
new file mode 100644
index 00000000..203e71ac
--- /dev/null
+++ b/src/script/services/publish/android-publish.ts
@@ -0,0 +1,363 @@
+import {
+ validateAndroidOptions,
+ AndroidApkOptions,
+ generatePackageId,
+} from '../../utils/android-validation';
+import { env } from '../../utils/environment';
+import { findSuitableIcon } from '../../utils/icons';
+import { Manifest } from '../../utils/interfaces';
+import { getURL } from '../app-info';
+import { getManifest, getManiURL } from '../manifest';
+
+export let android_generated = false;
+
+export async function generateAndroidPackage(
+ androidOptions: AndroidApkOptions
+): Promise {
+ const validationErrors = validateAndroidOptions(androidOptions);
+ if (validationErrors.length > 0 || !androidOptions) {
+ throw new Error(
+ 'Invalid Adroid options. ' + validationErrors.map(a => a.error).join('\n')
+ );
+ }
+
+ const generateAppUrl = `${env.androidPackageGeneratorUrl}/generateApkZip`;
+
+ try {
+ const response = await fetch(generateAppUrl, {
+ method: 'POST',
+ body: JSON.stringify(androidOptions),
+ headers: new Headers({ 'content-type': 'application/json' }),
+ });
+
+ if (response.status === 200) {
+ //set generated flag
+ android_generated = true;
+
+ return await response.blob();
+ } else {
+ const responseText = await response.text();
+
+ // Did it fail because images couldn't be fetched with ECONNREFUSED? E.g. https://github.com/pwa-builder/PWABuilder/issues/1312
+ // If so, retry using our downloader proxy service.
+ const hasSafeImages =
+ androidOptions.iconUrl &&
+ androidOptions.iconUrl.includes(env.safeUrlFetcher || '');
+ const isConnectionRefusedOrForbidden =
+ (responseText || '').includes('ECONNREFUSED') ||
+ response.status === 403;
+
+ if (!hasSafeImages && isConnectionRefusedOrForbidden) {
+ console.warn(
+ 'Android package generation failed with ECONNREFUSED. Retrying with safe images.',
+ responseText
+ );
+ const updatedOptions = updateAndroidOptionsWithSafeUrls(androidOptions);
+
+ await generateAndroidPackage(updatedOptions);
+ } else {
+ throw new Error(
+ `Error generating Android package.\n\nStatus code: ${response.status}\n\nError: ${response.statusText}\n\nDetails: ${responseText}`
+ );
+ }
+ }
+ } catch (err) {
+ throw new Error(
+ `Error generating Android platform due to HTTP error.\n\nStatus code: ${err.status}\n\nError: ${err.statusText}\n\nDetails: ${err}`
+ );
+ }
+
+ return undefined;
+}
+
+export function createAndroidPackageOptionsFromForm(form: HTMLFormElement): AndroidApkOptions {
+ const manifest = getManifest();
+ if (!manifest) {
+ throw new Error('Could not find the web manifest');
+ }
+
+ const maniURL = getManiURL();
+ const pwaURL = getURL();
+
+ if (!pwaURL) {
+ throw new Error("Can't find the current URL");
+ }
+
+ if (!maniURL) {
+ throw new Error('Cant find the manifest URL');
+ }
+
+ const appName = form.appName.value || manifest.short_name || manifest.name || 'My PWA';
+ const packageName = generatePackageId(form.packageId.value || new URL(pwaURL).hostname);
+ // Use standalone display mode unless the manifest has fullscreen specified.
+ const display =
+ manifest.display === 'fullscreen' ? 'fullscreen' : 'standalone';
+ // StartUrl must be relative to the host.
+ // We make sure it is below.
+ let relativeStartUrl: string;
+ if (
+ !manifest.start_url ||
+ manifest.start_url === '/' ||
+ manifest.start_url === '.' ||
+ manifest.start_url === './'
+ ) {
+ // First, if we don't have a start_url in the manifest, or it's just "/",
+ // then we can just use that.
+ relativeStartUrl = '/';
+ } else {
+ // The start_url in the manifest is either a relative or absolute path.
+ // Ensure it's a path relative to the root.
+ const absoluteStartUrl = new URL((manifest.start_url as string), maniURL);
+ relativeStartUrl =
+ absoluteStartUrl.pathname + (absoluteStartUrl.search || '');
+ }
+
+ // TODO Justin, looks like the usage of this has been removed?
+ console.log(relativeStartUrl);
+
+ const manifestIcons = manifest.icons || [];
+ const icon =
+ findSuitableIcon(manifestIcons, 'any', 512, 512, 'image/png') ||
+ findSuitableIcon(manifestIcons, 'any', 192, 192, 'image/png') ||
+ findSuitableIcon(manifestIcons, 'any', 512, 512, 'image/jpeg') ||
+ findSuitableIcon(manifestIcons, 'any', 192, 192, 'image/jpeg') ||
+ findSuitableIcon(manifestIcons, 'any', 512, 512, undefined) || // A 512x512 or larger image with unspecified type
+ findSuitableIcon(manifestIcons, 'any', 192, 192, undefined) || // A 512x512 or larger image with unspecified type
+ findSuitableIcon(manifestIcons, 'any', 0, 0, undefined); // Welp, we tried. Any image of any size, any type.
+
+ if (!icon) {
+ throw new Error(
+ "Can't find a suitable icon to use for the Android package. Ensure your manifest has a square, large (512x512 or better) PNG icon."
+ );
+ }
+
+ const maskableIcon =
+ findSuitableIcon(manifestIcons, 'maskable', 512, 512, 'image/png') ||
+ findSuitableIcon(manifestIcons, 'maskable', 192, 192, 'image/png') ||
+ findSuitableIcon(manifestIcons, 'maskable', 192, 192, undefined);
+ const monochromeIcon =
+ findSuitableIcon(manifestIcons, 'monochrome', 512, 512, 'image/png') ||
+ findSuitableIcon(manifestIcons, 'monochrome', 192, 192, 'image/png') ||
+ findSuitableIcon(manifestIcons, 'monochrome', 192, 192, undefined);
+ const navColorOrFallback =
+ manifest.theme_color || manifest.background_color || '#000000';
+
+ return {
+ appVersion: form.appVersion.value || '1.0.0.0',
+ appVersionCode: form.appVersionCode.value || 1,
+ backgroundColor:
+ form.backgroundColor.value || manifest.background_color || manifest.theme_color || '#FFFFFF',
+ display: form.displayMode.value || display,
+ enableNotifications: form.enableNotifications.value === "on" ? true : false,
+ enableSiteSettingsShortcut: form.enableSiteSettingsShortcut.value === "on" ? true : false,
+ fallbackType: form.fallbackType.value || 'customtabs',
+ features: {
+ locationDelegation: {
+ enabled: form.locationDelegation.value === "on" ? true : false,
+ },
+ playBilling: {
+ enabled: form.playBilling.value === "on" ? true : false,
+ },
+ },
+ host: form.host.value || maniURL,
+ iconUrl: getAbsoluteUrl(icon.src, maniURL),
+ includeSourceCode: form.includeSourceCode.value === "on" ? true : false,
+ isChromeOSOnly: form.isChromeOSOnly.value === "on" ? true : false,
+ launcherName: form.launcherName.value || manifest.short_name || appName, // launcher name should be the short name. If none is available, fallback to the full app name.
+ maskableIconUrl: getAbsoluteUrl(maskableIcon?.src, maniURL),
+ monochromeIconUrl: getAbsoluteUrl(monochromeIcon?.src, maniURL),
+ name: form.appName.value || manifest.name || "My Awesome PWA",
+ navigationColor: form.navigationColor.value || navColorOrFallback,
+ navigationColorDark: form.navigationColorDark.value || navColorOrFallback,
+ navigationDividerColor: form.navigationDividerColor.value || navColorOrFallback,
+ navigationDividerColorDark: form.navigationDividerColorDark.value || navColorOrFallback,
+ orientation: manifest.orientation || 'default',
+ packageId: form.packageId.value || packageName,
+ shortcuts: manifest.shortcuts || [],
+ signing: {
+ file: form.file ? form.file.value : null,
+ alias: form.alias.value || 'my-key-alias',
+ fullName: form.fullName.value || `${manifest.short_name || manifest.name || 'App'} Admin`,
+ organization: form.organization.value || manifest.name || 'PWABuilder',
+ organizationalUnit: form.organizationalUnit.value || 'Engineering',
+ countryCode: 'US',
+ keyPassword: '', // If empty, one will be generated by CloudAPK service
+ storePassword: '', // If empty, one will be generated by CloudAPK service
+ },
+ signingMode: form.signingMode ? form.signingMode.value : 'new',
+ splashScreenFadeOutDuration: form.splashScreenFadeOutDuration.value || 300,
+ startUrl: form.startUrl.value || manifest.start_url as string,
+ themeColor: form.themeColor.value || manifest.theme_color || '#FFFFFF',
+ shareTarget: manifest.share_target,
+ webManifestUrl: form.maniURL ? form.maniURL.value : maniURL,
+ };
+}
+
+export function createAndroidPackageOptionsFromManifest(localManifest?: Manifest): AndroidApkOptions {
+ let manifest: Manifest | undefined;
+
+ if (localManifest) {
+ manifest = localManifest;
+ }
+ else {
+ manifest = getManifest();
+ }
+
+ if (!manifest) {
+ throw new Error('Could not find the web manifest');
+ }
+
+ const maniURL = getManiURL();
+ const pwaURL = getURL();
+
+ if (!pwaURL) {
+ throw new Error("Can't find the current URL");
+ }
+
+ if (!maniURL) {
+ throw new Error('Cant find the manifest URL');
+ }
+
+ const appName = manifest.short_name || manifest.name || 'My PWA';
+ const packageName = generatePackageId(new URL(pwaURL).hostname);
+ // Use standalone display mode unless the manifest has fullscreen specified.
+ const display =
+ manifest.display === 'fullscreen' ? 'fullscreen' : 'standalone';
+ // StartUrl must be relative to the host.
+ // We make sure it is below.
+ let relativeStartUrl: string;
+ if (
+ !manifest.startUrl ||
+ manifest.startUrl === '/' ||
+ manifest.startUrl === '.' ||
+ manifest.startUrl === './'
+ ) {
+ // First, if we don't have a startUrl in the manifest, or it's just "/",
+ // then we can just use that.
+ relativeStartUrl = '/';
+ } else {
+ // The startUrl in the manifest is either a relative or absolute path.
+ // Ensure it's a path relative to the root.
+ const absoluteStartUrl = new URL((manifest.start_url as string), maniURL);
+ relativeStartUrl =
+ absoluteStartUrl.pathname + (absoluteStartUrl.search || '');
+ }
+
+ // TODO Justin, looks like the usage of this has been removed?
+ console.log(relativeStartUrl);
+
+ const manifestIcons = manifest.icons || [];
+ const icon =
+ findSuitableIcon(manifestIcons, 'any', 512, 512, 'image/png') ||
+ findSuitableIcon(manifestIcons, 'any', 192, 192, 'image/png') ||
+ findSuitableIcon(manifestIcons, 'any', 512, 512, 'image/jpeg') ||
+ findSuitableIcon(manifestIcons, 'any', 192, 192, 'image/jpeg') ||
+ findSuitableIcon(manifestIcons, 'any', 512, 512, undefined) || // A 512x512 or larger image with unspecified type
+ findSuitableIcon(manifestIcons, 'any', 192, 192, undefined) || // A 512x512 or larger image with unspecified type
+ findSuitableIcon(manifestIcons, 'any', 0, 0, undefined); // Welp, we tried. Any image of any size, any type.
+
+ if (!icon) {
+ throw new Error(
+ "Can't find a suitable icon to use for the Android package. Ensure your manifest has a square, large (512x512 or better) PNG icon."
+ );
+ }
+
+ const maskableIcon =
+ findSuitableIcon(manifestIcons, 'maskable', 512, 512, 'image/png') ||
+ findSuitableIcon(manifestIcons, 'maskable', 192, 192, 'image/png') ||
+ findSuitableIcon(manifestIcons, 'maskable', 192, 192, undefined);
+ const monochromeIcon =
+ findSuitableIcon(manifestIcons, 'monochrome', 512, 512, 'image/png') ||
+ findSuitableIcon(manifestIcons, 'monochrome', 192, 192, 'image/png') ||
+ findSuitableIcon(manifestIcons, 'monochrome', 192, 192, undefined);
+ const navColorOrFallback =
+ manifest.theme_color || manifest.background_color || '#000000';
+
+ return {
+ appVersion: '1.0.0.0',
+ appVersionCode: 1,
+ backgroundColor:
+ (manifest.background_color as string) || (manifest.theme_color as string) || '#FFFFFF',
+ display: display,
+ enableNotifications: true,
+ enableSiteSettingsShortcut: true,
+ fallbackType: 'customtabs',
+ features: {
+ locationDelegation: {
+ enabled: true,
+ },
+ playBilling: {
+ enabled: false,
+ },
+ },
+ host: maniURL,
+ iconUrl: getAbsoluteUrl(icon.src, maniURL),
+ includeSourceCode: false,
+ isChromeOSOnly: false,
+ launcherName: (manifest.short_name as string) || (appName as string), // launcher name should be the short name. If none is available, fallback to the full app name.
+ maskableIconUrl: getAbsoluteUrl(maskableIcon?.src, maniURL),
+ monochromeIconUrl: getAbsoluteUrl(monochromeIcon?.src, maniURL),
+ name: (appName as string),
+ navigationColor: (navColorOrFallback as string),
+ navigationColorDark: (navColorOrFallback as string),
+ navigationDividerColor: (navColorOrFallback as string),
+ navigationDividerColorDark: (navColorOrFallback as string),
+ orientation: manifest.orientation || 'default',
+ packageId: packageName,
+ shortcuts: manifest.shortcuts || [],
+ signing: {
+ file: null,
+ alias: 'my-key-alias',
+ fullName: `${manifest.short_name || manifest.name || 'App'} Admin`,
+ organization: manifest.name || 'PWABuilder',
+ organizationalUnit: 'Engineering',
+ countryCode: 'US',
+ keyPassword: '', // If empty, one will be generated by CloudAPK service
+ storePassword: '', // If empty, one will be generated by CloudAPK service
+ },
+ signingMode: 'new',
+ splashScreenFadeOutDuration: 300,
+ startUrl: manifest.start_url as string,
+ themeColor: (manifest.theme_color as string) || '#FFFFFF',
+ shareTarget: manifest.share_target,
+ webManifestUrl: maniURL,
+ };
+}
+
+/**
+ * Resolves a relative URL to an absolute URL based on the manifest URL.
+ * If relativeUrl is null, this will return an empty string.
+ * @param relativeUrl The relative URL to make absolute.
+ * @param manifestUrl The absolute URL to the web manifest.
+ */
+function getAbsoluteUrl(
+ relativeUrl: string | undefined,
+ manifestUrl: string
+): string {
+ if (!relativeUrl) {
+ return '';
+ }
+
+ return new URL(relativeUrl, manifestUrl).toString();
+}
+
+function updateAndroidOptionsWithSafeUrls(
+ options: AndroidApkOptions
+): AndroidApkOptions {
+ const absoluteUrlProps: Array = [
+ 'maskableIconUrl',
+ 'monochromeIconUrl',
+ 'iconUrl',
+ 'webManifestUrl',
+ ];
+ for (const prop of absoluteUrlProps) {
+ const url = options[prop];
+ if (url && typeof url === 'string') {
+ const safeUrl = `${process.env.safeUrlFetcher}?url=${encodeURIComponent(
+ url
+ )}`;
+ (options as any)[prop] = safeUrl;
+ }
+ }
+ return options;
+}
diff --git a/src/script/services/publish/index.ts b/src/script/services/publish/index.ts
new file mode 100644
index 00000000..b881f89c
--- /dev/null
+++ b/src/script/services/publish/index.ts
@@ -0,0 +1,148 @@
+import { Manifest } from '../../utils/interfaces';
+import { fetchManifest } from '../manifest';
+import {
+ createAndroidPackageOptionsFromForm,
+ createAndroidPackageOptionsFromManifest,
+ generateAndroidPackage,
+} from './android-publish';
+import {
+ createWindowsPackageOptionsFromForm,
+ createWindowsPackageOptionsFromManifest,
+ generateWindowsPackage,
+} from './windows-publish';
+
+export type platform = 'windows' | 'android' | 'samsung';
+
+export async function generatePackage(type: platform, form?: HTMLFormElement) {
+ switch (type) {
+ case 'windows':
+ try {
+ // First we check for a form
+ // and generate based off of that.
+ // We will have a form if the user is going to
+ // prod
+ if (form) {
+ const options = createWindowsPackageOptionsFromForm(form);
+
+ if (options) {
+ const blob = await generateWindowsPackage(options);
+ return {
+ blob: blob || null,
+ type: 'store',
+ };
+ }
+ } else {
+ // No form, lets generate from the manifest
+ try {
+ const options = createWindowsPackageOptionsFromManifest();
+
+ const testBlob = await generateWindowsPackage(options);
+ return {
+ blob: testBlob || null,
+ type: 'test',
+ };
+ } catch (err) {
+ // Oh no, looks like we dont have the manifest in memory
+ // Lets try to grab it
+ const localManifest = await grabBackupManifest();
+
+ if (localManifest) {
+ const options = createWindowsPackageOptionsFromManifest(
+ localManifest
+ );
+ const testBlob = await generateWindowsPackage(options);
+
+ return {
+ blob: testBlob || null,
+ type: 'test',
+ };
+ }
+ }
+ }
+ } catch (err) {
+ throw new Error(`Error generating Windows package ${err}`);
+ }
+ break;
+ case 'android':
+ try {
+ if (form) {
+ const androidOptions = createAndroidPackageOptionsFromForm(form);
+ console.log('no form android options', androidOptions);
+
+ if (androidOptions) {
+ try {
+ const blob = await generateAndroidPackage(androidOptions);
+
+ return {
+ blob: blob || null,
+ type: 'store',
+ };
+ }
+ catch (err) {
+ return err;
+ }
+ }
+ } else {
+ try {
+ const androidOptions = createAndroidPackageOptionsFromManifest();
+ console.log('form android options', androidOptions);
+ const testBlob = await generateAndroidPackage(androidOptions);
+
+ return {
+ blob: testBlob || null,
+ type: 'test',
+ };
+ } catch (err) {
+ // Oh no, looks like we dont have the manifest in memory
+ // Lets try to grab it
+ const localManifest = await grabBackupManifest();
+ if (localManifest) {
+ const androidOptions = createAndroidPackageOptionsFromManifest(
+ localManifest
+ );
+
+ const testBlob = await generateAndroidPackage(androidOptions);
+
+ return {
+ blob: testBlob || null,
+ type: 'test',
+ };
+ }
+ }
+ }
+ } catch (err) {
+ return err;
+ }
+ break;
+ case 'samsung':
+ console.log('samsung');
+ break;
+ default:
+ console.error(
+ `A platform type must be passed, ${type} is not a valid platform.`
+ );
+ }
+}
+
+async function grabBackupManifest() {
+ console.error(
+ 'Error generating package because manifest information is missing, trying fallback'
+ );
+ const search = new URLSearchParams(location.search);
+ let site: string | null = null;
+ if (search) {
+ site = search.get('site');
+ }
+
+ let localManifest: Manifest | null = null;
+
+ if (site) {
+ const maniResults = await fetchManifest(site);
+
+ if (maniResults && maniResults.content) {
+ localManifest = maniResults.content;
+ }
+ }
+
+ return localManifest;
+}
\ No newline at end of file
diff --git a/src/script/services/publish/publish-checks.ts b/src/script/services/publish/publish-checks.ts
new file mode 100644
index 00000000..42721355
--- /dev/null
+++ b/src/script/services/publish/publish-checks.ts
@@ -0,0 +1,36 @@
+import { getResults, getURL } from '../app-info';
+
+export interface checkResults {
+ validURL: boolean,
+ manifest: boolean,
+ baseIcon: boolean,
+ offline: boolean
+}
+
+export async function finalCheckForPublish(): Promise {
+ return new Promise((resolve, reject) => {
+ // Final check before a user starts trying to publish
+ // We check for the following:
+ /**
+ * Valid URL
+ * Manifest
+ * 512x512 icon in manifest
+ * Offline for Android
+ */
+
+ const results = getResults();
+ const testURL = getURL();
+
+ if (results && testURL) {
+ const checkResults = {
+ validURL: testURL ? true : false,
+ manifest: results?.manifest[0].result,
+ baseIcon: results?.manifest[10].result,
+ offline: results?.service_worker[1].result,
+ };
+ resolve(checkResults);
+ } else {
+ reject("Could not grab test results or url to validate");
+ }
+ });
+}
diff --git a/src/script/services/publish/web-publish.ts b/src/script/services/publish/web-publish.ts
new file mode 100644
index 00000000..1cbe0c6b
--- /dev/null
+++ b/src/script/services/publish/web-publish.ts
@@ -0,0 +1,46 @@
+import { getGeneratedManifest, getManifest } from "../manifest";
+import { env } from '../../utils/environment';
+import { getURL } from "../app-info";
+
+export let web_generated = false;
+
+export async function generateWebPackage() {
+ try {
+ const manifest = getManifest();
+ const genManifest = getGeneratedManifest();
+ const url = getURL();
+
+ // The web package generator dies when screenshots is null. If detected, set screenshots to empty array.
+ const manifestWithScreenshots = manifest ? { ...manifest } : { ...genManifest };
+ if (!manifestWithScreenshots.screenshots) {
+ manifestWithScreenshots.screenshots = [];
+ }
+
+ const response = await fetch(
+ `${env.webPackageGeneratorUrl}?siteUrl=${url
+ }&hasServiceWorker=${false}`,
+ {
+ method: "POST",
+ body: JSON.stringify(manifestWithScreenshots),
+ headers: new Headers({
+ "content-type": "application/json",
+ }),
+ }
+ );
+ if (response.status === 200) {
+ const data = await response.blob();
+
+ // set generated flag
+ web_generated = true;
+
+ return data;
+ } else {
+ const responseText = await response.text();
+ throw new Error(
+ `Failed. Status code ${response.status}, Error: ${response.statusText}, Details: ${responseText}`
+ );
+ }
+ } catch (error) {
+ throw new Error("Failed. Error: " + error);
+ }
+}
\ No newline at end of file
diff --git a/src/script/services/publish/windows-publish.ts b/src/script/services/publish/windows-publish.ts
new file mode 100644
index 00000000..6cc4b73e
--- /dev/null
+++ b/src/script/services/publish/windows-publish.ts
@@ -0,0 +1,183 @@
+import { env } from '../../utils/environment';
+import { findSuitableIcon } from '../../utils/icons';
+import { Manifest } from '../../utils/interfaces';
+import {
+ generateWindowsPackageId,
+ validateWindowsOptions,
+ WindowsPackageOptions,
+} from '../../utils/win-validation';
+import { getURL } from '../app-info';
+import { getManifest, getManiURL } from '../manifest';
+
+export let windows_generated = false;
+
+export async function generateWindowsPackage(
+ windowsOptions: WindowsPackageOptions
+) {
+ if (!windowsOptions) {
+ // this.showErrorMessage("Invalid Windows options. No options specified.");
+ throw new Error('Invalid Windows options. No options specified.');
+ }
+
+ const validationErrors = validateWindowsOptions(
+ windowsOptions
+ );
+ if (validationErrors.length > 0 || !windowsOptions) {
+ throw new Error(
+ 'Invalid Windows options. ' +
+ validationErrors.map(a => a.error).join('\n')
+ );
+ }
+
+ try {
+ const response = await fetch(`${env.windowsPackageGeneratorUrl}`, {
+ method: 'POST',
+ body: JSON.stringify(windowsOptions),
+ headers: new Headers({ 'content-type': 'application/json' }),
+ });
+ if (response.status === 200) {
+ const data = await response.blob();
+
+ //set generated flag
+ windows_generated = true;
+
+ return data;
+ } else {
+ const responseText = await response.text();
+ throw new Error(
+ `Failed. Status code ${response.status}, Error: ${response.statusText}, Details: ${responseText}`
+ );
+ }
+ } catch (err) {
+ throw new Error('Failed. Error: ' + err);
+ }
+}
+
+export function createWindowsPackageOptionsFromManifest(localManifest?: Manifest
+): WindowsPackageOptions {
+ let manifest: Manifest | undefined;
+
+ if (localManifest) {
+ manifest = localManifest;
+ }
+ else {
+ manifest = getManifest();
+ }
+
+ if (manifest) {
+ const maniURL = getManiURL();
+ const pwaURL = getURL();
+
+ if (!pwaURL) {
+ throw new Error("Can't find the current URL");
+ }
+
+ if (!maniURL) {
+ throw new Error('Cant find the manifest URL');
+ }
+
+ const name = manifest.short_name || manifest.name || 'My PWA';
+ const packageID = generateWindowsPackageId(new URL(pwaURL).hostname);
+ const manifestIcons = manifest.icons || [];
+
+ const icon =
+ findSuitableIcon(manifestIcons, 'any', 512, 512, 'image/png') ||
+ findSuitableIcon(manifestIcons, 'any', 192, 192, 'image/png') ||
+ findSuitableIcon(manifestIcons, 'any', 512, 512, 'image/jpeg') ||
+ findSuitableIcon(manifestIcons, 'any', 192, 192, 'image/jpeg') ||
+ findSuitableIcon(manifestIcons, 'any', 512, 512, undefined) || // Fallback to a 512x512 with an undefined type.
+ findSuitableIcon(manifestIcons, 'any', 192, 192, undefined) || // Fallback to a 192x192 with an undefined type.
+ findSuitableIcon(manifestIcons, 'any', 0, 0, 'image/png') || // No large PNG and no large JPG? See if we have *any* PNG
+ findSuitableIcon(manifestIcons, 'any', 0, 0, 'image/jpeg') || // No large PNG and no large JPG? See if we have *any* JPG
+ findSuitableIcon(manifestIcons, 'any', 0, 0, undefined); // Welp, we sure tried. Grab any image available.
+
+ const options: WindowsPackageOptions = {
+ name: name as string,
+ packageId: packageID,
+ url: pwaURL,
+ version: '1.0.1',
+ allowSigning: true,
+ publisher: {
+ displayName: 'Contoso, Inc.',
+ commonName: 'CN=3a54a224-05dd-42aa-85bd-3f3c1478fdca',
+ },
+ generateModernPackage: true,
+ classicPackage: {
+ generate: true,
+ version: '1.0.0',
+ url: pwaURL,
+ },
+ edgeHtmlPackage: {
+ generate: false,
+ },
+ manifestUrl: maniURL,
+ manifest: manifest,
+ images: {
+ baseImage: icon && icon.src ? icon.src : '',
+ backgroundColor: 'transparent',
+ padding: 0.3,
+ },
+ };
+
+ return options;
+ } else {
+ // temporary link until the home page has the logic to handle
+ // a query string with the URL or the app so the user could re-run
+ // the test here.
+ throw new Error(`No manifest found, Double check that you have a manifest`);
+ }
+}
+
+export function createWindowsPackageOptionsFromForm(
+ form: HTMLFormElement
+) {
+ const manifest = getManifest();
+
+ if (manifest) {
+ const name = form.appName.value || manifest.short_name || manifest.name;
+ const packageID = form.packageId.value;
+
+ const manifestIcons = manifest.icons || [];
+
+ const icon =
+ findSuitableIcon(manifestIcons, 'any', 512, 512, 'image/png') ||
+ findSuitableIcon(manifestIcons, 'any', 192, 192, 'image/png') ||
+ findSuitableIcon(manifestIcons, 'any', 512, 512, 'image/jpeg') ||
+ findSuitableIcon(manifestIcons, 'any', 192, 192, 'image/jpeg') ||
+ findSuitableIcon(manifestIcons, 'any', 512, 512, undefined) || // Fallback to a 512x512 with an undefined type.
+ findSuitableIcon(manifestIcons, 'any', 192, 192, undefined) || // Fallback to a 192x192 with an undefined type.
+ findSuitableIcon(manifestIcons, 'any', 0, 0, 'image/png') || // No large PNG and no large JPG? See if we have *any* PNG
+ findSuitableIcon(manifestIcons, 'any', 0, 0, 'image/jpeg') || // No large PNG and no large JPG? See if we have *any* JPG
+ findSuitableIcon(manifestIcons, 'any', 0, 0, undefined); // Welp, we sure tried. Grab any image available.*/
+
+ const options: WindowsPackageOptions = {
+ name: name,
+ packageId: packageID,
+ url: form.url.value || getURL(),
+ version: form.appVersion.value || "1.0.1",
+ allowSigning: true,
+ publisher: {
+ displayName: form.publisherDisplayName.value,
+ commonName: form.publisherId.value,
+ },
+ generateModernPackage: true,
+ classicPackage: {
+ generate: true,
+ version: '1.0.0',
+ url: form.url.value || getURL(),
+ },
+ edgeHtmlPackage: {
+ generate: false,
+ },
+ manifestUrl: form.manifestUrl.value || getManiURL(),
+ manifest: manifest,
+ images: {
+ baseImage: form.iconUrl.value || icon,
+ backgroundColor: 'transparent',
+ padding: 0.3,
+ },
+ };
+
+ return options;
+ }
+}
diff --git a/src/script/services/screenshots.ts b/src/script/services/screenshots.ts
new file mode 100644
index 00000000..26d7d056
--- /dev/null
+++ b/src/script/services/screenshots.ts
@@ -0,0 +1,52 @@
+import { Icon } from '../utils/interfaces';
+import { getManifest, updateManifest } from './manifest';
+
+const screenshotServiceBaseUrl = 'https://pwa-screenshots.azurewebsites.net';
+
+enum EndPoints {
+ colorScheme = 'getColorScheme',
+ base64 = 'screenshotsAsBase64Strings',
+ zip = 'downloadScreenshotsZipFile',
+}
+
+export async function generateScreenshots(screenshotsList: Array) {
+ try {
+ const res = await fetch(`${screenshotServiceBaseUrl}/${EndPoints.base64}`, {
+ headers: new Headers({
+ 'Content-Type': 'application/json',
+ }),
+ method: 'POST',
+ mode: 'no-cors',
+ body: JSON.stringify({
+ url: screenshotsList,
+ }),
+ });
+
+ if (res.ok) {
+ let screenshots: Array = getManifest()?.screenshots ?? [];
+ screenshots = screenshots.concat(await res.json());
+
+ updateManifest({
+ screenshots,
+ });
+ }
+ } catch (e) {
+ console.error(e);
+ }
+}
+
+export async function downloadScreenshotZip() {
+ try {
+ console.log('TODO getScreenshots');
+ } catch (e) {
+ console.error(e);
+ }
+}
+
+export async function getColorScheme() {
+ try {
+ console.log('TODO getColorScheme');
+ } catch (e) {
+ console.error(e);
+ }
+}
diff --git a/src/script/services/service_worker.ts b/src/script/services/service_worker.ts
new file mode 100644
index 00000000..4ea42c68
--- /dev/null
+++ b/src/script/services/service_worker.ts
@@ -0,0 +1,85 @@
+import { fileSave } from 'browser-fs-access';
+
+const apiUrl = 'https://pwabuilder-sw-server.azurewebsites.net';
+
+let chosenSW: number | undefined;
+
+export async function getServiceWorkers() {
+ try {
+ const response = await fetch(`${apiUrl}/listing`, {
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ method: 'GET',
+ });
+ const swData = await response.json();
+
+ if (swData) {
+ const data = JSON.parse(swData);
+ return data;
+ }
+ } catch (e) {
+ console.log(e);
+ handleError(e);
+ }
+}
+
+export async function getServiceWorkerCode(serviceworker: number) {
+ try {
+ const response = await fetch(`${apiUrl}/codePreview?id=${serviceworker}`, {
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ method: 'GET',
+ });
+ const result = await response.json();
+
+ if (result && result.serviceWorker) {
+ console.log(result);
+ return result.serviceWorker;
+ }
+ } catch (e) {
+ console.log(e);
+ handleError(e);
+ }
+}
+
+export async function downloadServiceWorker(serviceworker: number) {
+ try {
+ const response = await fetch(`${apiUrl}/download?id=${serviceworker}`, {
+ headers: {
+ 'Content-Type': 'application/zip',
+ },
+ method: 'GET',
+ });
+ const blob = await response.blob();
+
+ await fileSave(blob, {
+ fileName: 'service_worker.zip',
+ extensions: ['.zip'],
+ });
+ } catch (e) {
+ console.log(e);
+ handleError(e);
+ }
+}
+
+export async function chooseServiceWorker(serviceworker: number) {
+ chosenSW = serviceworker;
+ return chosenSW;
+}
+
+export function unsetServiceWorker() {
+ chosenSW = undefined;
+}
+
+export function getChosenServiceWorker() {
+ return chosenSW;
+}
+
+function handleError(e: any) {
+ const errorMessage = e.response.data
+ ? e.response.data.error
+ : e.response.data || e.response.statusText;
+ throw new Error(errorMessage);
+}
diff --git a/src/script/services/tests/index.ts b/src/script/services/tests/index.ts
new file mode 100644
index 00000000..e7ccb17e
--- /dev/null
+++ b/src/script/services/tests/index.ts
@@ -0,0 +1,101 @@
+import {
+ ProgressList,
+ RawTestResult,
+ Status,
+ TestResult,
+} from '../../utils/interfaces';
+import { getProgress, getResults, setProgress, setResults } from '../app-info';
+import { giveOutBadges } from '../badges';
+import { testManifest } from './manifest';
+import { testSecurity } from './security';
+import { testServiceWorker } from './service-worker';
+
+export async function runAllTests(url: string): Promise {
+ // disabling an eslint check here because we need async
+ // here for this function to work properly
+ // this is also valid JavaScript
+ // eslint-disable-next-line no-async-promise-executor
+ return new Promise(async resolve => {
+ const maniTestResult = testManifest(url);
+ const serviceWorkerTestResult = testServiceWorker(url);
+ const securityTestResult = testSecurity(url);
+
+ const resultsObject: RawTestResult = {
+ manifest: await maniTestResult,
+ service_worker: await serviceWorkerTestResult,
+ security: await securityTestResult,
+ };
+
+ console.log('resultsObject', resultsObject);
+
+ setResults(resultsObject);
+
+ const progress = getProgress();
+ updateProgress(progress, resultsObject);
+
+ giveOutBadges();
+
+ resolve(resultsObject);
+ });
+}
+
+export function getOverallScore() {
+ const results = getResults();
+
+ let manifestScore = 0;
+ let swScore = 0;
+ let securityScore = 0;
+
+ // gather manifest scores
+ // each result is worth 10
+ (results?.manifest as TestResult[]).map((result) => {
+ if (result.result === true) {
+ manifestScore = manifestScore + 10;
+ }
+ });
+
+ (results?.service_worker as TestResult[]).map((result) => {
+ if (result.result === true) {
+ swScore = swScore + 10;
+ }
+ });
+
+ (results?.security as TestResult[]).map((result) => {
+ if (result.result === true) {
+ securityScore = securityScore + 10;
+ }
+ });
+
+ return manifestScore + swScore + securityScore;
+}
+
+function updateProgress(progress: ProgressList, results: RawTestResult) {
+ progress.progress[0].items[1].done = Status.DONE;
+
+ progress.progress[1].items.map((item: { name: string; done: Status }) => {
+ if (item.name === 'Manifest') {
+ if (results && results.manifest) {
+ if ((results.manifest as Array)[0].result === true) {
+ item.done = Status.DONE;
+ }
+ }
+ } else if (item.name === 'Service Worker') {
+ if (results && results.service_worker) {
+ if (results.service_worker[0].result === true) {
+ item.done = Status.DONE;
+ }
+ }
+ } else if (item.name === 'Security') {
+ if (results && results.security) {
+ if (results.security[0].result === true) {
+ item.done = Status.DONE;
+ }
+ }
+ }
+ });
+
+ giveOutBadges();
+
+ const newProgress = progress;
+ setProgress(newProgress);
+}
diff --git a/src/script/services/tests/manifest.ts b/src/script/services/tests/manifest.ts
new file mode 100644
index 00000000..d6549ea5
--- /dev/null
+++ b/src/script/services/tests/manifest.ts
@@ -0,0 +1,309 @@
+import { default_timeout } from '../../utils/api';
+import { findSuitableIcon } from '../../utils/icons';
+import { ManifestDetectionResult, TestResult } from '../../utils/interfaces';
+import { fetchManifest } from '../manifest';
+
+const default_results = [
+ {
+ infoString: 'Web Manifest Properly Attached',
+ result: false,
+ category: 'required',
+ },
+ {
+ infoString: 'Lists icons for add to home screen',
+ result: false,
+ category: 'required',
+ },
+ {
+ infoString: 'Contains name property',
+ result: false,
+ category: 'required',
+ },
+ {
+ infoString: 'Contains short_name property',
+ result: false,
+ category: 'required',
+ },
+ {
+ infoString: 'Designates a start_url',
+ result: false,
+ category: 'required',
+ },
+ {
+ infoString: 'Specifies a display mode',
+ result: false,
+ category: 'recommended',
+ },
+ {
+ infoString: 'Has a background color',
+ result: false,
+ category: 'recommended',
+ },
+ {
+ infoString: 'Has a theme color',
+ result: false,
+ category: 'recommended',
+ },
+ {
+ infoString: 'Specifies an orientation mode',
+ result: false,
+ category: 'recommended',
+ },
+ {
+ infoString: 'Contains screenshots for app store listings',
+ result: false,
+ category: 'recommended',
+ },
+ {
+ infoString: 'Has a square PNG icon 512x512 or larger',
+ result: false,
+ category: 'required',
+ },
+ {
+ infoString: 'Has a maskable PNG icon',
+ result: false,
+ category: 'recommended',
+ },
+ {
+ infoString: 'Lists shortcuts for quick access',
+ result: false,
+ category: 'recommended',
+ },
+ {
+ infoString: 'Contains categories to classify the app',
+ result: false,
+ category: 'recommended',
+ },
+ {
+ infoString: 'Contains an IARC ID',
+ result: false,
+ category: 'optional',
+ },
+ {
+ infoString: 'Specifies related_application',
+ result: false,
+ category: 'optional',
+ },
+];
+
+export async function testManifest(
+ url: string
+): Promise | boolean> {
+ try {
+ const manifestData = fetchManifest(url);
+
+ const twentySecondTimeout = new Promise>(resolve =>
+ setTimeout(() => resolve(default_results), default_timeout)
+ );
+
+ const fetchResultOrTimeout:
+ | Array
+ | ManifestDetectionResult = await Promise.race([
+ twentySecondTimeout,
+ manifestData,
+ ]);
+
+ if (!fetchResultOrTimeout) {
+ console.warn('Manifest check timed out after 20 seconds.');
+ return default_results;
+ }
+
+ console.log('testing manifest');
+
+ if (fetchResultOrTimeout) {
+ const manifest = await fetchResultOrTimeout;
+
+ if (manifest && (manifest as ManifestDetectionResult).content) {
+ return doTest(manifest as ManifestDetectionResult);
+ } else {
+ console.error('Could not test manifest, returning default results');
+ return manifest as Array;
+ }
+ } else {
+ console.error('Could not get manifest data');
+ return default_results;
+ }
+ } catch (err) {
+ console.error(
+ 'Could not fetch a manifest to test within the specified time limit.'
+ );
+ return default_results;
+ }
+}
+
+function doTest(manifest: ManifestDetectionResult) {
+ if (manifest.generated && manifest.generated === true) {
+ return default_results;
+ } else {
+ return [
+ {
+ infoString: 'Web Manifest Properly Attached',
+ result: true,
+ category: 'required',
+ },
+ {
+ infoString: 'Lists icons for add to home screen',
+ result:
+ manifest.content.icons && manifest.content.icons.length > 0
+ ? true
+ : false,
+ category: 'required',
+ },
+ {
+ infoString: 'Contains name property',
+ result:
+ manifest.content.name && manifest.content.name.length > 1
+ ? true
+ : false,
+ category: 'required',
+ },
+ {
+ infoString: 'Contains short_name property',
+ result:
+ manifest.content.short_name && manifest.content.short_name.length > 1
+ ? true
+ : false,
+ category: 'required',
+ },
+ {
+ infoString: 'Designates a start_url',
+ result:
+ manifest.content.start_url && manifest.content.start_url.length > 0
+ ? true
+ : false,
+ category: 'required',
+ },
+ {
+ infoString: 'Specifies a display mode',
+ result:
+ manifest.content.display &&
+ ['fullscreen', 'standalone', 'minimal-ui', 'browser'].includes(
+ manifest.content.display
+ )
+ ? true
+ : false,
+ category: 'recommended',
+ },
+ {
+ infoString: 'Has a background color',
+ result: manifest.content.background_color ? true : false,
+ category: 'recommended',
+ },
+ {
+ infoString: 'Has a theme color',
+ result: manifest.content.theme_color ? true : false,
+ category: 'recommended',
+ },
+ {
+ infoString: 'Specifies an orientation mode',
+ result:
+ manifest.content.orientation &&
+ isStandardOrientation(manifest.content.orientation)
+ ? true
+ : false,
+ category: 'recommended',
+ },
+ {
+ infoString: 'Contains screenshots for app store listings',
+ result:
+ manifest.content.screenshots &&
+ manifest.content.screenshots.length > 0
+ ? true
+ : false,
+ category: 'recommended',
+ },
+ {
+ infoString: 'Has a square PNG icon 512x512 or larger',
+ result: findSuitableIcon(manifest.content.icons, null, 512, 512, 'image/png') ? true : false,
+ category: 'required',
+ },
+ {
+ infoString: 'Has a maskable PNG icon',
+ result: findSuitableIcon(manifest.content.icons, 'maskable', 512, 512, 'image/png') ? true : false,
+ category: 'recommended',
+ },
+ {
+ infoString: 'Lists shortcuts for quick access',
+ result:
+ manifest.content.shortcuts && manifest.content.shortcuts.length > 0
+ ? true
+ : false,
+ category: 'recommended',
+ },
+ {
+ infoString: 'Contains categories to classify the app',
+ result:
+ manifest.content.categories &&
+ manifest.content.categories.length > 0 &&
+ containsStandardCategory(manifest.content.categories)
+ ? true
+ : false,
+ category: 'recommended',
+ },
+ {
+ infoString: 'Contains an IARC ID',
+ result: manifest.content.iarc_rating_id ? true : false,
+ category: 'optional',
+ },
+ {
+ infoString: 'Specifies related_application',
+ result:
+ manifest.content.related_applications &&
+ manifest.content.related_applications.length > 0 &&
+ manifest.content.prefer_related_applications !== undefined
+ ? true
+ : false,
+ category: 'optional',
+ },
+ ];
+ }
+}
+
+function containsStandardCategory(categories: string[]): boolean {
+ // https://github.com/w3c/manifest/wiki/Categories
+ const standardCategories = [
+ 'books',
+ 'business',
+ 'education',
+ 'entertainment',
+ 'finance',
+ 'fitness',
+ 'food',
+ 'games',
+ 'government',
+ 'health',
+ 'kids',
+ 'lifestyle',
+ 'magazines',
+ 'medical',
+ 'music',
+ 'navigation',
+ 'news',
+ 'personalization',
+ 'photo',
+ 'politics',
+ 'productivity',
+ 'security',
+ 'shopping',
+ 'social',
+ 'sports',
+ 'travel',
+ 'utilities',
+ 'weather',
+ ];
+ return categories.some(c => standardCategories.includes(c));
+}
+
+function isStandardOrientation(orientation: string) {
+ const standardOrientations = [
+ 'any',
+ 'natural',
+ 'landscape',
+ 'landscape-primary',
+ 'landscape-secondary',
+ 'portrait',
+ 'portrait-primary',
+ 'portrait-secondary',
+ ];
+ return standardOrientations.includes(orientation);
+}
diff --git a/src/script/services/tests/security.ts b/src/script/services/tests/security.ts
new file mode 100644
index 00000000..4746c510
--- /dev/null
+++ b/src/script/services/tests/security.ts
@@ -0,0 +1,72 @@
+import { SecurityDataResults, TestResult } from '../../utils/interfaces';
+import { env } from '../../utils/environment';
+import { default_timeout } from '../../utils/api';
+
+export const default_results = [
+ {
+ result: false,
+ infoString: "Uses HTTPS",
+ category: "required"
+ },
+ {
+ result: false,
+ infoString: "Has a valid SSL certificate",
+ category: "required"
+ },
+ {
+ result: false,
+ infoString: "No mixed content on page",
+ category: "required"
+ }
+];
+
+export async function testSecurity(url: string): Promise> {
+ // We've witnessed this call take a very long time. We're going to time-box it to 20s.
+ const twentySecondTimeout = new Promise(resolve =>
+ setTimeout(() => resolve(), default_timeout)
+ );
+
+ const encodedUrl = encodeURIComponent(url);
+ const securityUrl = `${env.testAPIUrl}/Security?site=${encodedUrl}`;
+ const fetchResult = fetch(securityUrl);
+
+ const fetchResultOrTimeout: void | Response = await Promise.race([
+ twentySecondTimeout,
+ fetchResult,
+ ]);
+
+ if (!fetchResultOrTimeout) {
+ console.warn('Offline check timed out after 20 seconds.');
+ return default_results;
+ }
+
+ if (fetchResultOrTimeout && !fetchResultOrTimeout.ok) {
+ throw new Error(
+ 'Error fetching security report: ' + await fetchResultOrTimeout.statusText
+ );
+ }
+
+ // we have made it through, yay!
+ const results: SecurityDataResults = await fetchResultOrTimeout.json();
+ console.info('Security detection completed successfully', results);
+
+ const organizedResults = [
+ {
+ result: results.data.isHTTPS,
+ infoString: "Uses HTTPS",
+ category: "required"
+ },
+ {
+ result: results.data.valid,
+ infoString: "Has a valid SSL certificate",
+ category: "required"
+ },
+ {
+ result: results.data.validProtocol,
+ infoString: "No mixed content on page",
+ category: "required"
+ }
+ ];
+
+ return organizedResults;
+}
diff --git a/src/script/services/tests/service-worker.ts b/src/script/services/tests/service-worker.ts
new file mode 100644
index 00000000..762e0e72
--- /dev/null
+++ b/src/script/services/tests/service-worker.ts
@@ -0,0 +1,150 @@
+import { env } from '../../utils/environment';
+import {
+ ServiceWorkerDetectionResult,
+ TestResult,
+} from '../../utils/interfaces';
+
+type OfflineCheckResult = {
+ data: {
+ offline: boolean;
+ };
+};
+
+export async function testServiceWorker(
+ url: string
+): Promise> {
+ console.info('Testing Service Worker');
+ const isHttp = typeof url === 'string' && url.startsWith('http://');
+
+ if (!url || isHttp) {
+ return [];
+ }
+
+ const swData = await detectServiceWorker(url);
+ const worksOffline = await detectOfflineSupport(url);
+
+ const swTestResult = [
+ {
+ result: swData.hasSW,
+ infoString: 'Has a Service Worker',
+ category: 'required',
+ },
+ {
+ result: worksOffline,
+ infoString: 'Works Offline',
+ category: 'recommended',
+ },
+ {
+ result: swData.hasPeriodicBackgroundSync,
+ infoString: 'Uses Periodic Sync for a rich offline experience',
+ category: 'optional',
+ },
+ {
+ result: swData.hasBackgroundSync,
+ infoString: 'Uses Background Sync for a rich offline experience',
+ category: 'optional',
+ },
+ ];
+
+ return swTestResult;
+}
+
+async function detectServiceWorker(
+ url: string
+): Promise {
+ const fetchResult = await fetch(
+ `${
+ env.serviceWorkerUrl
+ }/serviceWorker/runAllChecks?url=${encodeURIComponent(url)}`
+ );
+ if (!fetchResult.ok) {
+ console.warn(
+ 'Unable to detect service worker',
+ fetchResult.status,
+ fetchResult.statusText
+ );
+ throw new Error(fetchResult.statusText);
+ }
+
+ const jsonResult: ServiceWorkerDetectionResult = await fetchResult.json();
+ console.info('Service worker detection succeeded', jsonResult);
+ return jsonResult;
+}
+
+/**
+ * Checks the URL for offline support.
+ */
+async function detectOfflineSupport(url: string): Promise {
+
+ // We have 2 offline checks:
+ // - A Google Lighthouse-based check, run via APIv2
+ // - A Puppeteer check check, run via our service worker API.
+ // We'll run both and see if we get success on either.
+ // Additionally, we time box this to 10 seconds because we've witnessed very long timeouts or hangs for some sites.
+
+ return new Promise(resolve => {
+ const resolveIfOfflineDetected = (offlineDetected: boolean) => {
+ if (offlineDetected) {
+ resolve(true);
+ }
+ };
+
+ // Race to success: if any test returns offline = true, use that.
+ // Otherwise, punt if we timeout, or if both tests return false.
+ const puppeteerCheck = detectOfflineSupportPuppeteer(url);
+ const lighthouseCheck = detectOfflineSupportLighthouse(url);
+ new Promise(() => setTimeout(() => resolve(false), 10000));
+
+ puppeteerCheck.then(result => resolveIfOfflineDetected(result));
+ lighthouseCheck.then(result => resolveIfOfflineDetected(result));
+
+ // If both checks finished, resolve as no offline detected.
+ Promise['allSettled']([puppeteerCheck, lighthouseCheck]).then(() =>
+ resolve(false)
+ );
+ });
+}
+
+async function detectOfflineSupportPuppeteer(url: string) {
+ const fetchResult = await fetch(
+ `${
+ env.serviceWorkerUrl
+ }/serviceworker/GetOfflineSupport?url=${encodeURIComponent(url)}`
+ );
+ if (!fetchResult.ok) {
+ console.warn(
+ 'Unable to detect offline support via Puppeteer.',
+ fetchResult.status,
+ fetchResult.statusText
+ );
+ throw new Error(fetchResult.statusText);
+ }
+
+ const jsonResult: boolean = await fetchResult.json();
+ console.info(
+ 'Offline support detection completed via Puppeteer. Offline support =',
+ jsonResult
+ );
+ return jsonResult;
+}
+
+async function detectOfflineSupportLighthouse(url: string) {
+ const fetchResult = await fetch(
+ `${env.testAPIUrl}/offline/?site=${encodeURIComponent(url)}`
+ );
+ if (!fetchResult.ok) {
+ console.warn(
+ 'Unable to detect offline support via Lighthouse.',
+ fetchResult.status,
+ fetchResult.statusText
+ );
+ throw new Error(fetchResult.statusText);
+ }
+
+ const jsonResult: OfflineCheckResult = await fetchResult.json();
+ console.info(
+ 'Offline support detection completed via Lighthouse. Offline support =',
+ jsonResult
+ );
+ return jsonResult.data.offline;
+}
diff --git a/src/script/utils/android-validation.ts b/src/script/utils/android-validation.ts
new file mode 100644
index 00000000..8126e37b
--- /dev/null
+++ b/src/script/utils/android-validation.ts
@@ -0,0 +1,375 @@
+import { ShareTarget, ShortcutItem } from './interfaces';
+
+/**
+ * Settings for the Android APK generation. This is the raw data passed to the CloudApk service.
+ * It should match the CloudApk service's AndroidPackageOptions interface: https://github.com/pwa-builder/CloudAPK/blob/master/build/androidPackageOptions.ts
+ */
+export interface AndroidApkOptions {
+ appVersion: string;
+ appVersionCode: number;
+ backgroundColor: string;
+ display: 'standalone' | 'fullscreen';
+ enableNotifications: boolean;
+ enableSiteSettingsShortcut: boolean;
+ fallbackType: 'customtabs' | 'webview';
+ features: {
+ appsFlyer?: {
+ enabled: boolean;
+ appsFlyerId: string;
+ };
+ locationDelegation?: {
+ enabled: boolean;
+ };
+ playBilling?: {
+ enabled: boolean;
+ };
+ firstRunFlag?: {
+ enabled: boolean;
+ queryParameterName: string;
+ };
+ };
+ host: string;
+ iconUrl: string;
+ includeSourceCode: boolean;
+ isChromeOSOnly: boolean;
+ launcherName: string;
+ maskableIconUrl: string | null;
+ monochromeIconUrl: string | null;
+ name: string;
+ navigationColor: string;
+ navigationColorDark: string;
+ navigationDividerColor: string;
+ navigationDividerColorDark: string;
+ orientation:
+ | 'default'
+ | 'any'
+ | 'natural'
+ | 'landscape'
+ | 'portrait'
+ | 'portrait-primary'
+ | 'portrait-secondary'
+ | 'landscape-primary'
+ | 'landscape-secondary';
+ packageId: string;
+ shareTarget?: ShareTarget;
+ shortcuts: ShortcutItem[];
+ signing: AndroidSigningOptions | null;
+ signingMode: 'new' | 'none' | 'mine';
+ splashScreenFadeOutDuration: number;
+ startUrl: string;
+ themeColor: string;
+ webManifestUrl: string;
+};
+
+/**
+ * Signing options for Android APK generation. This is sent to the Cloud APK service as part of AndroidApkOptions.
+ * It should generally match the CloudApk service's SigningOptions interface: https://github.com/pwa-builder/CloudAPK/blob/master/build/signingOptions.ts
+ */
+export interface AndroidSigningOptions {
+ /**
+ * The base64 encoded contents of the Android .keystore file.
+ * This can be null when signing mode is "none" or "new".
+ */
+ file: string | null;
+ alias: string;
+ fullName: string;
+ organization: string;
+ organizationalUnit: string;
+ countryCode: string;
+ keyPassword: string;
+ storePassword: string;
+};
+
+type AndroidPackageValidationError = {
+ field: keyof AndroidApkOptions | keyof AndroidSigningOptions | null;
+ error: string;
+};
+
+const DISALLOWED_ANDROID_PACKAGE_CHARS_REGEX = /[^a-zA-Z0-9_]/g;
+
+export function generatePackageId(host: string): string {
+ const parts = host
+ .split('.')
+ .reverse()
+ .map(p => p.trim().toLowerCase())
+ .map(p => withoutLeadingDigits(p)) // Android Package name parts can't begin with numbers: https://github.com/pwa-builder/PWABuilder/issues/1336#issuecomment-755029058
+ .filter(p => p.length > 0)
+ .map(p => p.replace(DISALLOWED_ANDROID_PACKAGE_CHARS_REGEX, '_'));
+ parts.push('twa');
+
+ return parts.join('.');
+}
+
+export function validateAndroidOptions(
+ options: Partial
+): AndroidPackageValidationError[] {
+ const validationErrors: AndroidPackageValidationError[] = [];
+ if (!options) {
+ validationErrors.push({ field: null, error: 'No options specified ' });
+ return validationErrors;
+ }
+
+ if (!options.packageId) {
+ validationErrors.push({ field: 'packageId', error: 'No package ID' });
+ }
+
+ if (options.packageId && options.packageId.search(/[^a-zA-Z0-9_.]/) !== -1) {
+ validationErrors.push({
+ field: 'packageId',
+ error:
+ 'Package ID must not contain any character other than alphanumeric and period.',
+ });
+ }
+
+ if (!options.name || options.name.trim().length === 0) {
+ validationErrors.push({
+ field: 'name',
+ error: 'Must have a valid app name',
+ });
+ }
+
+ if (!options.appVersion || options.appVersion.trim().length === 0) {
+ validationErrors.push({
+ field: 'appVersion',
+ error: 'Must have a valid app version',
+ });
+ }
+
+ if (!options.appVersionCode || options.appVersionCode > 2100000000) {
+ validationErrors.push({
+ field: 'appVersionCode',
+ error: 'App version code must be between 1 and 2100000000',
+ });
+ }
+
+ if (!options.backgroundColor) {
+ validationErrors.push({
+ field: 'backgroundColor',
+ error: 'Must have a background color',
+ });
+ }
+
+ if (
+ (options.display as string) !== 'standalone' &&
+ (options.display as string) !== 'fullscreen'
+ ) {
+ validationErrors.push({
+ field: 'display',
+ error: "Display must be 'standalone' or 'fullscreen'",
+ });
+ }
+
+ if (
+ (options.fallbackType as string) !== 'customtabs' &&
+ (options.fallbackType as string) !== 'webview'
+ ) {
+ validationErrors.push({
+ field: 'fallbackType',
+ error: "Fallback type must be 'customtabs' or 'webview'",
+ });
+ }
+
+ if (!options.host) {
+ validationErrors.push({ field: 'host', error: 'Host must be specified' });
+ } else {
+ const hostUrlError = validateUrl(options.host);
+ if (hostUrlError) {
+ validationErrors.push({
+ field: 'host',
+ error: 'Host URL must be a valid absolute URL',
+ });
+ }
+ }
+
+ if (!options.iconUrl) {
+ validationErrors.push({ field: 'iconUrl', error: 'Must have a icon URL' });
+ } else {
+ const iconUrlError = validateUrl(options.iconUrl, options.host);
+ if (iconUrlError) {
+ validationErrors.push({ field: 'iconUrl', error: 'Icon URL is invalid' });
+ }
+ }
+
+ if (!options.launcherName || options.launcherName.trim().length === 0) {
+ validationErrors.push({
+ field: 'launcherName',
+ error: 'Must have an app launcher name',
+ });
+ }
+
+ if (!options.webManifestUrl) {
+ validationErrors.push({
+ field: 'webManifestUrl',
+ error: 'Must have a manifest URL',
+ });
+ } else {
+ const manifestUrlError = validateUrl(options.webManifestUrl);
+ if (manifestUrlError) {
+ validationErrors.push({
+ field: 'webManifestUrl',
+ error: 'Manifest URL is invalid',
+ });
+ }
+ }
+
+ // Maskable icon is optional. But if it's specified, it must be a valid URL.
+ if (options.maskableIconUrl) {
+ const maskableIconError = validateUrl(
+ options.maskableIconUrl,
+ options.host
+ );
+ if (maskableIconError) {
+ validationErrors.push({
+ field: 'maskableIconUrl',
+ error:
+ 'Maskable icon URL was invalid. If you specify a maskable icon URL, it must be a valid URL.',
+ });
+ }
+ }
+
+ // monochrome icon is also optional.
+ if (options.monochromeIconUrl) {
+ const monochromeIconError = validateUrl(
+ options.monochromeIconUrl,
+ options.host
+ );
+ if (monochromeIconError) {
+ validationErrors.push({
+ field: 'monochromeIconUrl',
+ error:
+ 'Monochrome icon URL was invalid. If you specify a monochrome icon URL, it must be a valid URL.',
+ });
+ }
+ }
+
+ if (!options.navigationColor) {
+ validationErrors.push({
+ field: 'navigationColor',
+ error: 'Navigation color is required',
+ });
+ }
+
+ // Validating signing options when we have a signing mode
+ if (options.signingMode === 'mine' || options.signingMode === 'new') {
+ if (!options.signing) {
+ validationErrors.push({
+ field: 'signing',
+ error: 'Signing information must be supplied.',
+ });
+ } else {
+ // Full name, organization, organizational unit, and country are required if signingMode !== mine
+ // File is required only signingMode === "mine"
+ // Store password and key password are required only if signingMode === "mine"; otherwise, they're optional and CloudAPK will generate a new password for you.
+ const requiredSigningFields: Array = [
+ 'alias',
+ ];
+ if (options.signingMode === 'mine') {
+ requiredSigningFields.push('file', 'keyPassword', 'storePassword');
+ } else if (options.signingMode === 'new') {
+ // New key? We require these details to create the key.
+ requiredSigningFields.push(
+ 'fullName',
+ 'organization',
+ 'organizationalUnit',
+ 'countryCode'
+ );
+ }
+
+ requiredSigningFields
+ .filter(prop => !options.signing![prop])
+ .forEach(prop =>
+ validationErrors.push({
+ field: prop,
+ error: `${prop.toString()} must be specified`,
+ })
+ );
+
+ // If key password and store password are specified, they must be >= 6 chars in length.
+ if (
+ options.signing.keyPassword &&
+ options.signing.keyPassword.length < 6
+ ) {
+ validationErrors.push({
+ field: 'keyPassword',
+ error: 'Key password must be at least 6 characters',
+ });
+ }
+ if (
+ options.signing.storePassword &&
+ options.signing.storePassword.length < 6
+ ) {
+ validationErrors.push({
+ field: 'storePassword',
+ error: 'Key store password must be at least 6 characters',
+ });
+ }
+
+ // Ensure country code is 2 chars
+ if (
+ options.signingMode === 'new' &&
+ options.signing.countryCode &&
+ options.signing.countryCode.length !== 2
+ ) {
+ validationErrors.push({
+ field: 'countryCode',
+ error: 'Signing key country code must be 2 letters',
+ });
+ }
+ }
+ }
+
+ if (
+ options.splashScreenFadeOutDuration === null ||
+ options.splashScreenFadeOutDuration === undefined ||
+ options.splashScreenFadeOutDuration < 0
+ ) {
+ validationErrors.push({
+ field: 'splashScreenFadeOutDuration',
+ error: 'Splash screen fade duration must be 0 or greater',
+ });
+ }
+
+ if (!options.startUrl) {
+ validationErrors.push({
+ field: 'startUrl',
+ error:
+ "Start URL must be specified. If your start URL is the same as Host, you can use '/' as the start URL.",
+ });
+ } else {
+ const startUrlError = validateUrl(options.startUrl, options.host);
+ if (startUrlError) {
+ validationErrors.push({
+ field: 'startUrl',
+ error: 'Start URL is invalid',
+ });
+ }
+ }
+
+ if (!options.themeColor) {
+ validationErrors.push({
+ field: 'themeColor',
+ error: 'Theme color must be specified',
+ });
+ }
+
+ return validationErrors;
+}
+
+export function validateUrl(url: string, base?: string): string | null {
+ try {
+ new URL(url, base);
+ return null;
+ } catch (urlError) {
+ return urlError;
+ }
+}
+
+function withoutLeadingDigits(input: string): string {
+ // Check if it starts with a digit.
+ // If so, prepend "app" to it.
+ if (input && input.length && input[0].match(/^\d/)) {
+ return `app_${input}`;
+ }
+
+ return input;
+}
diff --git a/src/script/utils/api.ts b/src/script/utils/api.ts
new file mode 100644
index 00000000..4ea95497
--- /dev/null
+++ b/src/script/utils/api.ts
@@ -0,0 +1,12 @@
+import { env } from './environment';
+
+export const api = {
+ imageGenerator: {
+ post: `${env.imageGeneratorUrl}`,
+ download: function (id: string) {
+ return `${env.imageGeneratorUrl}/${id}`;
+ },
+ },
+};
+
+export const default_timeout = 20000;
diff --git a/src/script/utils/codemirror.ts b/src/script/utils/codemirror.ts
new file mode 100644
index 00000000..d509ddec
--- /dev/null
+++ b/src/script/utils/codemirror.ts
@@ -0,0 +1,119 @@
+import { once } from 'lodash-es';
+import debounce from 'lodash-es/debounce';
+import {
+ EditorState,
+ Extension,
+ StateField,
+ Transaction,
+} from '@codemirror/state';
+import {
+ keymap,
+ drawSelection,
+ highlightSpecialChars,
+ highlightActiveLine,
+ EditorView,
+} from '@codemirror/view';
+import { defaultKeymap } from '@codemirror/commands';
+import { history, historyKeymap } from '@codemirror/history';
+import { foldGutter, foldKeymap } from '@codemirror/fold';
+import { indentOnInput } from '@codemirror/language';
+import { lineNumbers } from '@codemirror/gutter';
+import { bracketMatching } from '@codemirror/matchbrackets';
+import { closeBrackets, closeBracketsKeymap } from '@codemirror/closebrackets';
+import { searchKeymap, highlightSelectionMatches } from '@codemirror/search';
+import { autocompletion, completionKeymap } from '@codemirror/autocomplete';
+import { commentKeymap } from '@codemirror/comment';
+import { rectangularSelection } from '@codemirror/rectangular-selection';
+import { defaultHighlightStyle } from '@codemirror/highlight';
+import { lintKeymap } from '@codemirror/lint';
+import { json } from '@codemirror/lang-json';
+import {
+ CodeEditorEvents,
+ CodeEditorUpdateEvent,
+} from './interfaces.codemirror';
+
+type EditorStateType = 'json';
+
+export const emitter = new EventTarget();
+
+export const dispatchEvent = debounce((event: Event) => {
+ emitter.dispatchEvent(event);
+}, 1500);
+
+export function getEditorState(
+ text: string,
+ editorType: EditorStateType,
+ extensions: Array = []
+) {
+ setupEditor();
+
+ return EditorState.create({
+ doc: text,
+ extensions: [
+ lineNumbers(),
+ foldGutter(),
+ drawSelection(),
+ indentOnInput(),
+ highlightActiveLine(),
+ highlightSelectionMatches(),
+ highlightSpecialChars(),
+ defaultHighlightStyle.fallback,
+ bracketMatching(),
+ closeBrackets(),
+ autocompletion(),
+ rectangularSelection(),
+ indentOnInput(),
+ history(),
+ fromEditorType(editorType),
+ keymap.of([
+ ...defaultKeymap,
+ ...foldKeymap,
+ ...historyKeymap,
+ ...commentKeymap,
+ ...searchKeymap,
+ ...lintKeymap,
+ ...closeBracketsKeymap,
+ ...completionKeymap,
+ ]),
+ ...extensions,
+ updateStateField,
+ ],
+ });
+}
+
+function fromEditorType(editorType: EditorStateType) {
+ if (editorType !== 'json') {
+ console.log('TODO');
+ }
+
+ return json();
+}
+
+const setupEditor = once(() => {
+ // TODO: consult our designer for styles.
+ EditorView.baseTheme({});
+});
+
+// just treat like redux for the time being
+export const updateStateField = StateField.define({
+ create() {
+ return 0;
+ },
+ update(val: number, tr: Transaction) {
+ if (tr.docChanged) {
+ const event = new CustomEvent(
+ CodeEditorEvents.update,
+ {
+ detail: {
+ transaction: tr,
+ },
+ bubbles: true,
+ composed: true,
+ }
+ );
+ dispatchEvent(event);
+ }
+
+ return tr.docChanged ? val + 1 : val;
+ },
+});
diff --git a/src/script/utils/css/breakpoints.ts b/src/script/utils/css/breakpoints.ts
new file mode 100644
index 00000000..3ca4d7ea
--- /dev/null
+++ b/src/script/utils/css/breakpoints.ts
@@ -0,0 +1,133 @@
+import { css, unsafeCSS, CSSResultGroup } from 'lit';
+
+export enum BreakpointValues {
+ smallUpper = 479,
+ mediumLower = 480,
+ mediumUpper = 639,
+ largeLower = 640,
+ largeUpper = 1023,
+ xLargeLower = 1024,
+ xLargeUpper = 1365,
+ xxLargeLower = 1366,
+ xxLargeUpper = 1919,
+ xxxLargeLower = 1920,
+}
+
+type BoundModification = 'both' | 'no-lower' | 'no-upper';
+
+export function customBreakPoint(
+ styles: CSSResultGroup,
+ lower: number | undefined = undefined,
+ upper: number | undefined = undefined
+) {
+ if (!lower && !upper) {
+ return css`
+ @media screen {
+ ${styles}
+ }
+ `;
+ }
+
+ return unsafeCSS(`
+ @media screen ${breakPoints({ lower, upper })} {
+ ${styles}
+ }
+ `);
+}
+
+export function smallBreakPoint(styles: CSSResultGroup) {
+ const upper = BreakpointValues.smallUpper;
+ return unsafeCSS(`
+ @media screen ${breakPoints({ upper })} {
+ ${styles}
+ }
+ `);
+}
+
+export function mediumBreakPoint(
+ styles: CSSResultGroup,
+ editBound: BoundModification = 'both'
+) {
+ const lower =
+ editBound !== 'no-lower' ? BreakpointValues.mediumLower : undefined;
+ const upper =
+ editBound !== 'no-upper' ? BreakpointValues.mediumUpper : undefined;
+ return unsafeCSS(`
+ @media screen ${breakPoints({ lower, upper })} {
+ ${styles}
+ }
+ `);
+}
+
+export function largeBreakPoint(
+ styles: CSSResultGroup,
+ editBound: BoundModification = 'both'
+) {
+ const lower =
+ editBound !== 'no-lower' ? BreakpointValues.largeLower : undefined;
+ const upper =
+ editBound !== 'no-upper' ? BreakpointValues.largeUpper : undefined;
+ return unsafeCSS(`
+ @media screen ${breakPoints({ lower, upper })} {
+ ${styles}
+ }
+ `);
+}
+
+export function xLargeBreakPoint(
+ styles: CSSResultGroup,
+ editBound: BoundModification = 'both'
+) {
+ const lower =
+ editBound !== 'no-lower' ? BreakpointValues.xLargeLower : undefined;
+ const upper =
+ editBound !== 'no-upper' ? BreakpointValues.xLargeUpper : undefined;
+ return unsafeCSS(`
+ @media screen ${breakPoints({ lower, upper })} {
+ ${styles}
+ }
+ `);
+}
+
+export function xxLargeBreakPoint(
+ styles: CSSResultGroup,
+ editBound: BoundModification = 'both'
+) {
+ const lower =
+ editBound !== 'no-lower' ? BreakpointValues.xxLargeLower : undefined;
+ const upper =
+ editBound !== 'no-upper' ? BreakpointValues.xxLargeUpper : undefined;
+ return unsafeCSS(`
+ @media screen ${breakPoints({ lower, upper })} {
+ ${styles}
+ }
+ `);
+}
+
+export function xxxLargeBreakPoint(styles: CSSResultGroup) {
+ const lower = BreakpointValues.xxxLargeLower;
+ return unsafeCSS(`
+ @media screen ${breakPoints({ lower })} {
+ ${styles}
+ }
+ `);
+}
+
+interface Bound {
+ lower?: number;
+ upper?: number;
+}
+
+function breakPoints({ lower, upper }: Bound) {
+ const output: Array = [];
+
+ if (lower) {
+ output.push(`(min-width: ${lower}px)`);
+ }
+
+ if (upper) {
+ output.push(`(max-width: ${upper}px)`);
+ }
+
+ return 'and ' + output.join(' and ');
+}
diff --git a/src/script/utils/css/fast-elements.ts b/src/script/utils/css/fast-elements.ts
new file mode 100644
index 00000000..378cde44
--- /dev/null
+++ b/src/script/utils/css/fast-elements.ts
@@ -0,0 +1,83 @@
+import { css } from 'lit';
+
+export const fastButtonCss = css`
+ fast-button {
+ color: var(--button-font-color);
+ height: var(--button-height);
+ width: var(--button-width);
+
+ border-radius: var(--button-radius);
+ box-shadow: var(--button-shadow);
+ }
+
+ fast-button:disabled::part(control) {
+ cursor: not-allowed;
+ }
+
+ fast-button::part(control) {
+ font-size: var(--font-size);
+ font-weight: var(--font-bold);
+ width: 100%;
+ padding-top: var(--padding-vertical);
+ padding-bottom: var(--padding-vertical);
+ padding-left: var(--padding-horizontal);
+ padding-right: var(--padding-horizontal);
+ }
+
+ fast-button.secondary {
+ background: var(--secondary-color);
+ color: var(--font-color);
+ border-color: transparent;
+ }
+
+ fast-button[appearance='lightweight'] {
+ --accent-foreground-rest: var(--secondary-font-color);
+ --accent-foreground-active: var(--font-color);
+ --accent-foreground-hover: var(--font-color);
+ }
+`;
+
+export const fastTextFieldCss = css`
+ fast-text-field {
+ --accent-fill-rest: var(--secondary-font-color);
+ --accent-fill-active: var(--font-color);
+ --accent-fill-hover: var(--font-color);
+ }
+
+ fast-text-field.error {
+ --neutral-foreground-rest: var(--error-color);
+ --accent-fill-rest: var(--error-color);
+ --accent-fill-active: var(--error-color);
+ }
+`;
+
+export const fastCheckboxCss = css`
+ fast-checkbox {
+ --accent-fill-rest: var(--link-color);
+ --accent-fill-active: var(--link-color);
+ --accent-fill-hover: var(--link-color);
+ }
+`;
+
+export const fastRadioCss = css`
+ fast-radio {
+ --neutral-fill-input-rest: var(--primary-background-color);
+ --accent-foreground-cut-rest: var(--primary-backgroud-color);
+ --accent-fill-rest: var(--link-color);
+ --accent-fill-active: var(--link-color);
+ --accent-fill-hover: var(--link-color);
+ }
+`;
+
+export const fastMenuCss = css`
+ fast-menu {
+ }
+
+ fast-menu-item {
+ --neutral-fill-input-rest: var(--primary-background-color);
+ --accent-foreground-cut-rest: var(--primary-backgroud-color);
+ --accent-fill-rest: var(--link-color);
+ --accent-fill-active: var(--link-color);
+ --accent-fill-hover: var(--link-color);
+ }
+`;
diff --git a/src/script/utils/css/hidden.ts b/src/script/utils/css/hidden.ts
new file mode 100644
index 00000000..b83a2ae3
--- /dev/null
+++ b/src/script/utils/css/hidden.ts
@@ -0,0 +1,72 @@
+import { css } from 'lit';
+
+export const hidden = css`
+ .hidden {
+ display: none;
+ visibility: none;
+ }
+`;
+
+export const hidden_sm = css`
+ @media screen and (max-width: 479px) {
+ .hidden-sm {
+ display: none;
+ visibility: none;
+ }
+ }
+`;
+
+export const hidden_med = css`
+ @media screen and (min-width: 480px) and (max-width: 639px) {
+ .hidden-med {
+ display: none;
+ visibility: none;
+ }
+ }
+`;
+
+export const hidden_lrg = css`
+ @media screen and (min-width: 640px) and (max-width: 1023px) {
+ .hidden-lrg {
+ display: none;
+ visibility: none;
+ }
+ }
+`;
+
+export const hidden_xlrg = css`
+ @media screen and (min-width: 1024px) and (max-width: 1365px) {
+ .hidden-xlrg {
+ display: none;
+ visibility: none;
+ }
+ }
+`;
+
+export const hidden_xxlrg = css`
+ @media screen and (min-width: 1366px) and (max-width: 1919px) {
+ .hidden-xxlrg {
+ display: none;
+ visibility: none;
+ }
+ }
+`;
+
+export const hidden_xxxlrg = css`
+ @media screen and (min-width: 1920px) {
+ .hidden-xxxlrg {
+ display: none;
+ visibility: none;
+ }
+ }
+`;
+
+export const hidden_all = css`
+ ${hidden}
+ ${hidden_sm}
+ ${hidden_med}
+ ${hidden_lrg}
+ ${hidden_xlrg}
+ ${hidden_xxlrg}
+ ${hidden_xxxlrg}
+`;
diff --git a/src/script/utils/customMerge.ts b/src/script/utils/customMerge.ts
new file mode 100644
index 00000000..460c88c3
--- /dev/null
+++ b/src/script/utils/customMerge.ts
@@ -0,0 +1,22 @@
+/* eslint-disable @typescript-eslint/no-explicit-any */
+// unfortunately deepmerge capitalizes on the ambiguity of any in the api and enforces it.
+
+export function uniqueElements(
+ key: (curr: T) => string
+): (x: any, y: any) => any {
+ return (target: Array, source: Array) => {
+ const map = new Map();
+ const totalArr = target.concat(source);
+ for (let i = 0; i < totalArr.length; i++) {
+ const curr = totalArr[i];
+
+ if (curr) {
+ if (!map.has(key(curr))) {
+ map.set(key(curr), curr);
+ }
+ }
+ }
+
+ return Array.from(map.values());
+ };
+}
diff --git a/src/script/utils/decorators.ts b/src/script/utils/decorators.ts
new file mode 100644
index 00000000..0712bcdd
--- /dev/null
+++ b/src/script/utils/decorators.ts
@@ -0,0 +1,11 @@
+export function memoizedReference(getter: () => T) {
+ return function (
+ target: unknown,
+ propertyKey: string,
+ descriptor: PropertyDescriptorMap
+ ) {
+ descriptor.value = getter();
+
+ console.log(target, propertyKey);
+ };
+}
diff --git a/src/script/utils/download.ts b/src/script/utils/download.ts
new file mode 100644
index 00000000..1903621d
--- /dev/null
+++ b/src/script/utils/download.ts
@@ -0,0 +1,23 @@
+import { fileSave, FileWithHandle } from "browser-fs-access";
+interface DownloadConfig {
+ id: string;
+ fileName: string;
+ url?: string;
+ blob?: Blob | FileWithHandle ;
+}
+
+export async function download(config: DownloadConfig) {
+ try {
+ const fsOpts = {
+ fileName: config.fileName || "PWABuilder Images",
+ extensions: ['zip'],
+ mimeTypes: ['application/zip'],
+ };
+
+ if (config.blob) {
+ await fileSave(config.blob, fsOpts)
+ }
+ } catch (e) {
+ console.error(e);
+ }
+}
diff --git a/src/script/utils/environment.ts b/src/script/utils/environment.ts
new file mode 100644
index 00000000..a88fed09
--- /dev/null
+++ b/src/script/utils/environment.ts
@@ -0,0 +1,18 @@
+export const env = {
+ manifestFinderUrl:
+ 'https://pwabuilder-manifest-finder.azurewebsites.net/api/findmanifest',
+ serviceWorkerUrl:
+ 'https://pwabuilder-serviceworker-finder.centralus.cloudapp.azure.com',
+ api: 'https://pwabuilder-api-pre.azurewebsites.net',
+ testAPIUrl: 'https://pwabuilder-tests-dev.azurewebsites.net/api',
+ windowsPackageGeneratorUrl:
+ 'https://pwabuilder-win-chromium-platform.centralus.cloudapp.azure.com/msix/generatezip',
+ androidPackageGeneratorUrl: 'https://pwabuilder-cloudapk.azurewebsites.net',
+ imageGeneratorUrl:
+ 'https://appimagegenerator-prod.azurewebsites.net/api/image',
+ safeUrlFetcher:
+ 'https://pwabuilder-safe-url.azurewebsites.net/api/getsafeurl',
+ webPackageGeneratorUrl: 'https://pwabuilder-web-platform.azurewebsites.net/',
+ ratingUrl:
+ 'https://pwabuilder-url-logger-api.azurewebsites.net/api/analyses/getaveragescores',
+};
diff --git a/src/script/utils/error.ts b/src/script/utils/error.ts
new file mode 100644
index 00000000..b3dfcdb9
--- /dev/null
+++ b/src/script/utils/error.ts
@@ -0,0 +1,16 @@
+import { getURL } from "../services/app-info";
+
+export function getReportErrorUrl(errorMessage: string, platform: string): string {
+ if (!errorMessage) {
+ return "https://github.com/pwa-builder/pwabuilder/issues/new";
+ }
+
+ console.log('error message in error', errorMessage);
+ const title = encodeURIComponent(`Error generating ${platform} package`);
+ const message = encodeURIComponent(
+ `I received the following error when generating a package for ${
+ getURL() || "my app"
+ }\n\n${errorMessage}`
+ );
+ return `https://github.com/pwa-builder/pwabuilder/issues/new?title=${title}&body=${message}`;
+}
\ No newline at end of file
diff --git a/src/script/utils/events.ts b/src/script/utils/events.ts
new file mode 100644
index 00000000..647a1d16
--- /dev/null
+++ b/src/script/utils/events.ts
@@ -0,0 +1,10 @@
+import debounce from 'lodash-es/debounce';
+
+export const domEventEmitter = new EventTarget();
+
+window.addEventListener(
+ 'resize',
+ debounce((e: Event) => {
+ domEventEmitter.dispatchEvent(e);
+ }, 1000)
+);
diff --git a/src/script/utils/fast-element.ts b/src/script/utils/fast-element.ts
new file mode 100644
index 00000000..7a043622
--- /dev/null
+++ b/src/script/utils/fast-element.ts
@@ -0,0 +1,6 @@
+export type FastButtonAppearance =
+ | 'accent'
+ | 'lightweight'
+ | 'neutral'
+ | 'outline'
+ | 'stealth';
diff --git a/src/script/utils/hasChanged.ts b/src/script/utils/hasChanged.ts
new file mode 100644
index 00000000..a2dcc24a
--- /dev/null
+++ b/src/script/utils/hasChanged.ts
@@ -0,0 +1,20 @@
+export function arrayHasChanged(value: Array, unknownValue: Array) {
+ if (!value || !unknownValue) {
+ return false;
+ }
+
+ return (
+ value.length !== unknownValue.length ||
+ value
+ .map((val, i) => val === unknownValue[i])
+ .reduce((acc, cur) => acc && cur, true)
+ );
+}
+
+export function objectHasChanged(value: T, unknownValue: T) {
+ if (!value || !unknownValue) {
+ return false;
+ }
+
+ return JSON.stringify(value) === JSON.stringify(unknownValue);
+}
diff --git a/src/script/utils/icons.ts b/src/script/utils/icons.ts
new file mode 100644
index 00000000..ceb48f0b
--- /dev/null
+++ b/src/script/utils/icons.ts
@@ -0,0 +1,87 @@
+import { Icon } from './interfaces';
+
+/**
+ * Finds an icon matching the specified purpose and desired dimensions.
+ * @param mimeType Should be an image mime type, e.g. "image/png", or null or empty to ignore format.
+ */
+export function findSuitableIcon(
+ icons: Icon[] | undefined,
+ purpose: 'any' | 'maskable' | 'monochrome' | null,
+ desiredWidth: number,
+ desiredHeight: number,
+ mimeType: string | undefined
+): Icon | undefined {
+ if (!icons || icons.length === 0) {
+ return undefined;
+ }
+
+ const desiredSize = `${desiredWidth}x${desiredHeight}`;
+ const iconHasPurpose = (i: Icon) =>
+ (i.purpose || 'any').split(' ').some(p => p === purpose);
+ const iconHasSize = (i: Icon) =>
+ (i.sizes || '0x0').split(' ').some(size => size === desiredSize);
+ const iconIsEmbedded = (i: Icon) => i.src.includes('data:image');
+ const iconHasMimeType = (i: Icon) =>
+ i.type === mimeType ||
+ (!i.type && mimeType === 'image/png' && i.src && i.src.endsWith('.png')) || // best guess when the manifest doesn't specify the type of image
+ (!i.type && mimeType === 'image/jpeg' && i.src && i.src.endsWith('.jpg')); // best guess when the manifest doesn't specify the type of image
+
+ // See if we have an exact match for size and purpose.
+ const exactMatch = icons.find(
+ i =>
+ iconHasPurpose(i) &&
+ iconHasSize(i) &&
+ !iconIsEmbedded(i) &&
+ iconHasMimeType(i)
+ );
+ if (exactMatch) {
+ return exactMatch;
+ }
+
+ console.log('purpose', purpose);
+
+ if (purpose === null) {
+ console.log('trying to find an icon with no purpose specified');
+ const withoutPurpose = icons.find(
+ i =>
+ iconHasSize(i) &&
+ !iconIsEmbedded(i) &&
+ iconHasMimeType(i)
+ );
+
+ console.log('without purpose', withoutPurpose)
+ if (withoutPurpose) {
+ return withoutPurpose;
+ }
+ }
+
+ // Find a larger one if we're able.
+ type IconDimension = { width: number; height: number };
+ const getIconDimensions: (icon: Icon) => IconDimension[] = i =>
+ (i.sizes || '0x0').split(' ').map(size => {
+ const dimensions = size.split('x');
+ return {
+ width: Number.parseInt(dimensions[0] || '0'),
+ height: Number.parseInt(dimensions[1] || '0'),
+ };
+ });
+ const iconIsLarger = (i: Icon) =>
+ getIconDimensions(i).some(
+ dimensions =>
+ dimensions.width >= desiredWidth && dimensions.height >= desiredHeight
+ );
+ const isExpectingSquare = desiredWidth === desiredHeight;
+ const isSquare = (i: Icon) =>
+ getIconDimensions(i).some(d => d.width === d.height);
+ const matchesSquareRequirement = (i: Icon) =>
+ !isExpectingSquare || isSquare(i);
+ const largerIcon = icons.find(
+ i =>
+ iconHasPurpose(i) &&
+ iconIsLarger(i) &&
+ !iconIsEmbedded(i) &&
+ iconHasMimeType(i) &&
+ matchesSquareRequirement(i)
+ );
+ return largerIcon || undefined;
+}
diff --git a/src/script/utils/id.ts b/src/script/utils/id.ts
new file mode 100644
index 00000000..3010cce4
--- /dev/null
+++ b/src/script/utils/id.ts
@@ -0,0 +1,10 @@
+export function increment(step = 1, start = 0, end?: number) {
+ let i = start;
+
+ return (function* incrementGen() {
+ while (i < end || !end) {
+ yield i;
+ i += step;
+ }
+ })();
+}
diff --git a/src/script/utils/interfaces.codemirror.ts b/src/script/utils/interfaces.codemirror.ts
new file mode 100644
index 00000000..f3292264
--- /dev/null
+++ b/src/script/utils/interfaces.codemirror.ts
@@ -0,0 +1,14 @@
+import { Transaction } from '@codemirror/state';
+
+export enum CodeEditorEvents {
+ sync = 'code-editor-sync',
+ update = 'code-editor-update',
+}
+
+export interface CodeEditorSyncEvent {
+ text: string;
+}
+
+export interface CodeEditorUpdateEvent {
+ transaction: Transaction;
+}
diff --git a/src/script/utils/interfaces.components.ts b/src/script/utils/interfaces.components.ts
new file mode 100644
index 00000000..1e7569de
--- /dev/null
+++ b/src/script/utils/interfaces.components.ts
@@ -0,0 +1,6 @@
+export interface AppButtonElement {
+ type: string;
+ colorMode: string;
+ appearance: string;
+ disabled: boolean;
+}
diff --git a/src/script/utils/interfaces.ts b/src/script/utils/interfaces.ts
new file mode 100644
index 00000000..bd80deb2
--- /dev/null
+++ b/src/script/utils/interfaces.ts
@@ -0,0 +1,188 @@
+export type Lazy = T | undefined;
+
+export enum AppEvents {
+ manifestUpdate = 'MANIFEST_UPDATE',
+}
+
+export interface Manifest {
+ backgroundColor: string | undefined;
+ description: string | undefined;
+ dir: string | undefined;
+ display: string;
+ lang: string | undefined;
+ name: string | undefined;
+ orientation?:
+ | 'any'
+ | 'natural'
+ | 'landscape'
+ | 'portrait'
+ | 'portrait-primary'
+ | 'portrait-secondary'
+ | 'landscape-primary'
+ | 'landscape-secondary'
+ | null;
+ preferRelatedApplications?: boolean;
+ relatedApplications?: RelatedApplication[];
+ scope: string | undefined;
+ shortName: string | undefined;
+ startUrl: string | undefined;
+ themeColor: string | undefined;
+ generated?: boolean | undefined;
+ url: string | undefined;
+ shortcuts?: ShortcutItem[];
+ categories?: string[];
+ screenshots?: Icon[];
+ iarcRatingId?: string;
+ icons?: Icon[];
+ shareTarget?: ShareTarget;
+
+ // for custom properties as well as using object notations: manifest[key]
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ // @ts-ignore - accomodate custom entries... these can be a pain
+ [key: string]: string | boolean | undefined | Array | any;
+}
+
+export interface ShortcutItem {
+ name: string;
+ url: string;
+ description?: string;
+ short_name?: string;
+ icons?: Icon[];
+}
+
+export interface Icon {
+ src: string;
+ generated?: boolean;
+ type?: string;
+ sizes?: string;
+ purpose?: 'any' | 'maskable' | 'monochrome';
+ platform?: string;
+}
+
+export interface RelatedApplication {
+ platform: string;
+ url?: string | null;
+ id?: string | null;
+ min_version?: string | null;
+ fingerprints?: Fingerprint[];
+}
+
+export interface Fingerprint {
+ type: string;
+ value: string;
+}
+
+export interface ShareTarget {
+ action?: string;
+ method?: string;
+ enctype?: string;
+ params?: ShareTargetParams;
+}
+
+export interface ShareTargetParams {
+ title?: string;
+ text?: string;
+ url?: string;
+ files?: FilesParams[];
+}
+
+export interface FilesParams {
+ name: string;
+ accept: string[];
+}
+
+export interface ManifestDetectionResult {
+ content: Manifest;
+ format: 'w3c' | 'chromeos' | 'edgeextension' | 'windows10' | 'firefox';
+ generatedUrl: string;
+ default: {
+ short_name: string;
+ };
+ id: string;
+ generated: boolean;
+ errors: [];
+ suggestions: [];
+ warnings: [];
+ error?: string;
+}
+
+export interface RawTestResult {
+ manifest: Array | boolean;
+ service_worker: Array;
+ security: Array;
+}
+
+export interface TestResult {
+ infoString: string;
+ result: boolean;
+ category: string;
+}
+
+export interface OrganizedResults {
+ required: Array;
+ recommended: Array;
+ optional: Array;
+}
+
+export interface ServiceWorkerDetectionResult {
+ hasSW: boolean;
+ url: string | null;
+ hasPushRegistration: boolean;
+ serviceWorkerDetectionTimedOut: boolean;
+ noServiceWorkerFoundDetails: string | null;
+ hasBackgroundSync: boolean;
+ hasPeriodicBackgroundSync: boolean;
+}
+
+export interface SecurityDataResults {
+ data: {
+ isHTTPS: true;
+ validProtocol: true;
+ valid: true;
+ };
+}
+
+export enum Status {
+ DONE = 'done',
+ ACTIVE = 'active',
+ PENDING = 'pending',
+}
+
+export interface ProgressItem {
+ name: string;
+ done: Status;
+}
+
+export interface Progress {
+ header: ListHeader;
+ location: string;
+ done: Status;
+ items: Array;
+}
+
+export interface ProgressList {
+ progress: Array;
+}
+
+export enum ListHeader {
+ TEST = 'Test',
+ REVIEW = 'Review',
+ PUBLISH = 'Package',
+ COMPLETE = 'Complete',
+}
+
+export interface ScoreEvent {
+ score: number;
+}
+
+export interface FileInputDetails {
+ input: HTMLInputElement;
+}
+
+export interface ModalCloseEvent {
+ modalId: string;
+}
+
+export interface UpdateEditorPayload {
+ manifest: Manifest;
+}
diff --git a/src/script/utils/keyboard.ts b/src/script/utils/keyboard.ts
new file mode 100644
index 00000000..84c604b5
--- /dev/null
+++ b/src/script/utils/keyboard.ts
@@ -0,0 +1,5 @@
+export enum KeyboardKeys {
+ escape = 'Escape',
+ enter = 'Enter',
+ tag = 'Tab',
+}
diff --git a/src/script/utils/manifest-validation.ts b/src/script/utils/manifest-validation.ts
new file mode 100644
index 00000000..f8de35ff
--- /dev/null
+++ b/src/script/utils/manifest-validation.ts
@@ -0,0 +1,19 @@
+export function validateScreenshotUrlsList(urls: Array) {
+ const results: Array = [];
+
+ const length = urls.length;
+ for (let i = 0; i < length; i++) {
+ try {
+ const urlToHandle = urls[i];
+
+ if (urlToHandle) {
+ new URL(urlToHandle);
+ }
+ results[i] = true;
+ } catch (e) {
+ results[i] = false;
+ }
+ }
+
+ return results;
+}
diff --git a/src/script/utils/url.ts b/src/script/utils/url.ts
new file mode 100644
index 00000000..c228f2a2
--- /dev/null
+++ b/src/script/utils/url.ts
@@ -0,0 +1,90 @@
+export function isUrl(url: string): boolean {
+ try {
+ return typeof new URL(url) === 'string';
+ } catch (e) {
+ if (!(e instanceof TypeError)) {
+ console.log(e);
+ }
+ }
+
+ return false;
+}
+
+export function resolveUrl(
+ baseUrl: string | undefined | null,
+ url: string | undefined | null
+): URL | undefined {
+ let parsedUrl: URL | undefined = undefined;
+
+ try {
+ if (url) {
+ parsedUrl = new URL(url);
+ }
+ } catch (e) {
+ if (!(e instanceof TypeError)) {
+ console.log('url has a problem', url);
+ console.error(e);
+ }
+ }
+
+ if (!parsedUrl) {
+ try {
+ if (baseUrl && url) {
+ parsedUrl = new URL(url, baseUrl);
+ }
+ } catch (e) {
+ console.log('url has a problem', baseUrl, url);
+ console.error(e);
+ }
+ }
+
+ if (!parsedUrl && baseUrl) {
+ return new URL(baseUrl);
+ }
+
+ return parsedUrl;
+}
+
+export function validateUrl(url: string, base?: string): string | null {
+ try {
+ new URL(url, base);
+ return null;
+ } catch (urlError) {
+ return urlError;
+ }
+}
+
+export async function cleanUrl(url: string) {
+ let cleanedUrl: string | undefined;
+
+ if (url && !url.startsWith('http') && !url.startsWith('https')) {
+ cleanedUrl = 'https://' + url;
+ }
+
+ if (cleanedUrl) {
+ const test = await isValidURL(cleanedUrl);
+
+ if (
+ test === false &&
+ !url.toLowerCase().startsWith('http://')
+ ) {
+ throw "This error means that you may have a bad https cert or the url may not be correct";
+ } else {
+ return cleanedUrl;
+ }
+ } else {
+ // original URL is ok
+ return url;
+ }
+}
+
+export function isValidURL(str) {
+ // from https://stackoverflow.com/a/5717133
+ var pattern = new RegExp('^(https?:\\/\\/)?'+
+ '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|'+
+ '((\\d{1,3}\\.){3}\\d{1,3}))'+
+ '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*'+
+ '(\\?[;&a-z\\d%_.~+=-]*)?'+
+ '(\\#[-a-z\\d_]*)?$','i');
+ return !!pattern.test(str);
+}
diff --git a/src/script/utils/wc-events.ts b/src/script/utils/wc-events.ts
new file mode 100644
index 00000000..154b0c54
--- /dev/null
+++ b/src/script/utils/wc-events.ts
@@ -0,0 +1 @@
+export const debounceEvent = 'debounce-event';
diff --git a/src/script/utils/win-validation.ts b/src/script/utils/win-validation.ts
new file mode 100644
index 00000000..a9dbf341
--- /dev/null
+++ b/src/script/utils/win-validation.ts
@@ -0,0 +1,223 @@
+import { Manifest } from './interfaces';
+import { validateUrl } from './url';
+
+/**
+ * Publisher options for the Windows Package generation.
+ */
+export interface WindowsPublisherOptions {
+ displayName: string;
+ commonName: string;
+}
+
+/**
+ * Images to use for a Windows PWA. Should match server implementation: https://github.com/pwa-builder/pwabuilder-windows-chromium/blob/master/Models/WindowsImages.cs
+ */
+export interface WindowsImageOptions {
+ baseImage: string | null;
+ backgroundColor?: string;
+ padding?: number;
+}
+
+export interface WindowsPackageOptions {
+ name: string;
+ packageId: string;
+ url: string;
+ version: string;
+ allowSigning?: boolean;
+ edgeChannel?: 'stable' | 'beta' | 'dev' | 'canary' | 'internal';
+ edgeLaunchArgs?: string;
+ appUserModelId?: string;
+ generateModernPackage?: boolean;
+ manifestUrl?: string;
+ manifest?: Manifest;
+ classicPackage?: {
+ generate?: boolean;
+ version?: string;
+ url?: string;
+ };
+ edgeHtmlPackage?: {
+ generate?: boolean;
+ version?: string;
+ url?: string;
+ urlsWithWindowsRuntimeAccess?: string[];
+ };
+ images?: WindowsImageOptions;
+ publisher: WindowsPublisherOptions;
+}
+
+type WindowsPackageValidationError = {
+ field: keyof WindowsPackageOptions | keyof WindowsPublisherOptions | null;
+ error: string;
+};
+
+type WindowsVersionInfo = {
+ name: keyof WindowsPackageOptions | keyof WindowsPublisherOptions | null;
+ label: string;
+ value: string | null;
+};
+
+export function validatePackageID(id: string) {
+ if (id && id.length >= 2) {
+ const newID = id.replace(/\s+/g, '');
+ return newID;
+ } else {
+ throw `Package ID should be atleast 3 characters long: ${id}`;
+ }
+}
+
+const DISALLOWED_WINDOWS_PACKAGE_CHARS_REGEX = /[^a-zA-Z0-9_]/g;
+
+export function generateWindowsPackageId(host: string): string {
+ const parts = host
+ .split('.')
+ .reverse()
+ .map(p => p.trim().toLowerCase())
+ .filter(p => p.length > 0)
+ .map(p => p.replace(DISALLOWED_WINDOWS_PACKAGE_CHARS_REGEX, '-'));
+ parts.push('edge');
+ return parts.join('.');
+}
+
+export function validateWindowsOptions(
+ options: WindowsPackageOptions
+): WindowsPackageValidationError[] {
+ const validationErrors: WindowsPackageValidationError[] = [];
+ if (!options) {
+ validationErrors.push({ field: null, error: 'No options specified ' });
+ return validationErrors;
+ }
+
+ if (!options.packageId) {
+ validationErrors.push({ field: 'packageId', error: 'No package ID' });
+ }
+
+ if (!options.name || options.name.trim().length === 0) {
+ validationErrors.push({ field: 'name', error: 'App name required' });
+ } else if (options.name.trim().length >= 256) {
+ validationErrors.push({
+ field: 'name',
+ error: 'App name must be less than 256 characters',
+ });
+ }
+
+ const versionTrimmed = (options.version || '').trim();
+ // For Anaheim packages, we need to validate both version and classic version.
+ if (!options.classicPackage) {
+ validationErrors.push({
+ field: 'classicPackage',
+ error: 'Must have classic package information',
+ });
+ } else {
+ const classicVersionTrimmed = (options.classicPackage.version || '').trim();
+ if (!versionTrimmed || !classicVersionTrimmed) {
+ validationErrors.push({
+ field: 'version',
+ error: 'Must have an app version and a classic package version',
+ });
+ } else {
+ validationErrors.push(
+ ...validateWindowsAnaheimPackageVersions(
+ versionTrimmed,
+ classicVersionTrimmed
+ )
+ );
+ }
+ }
+
+ // Validating publisher options
+ if (!options.publisher) {
+ validationErrors.push({
+ field: 'publisher',
+ error: 'Publisher information required.',
+ });
+ } else {
+ if (!options.publisher.commonName) {
+ validationErrors.push({
+ field: 'commonName',
+ error: 'Publisher ID required.',
+ });
+ }
+
+ if (!options.publisher.displayName) {
+ validationErrors.push({
+ field: 'displayName',
+ error: 'Publisher display name required.',
+ });
+ }
+ }
+
+ if (!options.url) {
+ validationErrors.push({
+ field: 'url',
+ error:
+ "Start URL must be specified. If your start URL is the same as Host, you can use '/' as the start URL.",
+ });
+ } else {
+ const startUrlError = validateUrl(options.url);
+ if (startUrlError) {
+ validationErrors.push({ field: 'url', error: 'URL is invalid' });
+ }
+ }
+
+ return validationErrors;
+}
+
+function validateWindowsAnaheimPackageVersions(
+ version: string,
+ classicVersion: string
+): WindowsPackageValidationError[] {
+ const versionErrors: WindowsPackageValidationError[] = [];
+
+ // Common validation run on both version and classic version.
+ const versionInfos: WindowsVersionInfo[] = [
+ { name: 'version', label: 'Version', value: version },
+ { name: 'classicPackage', label: 'Classic version', value: classicVersion },
+ ];
+ for (const versionInfo of versionInfos) {
+ versionErrors.push(...validateVersion(versionInfo));
+ }
+
+ // Make sure the version is > classic version
+ if (version <= classicVersion) {
+ versionErrors.push({
+ field: 'version',
+ error: 'App version must be greater than classic package version',
+ });
+ }
+
+ return versionErrors;
+}
+
+function validateVersion(
+ versionInfo: WindowsVersionInfo
+): WindowsPackageValidationError[] {
+ const versionErrors: WindowsPackageValidationError[] = [];
+
+ // Version must be 3 segments ("1.0.0") - the 4th segment is reserved for Store use.
+ const segments = versionInfo.value ? versionInfo.value.split('.') : [];
+ if (segments.length !== 3) {
+ versionErrors.push({
+ field: versionInfo.name,
+ error: `${versionInfo.label} must have 3 segments: 1.0.0.`,
+ });
+ }
+
+ // All the segments must be numbers.
+ if (segments.some(s => !s.match(/^(0|[1-9][0-9]*)$/))) {
+ versionErrors.push({
+ field: versionInfo.name,
+ error: `${versionInfo.label} must only contain integers separated by periods.`,
+ });
+ }
+
+ // Version must be 1.0.0 or greater; Store doesn't support versions starting with zero.
+ const segmentValues = segments.map(s => parseInt(s));
+ if (segmentValues && segmentValues.length > 0 && segmentValues[0] <= 0) {
+ versionErrors.push({
+ field: versionInfo.name,
+ error: `${versionInfo.label} must start with an integer >= 1.`,
+ });
+ }
+
+ return versionErrors;
+}
diff --git a/static/Images/android-screen.png b/static/Images/android-screen.png
deleted file mode 100644
index d3e741af..00000000
Binary files a/static/Images/android-screen.png and /dev/null differ
diff --git a/static/Images/assets/icons/apple-icon-06144a2a7b5101d447ecb4832502e73e.png b/static/Images/assets/icons/apple-icon-06144a2a7b5101d447ecb4832502e73e.png
deleted file mode 100644
index 174105c2..00000000
Binary files a/static/Images/assets/icons/apple-icon-06144a2a7b5101d447ecb4832502e73e.png and /dev/null differ
diff --git a/static/Images/assets/icons/apple-icon-114x114-a2731f540851db0ed9fb4a7c74e2c6ce.png b/static/Images/assets/icons/apple-icon-114x114-a2731f540851db0ed9fb4a7c74e2c6ce.png
deleted file mode 100644
index adbf9a95..00000000
Binary files a/static/Images/assets/icons/apple-icon-114x114-a2731f540851db0ed9fb4a7c74e2c6ce.png and /dev/null differ
diff --git a/static/Images/assets/icons/apple-icon-120x120-06144a2a7b5101d447ecb4832502e73e.png b/static/Images/assets/icons/apple-icon-120x120-06144a2a7b5101d447ecb4832502e73e.png
deleted file mode 100644
index 174105c2..00000000
Binary files a/static/Images/assets/icons/apple-icon-120x120-06144a2a7b5101d447ecb4832502e73e.png and /dev/null differ
diff --git a/static/Images/assets/icons/apple-icon-144x144-487a503e5cb29bbe0df7296db4093b7e.png b/static/Images/assets/icons/apple-icon-144x144-487a503e5cb29bbe0df7296db4093b7e.png
deleted file mode 100644
index b018a2c2..00000000
Binary files a/static/Images/assets/icons/apple-icon-144x144-487a503e5cb29bbe0df7296db4093b7e.png and /dev/null differ
diff --git a/static/Images/assets/icons/apple-icon-152x152-b600c0b40a21bbb9f8c1d18acde168e9.png b/static/Images/assets/icons/apple-icon-152x152-b600c0b40a21bbb9f8c1d18acde168e9.png
deleted file mode 100644
index 27fde019..00000000
Binary files a/static/Images/assets/icons/apple-icon-152x152-b600c0b40a21bbb9f8c1d18acde168e9.png and /dev/null differ
diff --git a/static/Images/assets/icons/apple-icon-180x180-f0f5be1ded11c7ec66b00dd23c277a5d.png b/static/Images/assets/icons/apple-icon-180x180-f0f5be1ded11c7ec66b00dd23c277a5d.png
deleted file mode 100644
index 0d643e36..00000000
Binary files a/static/Images/assets/icons/apple-icon-180x180-f0f5be1ded11c7ec66b00dd23c277a5d.png and /dev/null differ
diff --git a/static/Images/assets/icons/apple-icon-192x192-frt5be1ded11c7ec66b00dd234677a5d.png b/static/Images/assets/icons/apple-icon-192x192-frt5be1ded11c7ec66b00dd234677a5d.png
deleted file mode 100644
index f75a6a27..00000000
Binary files a/static/Images/assets/icons/apple-icon-192x192-frt5be1ded11c7ec66b00dd234677a5d.png and /dev/null differ
diff --git a/static/Images/assets/icons/apple-icon-512x512-frt5be1ded11c593udsdsdd29fur6732.png b/static/Images/assets/icons/apple-icon-512x512-frt5be1ded11c593udsdsdd29fur6732.png
deleted file mode 100644
index 62c7f920..00000000
Binary files a/static/Images/assets/icons/apple-icon-512x512-frt5be1ded11c593udsdsdd29fur6732.png and /dev/null differ
diff --git a/static/Images/assets/icons/apple-icon-57x57-b82ef058b133f3197df61c326fa7cd6d.png b/static/Images/assets/icons/apple-icon-57x57-b82ef058b133f3197df61c326fa7cd6d.png
deleted file mode 100644
index 6ee70fa5..00000000
Binary files a/static/Images/assets/icons/apple-icon-57x57-b82ef058b133f3197df61c326fa7cd6d.png and /dev/null differ
diff --git a/static/Images/assets/icons/apple-icon-60x60-b66cbd77323ac1bf15ad29a64ad5827f.png b/static/Images/assets/icons/apple-icon-60x60-b66cbd77323ac1bf15ad29a64ad5827f.png
deleted file mode 100644
index c7d02595..00000000
Binary files a/static/Images/assets/icons/apple-icon-60x60-b66cbd77323ac1bf15ad29a64ad5827f.png and /dev/null differ
diff --git a/static/Images/assets/icons/apple-icon-72x72-66bbf8447788cee426eebcddfa8eede8.png b/static/Images/assets/icons/apple-icon-72x72-66bbf8447788cee426eebcddfa8eede8.png
deleted file mode 100644
index b6917be0..00000000
Binary files a/static/Images/assets/icons/apple-icon-72x72-66bbf8447788cee426eebcddfa8eede8.png and /dev/null differ
diff --git a/static/Images/assets/icons/apple-icon-76x76-8e88034967133f6a0454fe32e2070ffd.png b/static/Images/assets/icons/apple-icon-76x76-8e88034967133f6a0454fe32e2070ffd.png
deleted file mode 100644
index 62b0704d..00000000
Binary files a/static/Images/assets/icons/apple-icon-76x76-8e88034967133f6a0454fe32e2070ffd.png and /dev/null differ
diff --git a/static/Images/assets/icons/ms-icon-144x144-487a503e5cb29bbe0df7296db4093b7e.png b/static/Images/assets/icons/ms-icon-144x144-487a503e5cb29bbe0df7296db4093b7e.png
deleted file mode 100644
index b018a2c2..00000000
Binary files a/static/Images/assets/icons/ms-icon-144x144-487a503e5cb29bbe0df7296db4093b7e.png and /dev/null differ
diff --git a/static/Images/assets/screenShots/s1.png b/static/Images/assets/screenShots/s1.png
deleted file mode 100644
index 0319ef68..00000000
Binary files a/static/Images/assets/screenShots/s1.png and /dev/null differ
diff --git a/static/Images/assets/screenShots/s2.png b/static/Images/assets/screenShots/s2.png
deleted file mode 100644
index 7ca7a8a8..00000000
Binary files a/static/Images/assets/screenShots/s2.png and /dev/null differ
diff --git a/static/Images/assets/screenShots/s3.png b/static/Images/assets/screenShots/s3.png
deleted file mode 100644
index 02c27852..00000000
Binary files a/static/Images/assets/screenShots/s3.png and /dev/null differ
diff --git a/static/Images/assets/screenShots/s4.png b/static/Images/assets/screenShots/s4.png
deleted file mode 100644
index c7b7d3a8..00000000
Binary files a/static/Images/assets/screenShots/s4.png and /dev/null differ
diff --git a/static/Images/assets/screenShots/s5.png b/static/Images/assets/screenShots/s5.png
deleted file mode 100644
index 25c6c90e..00000000
Binary files a/static/Images/assets/screenShots/s5.png and /dev/null differ
diff --git a/static/Images/assets/screenShots/s6.png b/static/Images/assets/screenShots/s6.png
deleted file mode 100644
index 8877af8b..00000000
Binary files a/static/Images/assets/screenShots/s6.png and /dev/null differ
diff --git a/static/Images/favicon-16x16.png b/static/Images/favicon-16x16.png
deleted file mode 100644
index 78e24feb..00000000
Binary files a/static/Images/favicon-16x16.png and /dev/null differ
diff --git a/static/Images/favicon-32x32.png b/static/Images/favicon-32x32.png
deleted file mode 100644
index 061781c1..00000000
Binary files a/static/Images/favicon-32x32.png and /dev/null differ
diff --git a/static/Images/pwa-screen.png b/static/Images/pwa-screen.png
deleted file mode 100644
index d567e7b3..00000000
Binary files a/static/Images/pwa-screen.png and /dev/null differ
diff --git a/static/Images/pwabuilder-screen.png b/static/Images/pwabuilder-screen.png
deleted file mode 100644
index 255c4743..00000000
Binary files a/static/Images/pwabuilder-screen.png and /dev/null differ
diff --git a/static/Images/teams-icon.png b/static/Images/teams-icon.png
deleted file mode 100644
index 2869d230..00000000
Binary files a/static/Images/teams-icon.png and /dev/null differ
diff --git a/static/Images/teams-screen.png b/static/Images/teams-screen.png
deleted file mode 100644
index 1c56966e..00000000
Binary files a/static/Images/teams-screen.png and /dev/null differ
diff --git a/static/awa-register.js b/static/awa-register.js
deleted file mode 100644
index d1628d23..00000000
--- a/static/awa-register.js
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-var config = {
- autoCapture: {
- lineage:true
- },
- coreData: {
- appId: "PWABuilder",
- market: "en-us"
- }
-};
-awa.init(config);
diff --git a/static/copyButton.js b/static/copyButton.js
deleted file mode 100644
index fde2db0c..00000000
--- a/static/copyButton.js
+++ /dev/null
@@ -1,118 +0,0 @@
-let tmpl = document.createElement('template');
-tmpl.innerHTML = `
-
-
-
-
-
-`;
-
-
-class CopyButton extends HTMLElement {
-
- constructor() {
- super(); // always call super() first in the constructor.
-
- // Attach a shadow root to the element.
- let shadowRoot = this.attachShadow({mode: 'open'});
- shadowRoot.appendChild(tmpl.content.cloneNode(true));
-
- shadowRoot.querySelector('button').addEventListener('click', () => {
-
- if (this.codeurl) {
- this.getCode();
- }
- });
- }
-
- static get observedAttributes() {
- return ['codeurl'];
- }
-
- get codeurl() {
- return this.hasAttribute('codeurl');
- }
-
- set codeurl(val) {
- if (val) {
- this.setAttribute('codeurl', val);
- } else {
- this.removeAttribute('codeurl');
- }
- }
-
- async copyCode(data) {
- if (navigator.clipboard) {
- try {
- await navigator.clipboard.writeText(data);
- } catch (err) {
- console.error(err);
- }
- }
- else {
- const clipScript = document.createElement('script');
- clipScript.src = "https://unpkg.com/clipboard@2/dist/clipboard.min.js";
- this.shadowRoot.appendChild(clipScript);
-
- clipScript.addEventListener('load', () => {
- let realClip = new ClipboardJS(this.shadowRoot.querySelector('button'));
-
- realClip.on("success", e => {
- e.clearSelection();
- });
-
- realClip.on("error", e => {
- console.error("Trigger:", e.trigger);
- });
- })
-
- }
- }
-
- async getCode() {
- const codeURL = this.getAttribute('codeurl');
-
- if (codeURL) {
- const response = await fetch(codeURL);
- const data = await response.text();
-
-
- this.shadowRoot.querySelector('button').setAttribute('data-clipboard-text', data);
-
- setTimeout(() => {
- this.copyCode(data);
-
- this.shadowRoot.querySelector('button').classList.add('copied');
- this.shadowRoot.querySelector('button').textContent = "Copied!"
- }, 500)
-
- }
- }
-}
-
-window.customElements.define('copy-button', CopyButton);
\ No newline at end of file
diff --git a/static/css/all.css b/static/css/all.css
deleted file mode 100644
index ba15e192..00000000
--- a/static/css/all.css
+++ /dev/null
@@ -1,4463 +0,0 @@
-/*!
- * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-.fa,
-.fas,
-.far,
-.fal,
-.fad,
-.fab {
- -moz-osx-font-smoothing: grayscale;
- -webkit-font-smoothing: antialiased;
- display: inline-block;
- font-style: normal;
- font-variant: normal;
- text-rendering: auto;
- line-height: 1; }
-
-.fa-lg {
- font-size: 1.33333em;
- line-height: 0.75em;
- vertical-align: -.0667em; }
-
-.fa-xs {
- font-size: .75em; }
-
-.fa-sm {
- font-size: .875em; }
-
-.fa-1x {
- font-size: 1em; }
-
-.fa-2x {
- font-size: 2em; }
-
-.fa-3x {
- font-size: 3em; }
-
-.fa-4x {
- font-size: 4em; }
-
-.fa-5x {
- font-size: 5em; }
-
-.fa-6x {
- font-size: 6em; }
-
-.fa-7x {
- font-size: 7em; }
-
-.fa-8x {
- font-size: 8em; }
-
-.fa-9x {
- font-size: 9em; }
-
-.fa-10x {
- font-size: 10em; }
-
-.fa-fw {
- text-align: center;
- width: 1.25em; }
-
-.fa-ul {
- list-style-type: none;
- margin-left: 2.5em;
- padding-left: 0; }
- .fa-ul > li {
- position: relative; }
-
-.fa-li {
- left: -2em;
- position: absolute;
- text-align: center;
- width: 2em;
- line-height: inherit; }
-
-.fa-border {
- border: solid 0.08em #eee;
- border-radius: .1em;
- padding: .2em .25em .15em; }
-
-.fa-pull-left {
- float: left; }
-
-.fa-pull-right {
- float: right; }
-
-.fa.fa-pull-left,
-.fas.fa-pull-left,
-.far.fa-pull-left,
-.fal.fa-pull-left,
-.fab.fa-pull-left {
- margin-right: .3em; }
-
-.fa.fa-pull-right,
-.fas.fa-pull-right,
-.far.fa-pull-right,
-.fal.fa-pull-right,
-.fab.fa-pull-right {
- margin-left: .3em; }
-
-.fa-spin {
- -webkit-animation: fa-spin 2s infinite linear;
- animation: fa-spin 2s infinite linear; }
-
-.fa-pulse {
- -webkit-animation: fa-spin 1s infinite steps(8);
- animation: fa-spin 1s infinite steps(8); }
-
-@-webkit-keyframes fa-spin {
- 0% {
- -webkit-transform: rotate(0deg);
- transform: rotate(0deg); }
- 100% {
- -webkit-transform: rotate(360deg);
- transform: rotate(360deg); } }
-
-@keyframes fa-spin {
- 0% {
- -webkit-transform: rotate(0deg);
- transform: rotate(0deg); }
- 100% {
- -webkit-transform: rotate(360deg);
- transform: rotate(360deg); } }
-
-.fa-rotate-90 {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
- -webkit-transform: rotate(90deg);
- transform: rotate(90deg); }
-
-.fa-rotate-180 {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
- -webkit-transform: rotate(180deg);
- transform: rotate(180deg); }
-
-.fa-rotate-270 {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
- -webkit-transform: rotate(270deg);
- transform: rotate(270deg); }
-
-.fa-flip-horizontal {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
- -webkit-transform: scale(-1, 1);
- transform: scale(-1, 1); }
-
-.fa-flip-vertical {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
- -webkit-transform: scale(1, -1);
- transform: scale(1, -1); }
-
-.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
- -webkit-transform: scale(-1, -1);
- transform: scale(-1, -1); }
-
-:root .fa-rotate-90,
-:root .fa-rotate-180,
-:root .fa-rotate-270,
-:root .fa-flip-horizontal,
-:root .fa-flip-vertical,
-:root .fa-flip-both {
- -webkit-filter: none;
- filter: none; }
-
-.fa-stack {
- display: inline-block;
- height: 2em;
- line-height: 2em;
- position: relative;
- vertical-align: middle;
- width: 2.5em; }
-
-.fa-stack-1x,
-.fa-stack-2x {
- left: 0;
- position: absolute;
- text-align: center;
- width: 100%; }
-
-.fa-stack-1x {
- line-height: inherit; }
-
-.fa-stack-2x {
- font-size: 2em; }
-
-.fa-inverse {
- color: #fff; }
-
-/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
-readers do not read off random characters that represent icons */
-.fa-500px:before {
- content: "\f26e"; }
-
-.fa-accessible-icon:before {
- content: "\f368"; }
-
-.fa-accusoft:before {
- content: "\f369"; }
-
-.fa-acquisitions-incorporated:before {
- content: "\f6af"; }
-
-.fa-ad:before {
- content: "\f641"; }
-
-.fa-address-book:before {
- content: "\f2b9"; }
-
-.fa-address-card:before {
- content: "\f2bb"; }
-
-.fa-adjust:before {
- content: "\f042"; }
-
-.fa-adn:before {
- content: "\f170"; }
-
-.fa-adobe:before {
- content: "\f778"; }
-
-.fa-adversal:before {
- content: "\f36a"; }
-
-.fa-affiliatetheme:before {
- content: "\f36b"; }
-
-.fa-air-freshener:before {
- content: "\f5d0"; }
-
-.fa-airbnb:before {
- content: "\f834"; }
-
-.fa-algolia:before {
- content: "\f36c"; }
-
-.fa-align-center:before {
- content: "\f037"; }
-
-.fa-align-justify:before {
- content: "\f039"; }
-
-.fa-align-left:before {
- content: "\f036"; }
-
-.fa-align-right:before {
- content: "\f038"; }
-
-.fa-alipay:before {
- content: "\f642"; }
-
-.fa-allergies:before {
- content: "\f461"; }
-
-.fa-amazon:before {
- content: "\f270"; }
-
-.fa-amazon-pay:before {
- content: "\f42c"; }
-
-.fa-ambulance:before {
- content: "\f0f9"; }
-
-.fa-american-sign-language-interpreting:before {
- content: "\f2a3"; }
-
-.fa-amilia:before {
- content: "\f36d"; }
-
-.fa-anchor:before {
- content: "\f13d"; }
-
-.fa-android:before {
- content: "\f17b"; }
-
-.fa-angellist:before {
- content: "\f209"; }
-
-.fa-angle-double-down:before {
- content: "\f103"; }
-
-.fa-angle-double-left:before {
- content: "\f100"; }
-
-.fa-angle-double-right:before {
- content: "\f101"; }
-
-.fa-angle-double-up:before {
- content: "\f102"; }
-
-.fa-angle-down:before {
- content: "\f107"; }
-
-.fa-angle-left:before {
- content: "\f104"; }
-
-.fa-angle-right:before {
- content: "\f105"; }
-
-.fa-angle-up:before {
- content: "\f106"; }
-
-.fa-angry:before {
- content: "\f556"; }
-
-.fa-angrycreative:before {
- content: "\f36e"; }
-
-.fa-angular:before {
- content: "\f420"; }
-
-.fa-ankh:before {
- content: "\f644"; }
-
-.fa-app-store:before {
- content: "\f36f"; }
-
-.fa-app-store-ios:before {
- content: "\f370"; }
-
-.fa-apper:before {
- content: "\f371"; }
-
-.fa-apple:before {
- content: "\f179"; }
-
-.fa-apple-alt:before {
- content: "\f5d1"; }
-
-.fa-apple-pay:before {
- content: "\f415"; }
-
-.fa-archive:before {
- content: "\f187"; }
-
-.fa-archway:before {
- content: "\f557"; }
-
-.fa-arrow-alt-circle-down:before {
- content: "\f358"; }
-
-.fa-arrow-alt-circle-left:before {
- content: "\f359"; }
-
-.fa-arrow-alt-circle-right:before {
- content: "\f35a"; }
-
-.fa-arrow-alt-circle-up:before {
- content: "\f35b"; }
-
-.fa-arrow-circle-down:before {
- content: "\f0ab"; }
-
-.fa-arrow-circle-left:before {
- content: "\f0a8"; }
-
-.fa-arrow-circle-right:before {
- content: "\f0a9"; }
-
-.fa-arrow-circle-up:before {
- content: "\f0aa"; }
-
-.fa-arrow-down:before {
- content: "\f063"; }
-
-.fa-arrow-left:before {
- content: "\f060"; }
-
-.fa-arrow-right:before {
- content: "\f061"; }
-
-.fa-arrow-up:before {
- content: "\f062"; }
-
-.fa-arrows-alt:before {
- content: "\f0b2"; }
-
-.fa-arrows-alt-h:before {
- content: "\f337"; }
-
-.fa-arrows-alt-v:before {
- content: "\f338"; }
-
-.fa-artstation:before {
- content: "\f77a"; }
-
-.fa-assistive-listening-systems:before {
- content: "\f2a2"; }
-
-.fa-asterisk:before {
- content: "\f069"; }
-
-.fa-asymmetrik:before {
- content: "\f372"; }
-
-.fa-at:before {
- content: "\f1fa"; }
-
-.fa-atlas:before {
- content: "\f558"; }
-
-.fa-atlassian:before {
- content: "\f77b"; }
-
-.fa-atom:before {
- content: "\f5d2"; }
-
-.fa-audible:before {
- content: "\f373"; }
-
-.fa-audio-description:before {
- content: "\f29e"; }
-
-.fa-autoprefixer:before {
- content: "\f41c"; }
-
-.fa-avianex:before {
- content: "\f374"; }
-
-.fa-aviato:before {
- content: "\f421"; }
-
-.fa-award:before {
- content: "\f559"; }
-
-.fa-aws:before {
- content: "\f375"; }
-
-.fa-baby:before {
- content: "\f77c"; }
-
-.fa-baby-carriage:before {
- content: "\f77d"; }
-
-.fa-backspace:before {
- content: "\f55a"; }
-
-.fa-backward:before {
- content: "\f04a"; }
-
-.fa-bacon:before {
- content: "\f7e5"; }
-
-.fa-bahai:before {
- content: "\f666"; }
-
-.fa-balance-scale:before {
- content: "\f24e"; }
-
-.fa-balance-scale-left:before {
- content: "\f515"; }
-
-.fa-balance-scale-right:before {
- content: "\f516"; }
-
-.fa-ban:before {
- content: "\f05e"; }
-
-.fa-band-aid:before {
- content: "\f462"; }
-
-.fa-bandcamp:before {
- content: "\f2d5"; }
-
-.fa-barcode:before {
- content: "\f02a"; }
-
-.fa-bars:before {
- content: "\f0c9"; }
-
-.fa-baseball-ball:before {
- content: "\f433"; }
-
-.fa-basketball-ball:before {
- content: "\f434"; }
-
-.fa-bath:before {
- content: "\f2cd"; }
-
-.fa-battery-empty:before {
- content: "\f244"; }
-
-.fa-battery-full:before {
- content: "\f240"; }
-
-.fa-battery-half:before {
- content: "\f242"; }
-
-.fa-battery-quarter:before {
- content: "\f243"; }
-
-.fa-battery-three-quarters:before {
- content: "\f241"; }
-
-.fa-battle-net:before {
- content: "\f835"; }
-
-.fa-bed:before {
- content: "\f236"; }
-
-.fa-beer:before {
- content: "\f0fc"; }
-
-.fa-behance:before {
- content: "\f1b4"; }
-
-.fa-behance-square:before {
- content: "\f1b5"; }
-
-.fa-bell:before {
- content: "\f0f3"; }
-
-.fa-bell-slash:before {
- content: "\f1f6"; }
-
-.fa-bezier-curve:before {
- content: "\f55b"; }
-
-.fa-bible:before {
- content: "\f647"; }
-
-.fa-bicycle:before {
- content: "\f206"; }
-
-.fa-biking:before {
- content: "\f84a"; }
-
-.fa-bimobject:before {
- content: "\f378"; }
-
-.fa-binoculars:before {
- content: "\f1e5"; }
-
-.fa-biohazard:before {
- content: "\f780"; }
-
-.fa-birthday-cake:before {
- content: "\f1fd"; }
-
-.fa-bitbucket:before {
- content: "\f171"; }
-
-.fa-bitcoin:before {
- content: "\f379"; }
-
-.fa-bity:before {
- content: "\f37a"; }
-
-.fa-black-tie:before {
- content: "\f27e"; }
-
-.fa-blackberry:before {
- content: "\f37b"; }
-
-.fa-blender:before {
- content: "\f517"; }
-
-.fa-blender-phone:before {
- content: "\f6b6"; }
-
-.fa-blind:before {
- content: "\f29d"; }
-
-.fa-blog:before {
- content: "\f781"; }
-
-.fa-blogger:before {
- content: "\f37c"; }
-
-.fa-blogger-b:before {
- content: "\f37d"; }
-
-.fa-bluetooth:before {
- content: "\f293"; }
-
-.fa-bluetooth-b:before {
- content: "\f294"; }
-
-.fa-bold:before {
- content: "\f032"; }
-
-.fa-bolt:before {
- content: "\f0e7"; }
-
-.fa-bomb:before {
- content: "\f1e2"; }
-
-.fa-bone:before {
- content: "\f5d7"; }
-
-.fa-bong:before {
- content: "\f55c"; }
-
-.fa-book:before {
- content: "\f02d"; }
-
-.fa-book-dead:before {
- content: "\f6b7"; }
-
-.fa-book-medical:before {
- content: "\f7e6"; }
-
-.fa-book-open:before {
- content: "\f518"; }
-
-.fa-book-reader:before {
- content: "\f5da"; }
-
-.fa-bookmark:before {
- content: "\f02e"; }
-
-.fa-bootstrap:before {
- content: "\f836"; }
-
-.fa-border-all:before {
- content: "\f84c"; }
-
-.fa-border-none:before {
- content: "\f850"; }
-
-.fa-border-style:before {
- content: "\f853"; }
-
-.fa-bowling-ball:before {
- content: "\f436"; }
-
-.fa-box:before {
- content: "\f466"; }
-
-.fa-box-open:before {
- content: "\f49e"; }
-
-.fa-boxes:before {
- content: "\f468"; }
-
-.fa-braille:before {
- content: "\f2a1"; }
-
-.fa-brain:before {
- content: "\f5dc"; }
-
-.fa-bread-slice:before {
- content: "\f7ec"; }
-
-.fa-briefcase:before {
- content: "\f0b1"; }
-
-.fa-briefcase-medical:before {
- content: "\f469"; }
-
-.fa-broadcast-tower:before {
- content: "\f519"; }
-
-.fa-broom:before {
- content: "\f51a"; }
-
-.fa-brush:before {
- content: "\f55d"; }
-
-.fa-btc:before {
- content: "\f15a"; }
-
-.fa-buffer:before {
- content: "\f837"; }
-
-.fa-bug:before {
- content: "\f188"; }
-
-.fa-building:before {
- content: "\f1ad"; }
-
-.fa-bullhorn:before {
- content: "\f0a1"; }
-
-.fa-bullseye:before {
- content: "\f140"; }
-
-.fa-burn:before {
- content: "\f46a"; }
-
-.fa-buromobelexperte:before {
- content: "\f37f"; }
-
-.fa-bus:before {
- content: "\f207"; }
-
-.fa-bus-alt:before {
- content: "\f55e"; }
-
-.fa-business-time:before {
- content: "\f64a"; }
-
-.fa-buy-n-large:before {
- content: "\f8a6"; }
-
-.fa-buysellads:before {
- content: "\f20d"; }
-
-.fa-calculator:before {
- content: "\f1ec"; }
-
-.fa-calendar:before {
- content: "\f133"; }
-
-.fa-calendar-alt:before {
- content: "\f073"; }
-
-.fa-calendar-check:before {
- content: "\f274"; }
-
-.fa-calendar-day:before {
- content: "\f783"; }
-
-.fa-calendar-minus:before {
- content: "\f272"; }
-
-.fa-calendar-plus:before {
- content: "\f271"; }
-
-.fa-calendar-times:before {
- content: "\f273"; }
-
-.fa-calendar-week:before {
- content: "\f784"; }
-
-.fa-camera:before {
- content: "\f030"; }
-
-.fa-camera-retro:before {
- content: "\f083"; }
-
-.fa-campground:before {
- content: "\f6bb"; }
-
-.fa-canadian-maple-leaf:before {
- content: "\f785"; }
-
-.fa-candy-cane:before {
- content: "\f786"; }
-
-.fa-cannabis:before {
- content: "\f55f"; }
-
-.fa-capsules:before {
- content: "\f46b"; }
-
-.fa-car:before {
- content: "\f1b9"; }
-
-.fa-car-alt:before {
- content: "\f5de"; }
-
-.fa-car-battery:before {
- content: "\f5df"; }
-
-.fa-car-crash:before {
- content: "\f5e1"; }
-
-.fa-car-side:before {
- content: "\f5e4"; }
-
-.fa-caravan:before {
- content: "\f8ff"; }
-
-.fa-caret-down:before {
- content: "\f0d7"; }
-
-.fa-caret-left:before {
- content: "\f0d9"; }
-
-.fa-caret-right:before {
- content: "\f0da"; }
-
-.fa-caret-square-down:before {
- content: "\f150"; }
-
-.fa-caret-square-left:before {
- content: "\f191"; }
-
-.fa-caret-square-right:before {
- content: "\f152"; }
-
-.fa-caret-square-up:before {
- content: "\f151"; }
-
-.fa-caret-up:before {
- content: "\f0d8"; }
-
-.fa-carrot:before {
- content: "\f787"; }
-
-.fa-cart-arrow-down:before {
- content: "\f218"; }
-
-.fa-cart-plus:before {
- content: "\f217"; }
-
-.fa-cash-register:before {
- content: "\f788"; }
-
-.fa-cat:before {
- content: "\f6be"; }
-
-.fa-cc-amazon-pay:before {
- content: "\f42d"; }
-
-.fa-cc-amex:before {
- content: "\f1f3"; }
-
-.fa-cc-apple-pay:before {
- content: "\f416"; }
-
-.fa-cc-diners-club:before {
- content: "\f24c"; }
-
-.fa-cc-discover:before {
- content: "\f1f2"; }
-
-.fa-cc-jcb:before {
- content: "\f24b"; }
-
-.fa-cc-mastercard:before {
- content: "\f1f1"; }
-
-.fa-cc-paypal:before {
- content: "\f1f4"; }
-
-.fa-cc-stripe:before {
- content: "\f1f5"; }
-
-.fa-cc-visa:before {
- content: "\f1f0"; }
-
-.fa-centercode:before {
- content: "\f380"; }
-
-.fa-centos:before {
- content: "\f789"; }
-
-.fa-certificate:before {
- content: "\f0a3"; }
-
-.fa-chair:before {
- content: "\f6c0"; }
-
-.fa-chalkboard:before {
- content: "\f51b"; }
-
-.fa-chalkboard-teacher:before {
- content: "\f51c"; }
-
-.fa-charging-station:before {
- content: "\f5e7"; }
-
-.fa-chart-area:before {
- content: "\f1fe"; }
-
-.fa-chart-bar:before {
- content: "\f080"; }
-
-.fa-chart-line:before {
- content: "\f201"; }
-
-.fa-chart-pie:before {
- content: "\f200"; }
-
-.fa-check:before {
- content: "\f00c"; }
-
-.fa-check-circle:before {
- content: "\f058"; }
-
-.fa-check-double:before {
- content: "\f560"; }
-
-.fa-check-square:before {
- content: "\f14a"; }
-
-.fa-cheese:before {
- content: "\f7ef"; }
-
-.fa-chess:before {
- content: "\f439"; }
-
-.fa-chess-bishop:before {
- content: "\f43a"; }
-
-.fa-chess-board:before {
- content: "\f43c"; }
-
-.fa-chess-king:before {
- content: "\f43f"; }
-
-.fa-chess-knight:before {
- content: "\f441"; }
-
-.fa-chess-pawn:before {
- content: "\f443"; }
-
-.fa-chess-queen:before {
- content: "\f445"; }
-
-.fa-chess-rook:before {
- content: "\f447"; }
-
-.fa-chevron-circle-down:before {
- content: "\f13a"; }
-
-.fa-chevron-circle-left:before {
- content: "\f137"; }
-
-.fa-chevron-circle-right:before {
- content: "\f138"; }
-
-.fa-chevron-circle-up:before {
- content: "\f139"; }
-
-.fa-chevron-down:before {
- content: "\f078"; }
-
-.fa-chevron-left:before {
- content: "\f053"; }
-
-.fa-chevron-right:before {
- content: "\f054"; }
-
-.fa-chevron-up:before {
- content: "\f077"; }
-
-.fa-child:before {
- content: "\f1ae"; }
-
-.fa-chrome:before {
- content: "\f268"; }
-
-.fa-chromecast:before {
- content: "\f838"; }
-
-.fa-church:before {
- content: "\f51d"; }
-
-.fa-circle:before {
- content: "\f111"; }
-
-.fa-circle-notch:before {
- content: "\f1ce"; }
-
-.fa-city:before {
- content: "\f64f"; }
-
-.fa-clinic-medical:before {
- content: "\f7f2"; }
-
-.fa-clipboard:before {
- content: "\f328"; }
-
-.fa-clipboard-check:before {
- content: "\f46c"; }
-
-.fa-clipboard-list:before {
- content: "\f46d"; }
-
-.fa-clock:before {
- content: "\f017"; }
-
-.fa-clone:before {
- content: "\f24d"; }
-
-.fa-closed-captioning:before {
- content: "\f20a"; }
-
-.fa-cloud:before {
- content: "\f0c2"; }
-
-.fa-cloud-download-alt:before {
- content: "\f381"; }
-
-.fa-cloud-meatball:before {
- content: "\f73b"; }
-
-.fa-cloud-moon:before {
- content: "\f6c3"; }
-
-.fa-cloud-moon-rain:before {
- content: "\f73c"; }
-
-.fa-cloud-rain:before {
- content: "\f73d"; }
-
-.fa-cloud-showers-heavy:before {
- content: "\f740"; }
-
-.fa-cloud-sun:before {
- content: "\f6c4"; }
-
-.fa-cloud-sun-rain:before {
- content: "\f743"; }
-
-.fa-cloud-upload-alt:before {
- content: "\f382"; }
-
-.fa-cloudscale:before {
- content: "\f383"; }
-
-.fa-cloudsmith:before {
- content: "\f384"; }
-
-.fa-cloudversify:before {
- content: "\f385"; }
-
-.fa-cocktail:before {
- content: "\f561"; }
-
-.fa-code:before {
- content: "\f121"; }
-
-.fa-code-branch:before {
- content: "\f126"; }
-
-.fa-codepen:before {
- content: "\f1cb"; }
-
-.fa-codiepie:before {
- content: "\f284"; }
-
-.fa-coffee:before {
- content: "\f0f4"; }
-
-.fa-cog:before {
- content: "\f013"; }
-
-.fa-cogs:before {
- content: "\f085"; }
-
-.fa-coins:before {
- content: "\f51e"; }
-
-.fa-columns:before {
- content: "\f0db"; }
-
-.fa-comment:before {
- content: "\f075"; }
-
-.fa-comment-alt:before {
- content: "\f27a"; }
-
-.fa-comment-dollar:before {
- content: "\f651"; }
-
-.fa-comment-dots:before {
- content: "\f4ad"; }
-
-.fa-comment-medical:before {
- content: "\f7f5"; }
-
-.fa-comment-slash:before {
- content: "\f4b3"; }
-
-.fa-comments:before {
- content: "\f086"; }
-
-.fa-comments-dollar:before {
- content: "\f653"; }
-
-.fa-compact-disc:before {
- content: "\f51f"; }
-
-.fa-compass:before {
- content: "\f14e"; }
-
-.fa-compress:before {
- content: "\f066"; }
-
-.fa-compress-alt:before {
- content: "\f422"; }
-
-.fa-compress-arrows-alt:before {
- content: "\f78c"; }
-
-.fa-concierge-bell:before {
- content: "\f562"; }
-
-.fa-confluence:before {
- content: "\f78d"; }
-
-.fa-connectdevelop:before {
- content: "\f20e"; }
-
-.fa-contao:before {
- content: "\f26d"; }
-
-.fa-cookie:before {
- content: "\f563"; }
-
-.fa-cookie-bite:before {
- content: "\f564"; }
-
-.fa-copy:before {
- content: "\f0c5"; }
-
-.fa-copyright:before {
- content: "\f1f9"; }
-
-.fa-cotton-bureau:before {
- content: "\f89e"; }
-
-.fa-couch:before {
- content: "\f4b8"; }
-
-.fa-cpanel:before {
- content: "\f388"; }
-
-.fa-creative-commons:before {
- content: "\f25e"; }
-
-.fa-creative-commons-by:before {
- content: "\f4e7"; }
-
-.fa-creative-commons-nc:before {
- content: "\f4e8"; }
-
-.fa-creative-commons-nc-eu:before {
- content: "\f4e9"; }
-
-.fa-creative-commons-nc-jp:before {
- content: "\f4ea"; }
-
-.fa-creative-commons-nd:before {
- content: "\f4eb"; }
-
-.fa-creative-commons-pd:before {
- content: "\f4ec"; }
-
-.fa-creative-commons-pd-alt:before {
- content: "\f4ed"; }
-
-.fa-creative-commons-remix:before {
- content: "\f4ee"; }
-
-.fa-creative-commons-sa:before {
- content: "\f4ef"; }
-
-.fa-creative-commons-sampling:before {
- content: "\f4f0"; }
-
-.fa-creative-commons-sampling-plus:before {
- content: "\f4f1"; }
-
-.fa-creative-commons-share:before {
- content: "\f4f2"; }
-
-.fa-creative-commons-zero:before {
- content: "\f4f3"; }
-
-.fa-credit-card:before {
- content: "\f09d"; }
-
-.fa-critical-role:before {
- content: "\f6c9"; }
-
-.fa-crop:before {
- content: "\f125"; }
-
-.fa-crop-alt:before {
- content: "\f565"; }
-
-.fa-cross:before {
- content: "\f654"; }
-
-.fa-crosshairs:before {
- content: "\f05b"; }
-
-.fa-crow:before {
- content: "\f520"; }
-
-.fa-crown:before {
- content: "\f521"; }
-
-.fa-crutch:before {
- content: "\f7f7"; }
-
-.fa-css3:before {
- content: "\f13c"; }
-
-.fa-css3-alt:before {
- content: "\f38b"; }
-
-.fa-cube:before {
- content: "\f1b2"; }
-
-.fa-cubes:before {
- content: "\f1b3"; }
-
-.fa-cut:before {
- content: "\f0c4"; }
-
-.fa-cuttlefish:before {
- content: "\f38c"; }
-
-.fa-d-and-d:before {
- content: "\f38d"; }
-
-.fa-d-and-d-beyond:before {
- content: "\f6ca"; }
-
-.fa-dailymotion:before {
- content: "\f952"; }
-
-.fa-dashcube:before {
- content: "\f210"; }
-
-.fa-database:before {
- content: "\f1c0"; }
-
-.fa-deaf:before {
- content: "\f2a4"; }
-
-.fa-delicious:before {
- content: "\f1a5"; }
-
-.fa-democrat:before {
- content: "\f747"; }
-
-.fa-deploydog:before {
- content: "\f38e"; }
-
-.fa-deskpro:before {
- content: "\f38f"; }
-
-.fa-desktop:before {
- content: "\f108"; }
-
-.fa-dev:before {
- content: "\f6cc"; }
-
-.fa-deviantart:before {
- content: "\f1bd"; }
-
-.fa-dharmachakra:before {
- content: "\f655"; }
-
-.fa-dhl:before {
- content: "\f790"; }
-
-.fa-diagnoses:before {
- content: "\f470"; }
-
-.fa-diaspora:before {
- content: "\f791"; }
-
-.fa-dice:before {
- content: "\f522"; }
-
-.fa-dice-d20:before {
- content: "\f6cf"; }
-
-.fa-dice-d6:before {
- content: "\f6d1"; }
-
-.fa-dice-five:before {
- content: "\f523"; }
-
-.fa-dice-four:before {
- content: "\f524"; }
-
-.fa-dice-one:before {
- content: "\f525"; }
-
-.fa-dice-six:before {
- content: "\f526"; }
-
-.fa-dice-three:before {
- content: "\f527"; }
-
-.fa-dice-two:before {
- content: "\f528"; }
-
-.fa-digg:before {
- content: "\f1a6"; }
-
-.fa-digital-ocean:before {
- content: "\f391"; }
-
-.fa-digital-tachograph:before {
- content: "\f566"; }
-
-.fa-directions:before {
- content: "\f5eb"; }
-
-.fa-discord:before {
- content: "\f392"; }
-
-.fa-discourse:before {
- content: "\f393"; }
-
-.fa-divide:before {
- content: "\f529"; }
-
-.fa-dizzy:before {
- content: "\f567"; }
-
-.fa-dna:before {
- content: "\f471"; }
-
-.fa-dochub:before {
- content: "\f394"; }
-
-.fa-docker:before {
- content: "\f395"; }
-
-.fa-dog:before {
- content: "\f6d3"; }
-
-.fa-dollar-sign:before {
- content: "\f155"; }
-
-.fa-dolly:before {
- content: "\f472"; }
-
-.fa-dolly-flatbed:before {
- content: "\f474"; }
-
-.fa-donate:before {
- content: "\f4b9"; }
-
-.fa-door-closed:before {
- content: "\f52a"; }
-
-.fa-door-open:before {
- content: "\f52b"; }
-
-.fa-dot-circle:before {
- content: "\f192"; }
-
-.fa-dove:before {
- content: "\f4ba"; }
-
-.fa-download:before {
- content: "\f019"; }
-
-.fa-draft2digital:before {
- content: "\f396"; }
-
-.fa-drafting-compass:before {
- content: "\f568"; }
-
-.fa-dragon:before {
- content: "\f6d5"; }
-
-.fa-draw-polygon:before {
- content: "\f5ee"; }
-
-.fa-dribbble:before {
- content: "\f17d"; }
-
-.fa-dribbble-square:before {
- content: "\f397"; }
-
-.fa-dropbox:before {
- content: "\f16b"; }
-
-.fa-drum:before {
- content: "\f569"; }
-
-.fa-drum-steelpan:before {
- content: "\f56a"; }
-
-.fa-drumstick-bite:before {
- content: "\f6d7"; }
-
-.fa-drupal:before {
- content: "\f1a9"; }
-
-.fa-dumbbell:before {
- content: "\f44b"; }
-
-.fa-dumpster:before {
- content: "\f793"; }
-
-.fa-dumpster-fire:before {
- content: "\f794"; }
-
-.fa-dungeon:before {
- content: "\f6d9"; }
-
-.fa-dyalog:before {
- content: "\f399"; }
-
-.fa-earlybirds:before {
- content: "\f39a"; }
-
-.fa-ebay:before {
- content: "\f4f4"; }
-
-.fa-edge:before {
- content: "\f282"; }
-
-.fa-edit:before {
- content: "\f044"; }
-
-.fa-egg:before {
- content: "\f7fb"; }
-
-.fa-eject:before {
- content: "\f052"; }
-
-.fa-elementor:before {
- content: "\f430"; }
-
-.fa-ellipsis-h:before {
- content: "\f141"; }
-
-.fa-ellipsis-v:before {
- content: "\f142"; }
-
-.fa-ello:before {
- content: "\f5f1"; }
-
-.fa-ember:before {
- content: "\f423"; }
-
-.fa-empire:before {
- content: "\f1d1"; }
-
-.fa-envelope:before {
- content: "\f0e0"; }
-
-.fa-envelope-open:before {
- content: "\f2b6"; }
-
-.fa-envelope-open-text:before {
- content: "\f658"; }
-
-.fa-envelope-square:before {
- content: "\f199"; }
-
-.fa-envira:before {
- content: "\f299"; }
-
-.fa-equals:before {
- content: "\f52c"; }
-
-.fa-eraser:before {
- content: "\f12d"; }
-
-.fa-erlang:before {
- content: "\f39d"; }
-
-.fa-ethereum:before {
- content: "\f42e"; }
-
-.fa-ethernet:before {
- content: "\f796"; }
-
-.fa-etsy:before {
- content: "\f2d7"; }
-
-.fa-euro-sign:before {
- content: "\f153"; }
-
-.fa-evernote:before {
- content: "\f839"; }
-
-.fa-exchange-alt:before {
- content: "\f362"; }
-
-.fa-exclamation:before {
- content: "\f12a"; }
-
-.fa-exclamation-circle:before {
- content: "\f06a"; }
-
-.fa-exclamation-triangle:before {
- content: "\f071"; }
-
-.fa-expand:before {
- content: "\f065"; }
-
-.fa-expand-alt:before {
- content: "\f424"; }
-
-.fa-expand-arrows-alt:before {
- content: "\f31e"; }
-
-.fa-expeditedssl:before {
- content: "\f23e"; }
-
-.fa-external-link-alt:before {
- content: "\f35d"; }
-
-.fa-external-link-square-alt:before {
- content: "\f360"; }
-
-.fa-eye:before {
- content: "\f06e"; }
-
-.fa-eye-dropper:before {
- content: "\f1fb"; }
-
-.fa-eye-slash:before {
- content: "\f070"; }
-
-.fa-facebook:before {
- content: "\f09a"; }
-
-.fa-facebook-f:before {
- content: "\f39e"; }
-
-.fa-facebook-messenger:before {
- content: "\f39f"; }
-
-.fa-facebook-square:before {
- content: "\f082"; }
-
-.fa-fan:before {
- content: "\f863"; }
-
-.fa-fantasy-flight-games:before {
- content: "\f6dc"; }
-
-.fa-fast-backward:before {
- content: "\f049"; }
-
-.fa-fast-forward:before {
- content: "\f050"; }
-
-.fa-fax:before {
- content: "\f1ac"; }
-
-.fa-feather:before {
- content: "\f52d"; }
-
-.fa-feather-alt:before {
- content: "\f56b"; }
-
-.fa-fedex:before {
- content: "\f797"; }
-
-.fa-fedora:before {
- content: "\f798"; }
-
-.fa-female:before {
- content: "\f182"; }
-
-.fa-fighter-jet:before {
- content: "\f0fb"; }
-
-.fa-figma:before {
- content: "\f799"; }
-
-.fa-file:before {
- content: "\f15b"; }
-
-.fa-file-alt:before {
- content: "\f15c"; }
-
-.fa-file-archive:before {
- content: "\f1c6"; }
-
-.fa-file-audio:before {
- content: "\f1c7"; }
-
-.fa-file-code:before {
- content: "\f1c9"; }
-
-.fa-file-contract:before {
- content: "\f56c"; }
-
-.fa-file-csv:before {
- content: "\f6dd"; }
-
-.fa-file-download:before {
- content: "\f56d"; }
-
-.fa-file-excel:before {
- content: "\f1c3"; }
-
-.fa-file-export:before {
- content: "\f56e"; }
-
-.fa-file-image:before {
- content: "\f1c5"; }
-
-.fa-file-import:before {
- content: "\f56f"; }
-
-.fa-file-invoice:before {
- content: "\f570"; }
-
-.fa-file-invoice-dollar:before {
- content: "\f571"; }
-
-.fa-file-medical:before {
- content: "\f477"; }
-
-.fa-file-medical-alt:before {
- content: "\f478"; }
-
-.fa-file-pdf:before {
- content: "\f1c1"; }
-
-.fa-file-powerpoint:before {
- content: "\f1c4"; }
-
-.fa-file-prescription:before {
- content: "\f572"; }
-
-.fa-file-signature:before {
- content: "\f573"; }
-
-.fa-file-upload:before {
- content: "\f574"; }
-
-.fa-file-video:before {
- content: "\f1c8"; }
-
-.fa-file-word:before {
- content: "\f1c2"; }
-
-.fa-fill:before {
- content: "\f575"; }
-
-.fa-fill-drip:before {
- content: "\f576"; }
-
-.fa-film:before {
- content: "\f008"; }
-
-.fa-filter:before {
- content: "\f0b0"; }
-
-.fa-fingerprint:before {
- content: "\f577"; }
-
-.fa-fire:before {
- content: "\f06d"; }
-
-.fa-fire-alt:before {
- content: "\f7e4"; }
-
-.fa-fire-extinguisher:before {
- content: "\f134"; }
-
-.fa-firefox:before {
- content: "\f269"; }
-
-.fa-firefox-browser:before {
- content: "\f907"; }
-
-.fa-first-aid:before {
- content: "\f479"; }
-
-.fa-first-order:before {
- content: "\f2b0"; }
-
-.fa-first-order-alt:before {
- content: "\f50a"; }
-
-.fa-firstdraft:before {
- content: "\f3a1"; }
-
-.fa-fish:before {
- content: "\f578"; }
-
-.fa-fist-raised:before {
- content: "\f6de"; }
-
-.fa-flag:before {
- content: "\f024"; }
-
-.fa-flag-checkered:before {
- content: "\f11e"; }
-
-.fa-flag-usa:before {
- content: "\f74d"; }
-
-.fa-flask:before {
- content: "\f0c3"; }
-
-.fa-flickr:before {
- content: "\f16e"; }
-
-.fa-flipboard:before {
- content: "\f44d"; }
-
-.fa-flushed:before {
- content: "\f579"; }
-
-.fa-fly:before {
- content: "\f417"; }
-
-.fa-folder:before {
- content: "\f07b"; }
-
-.fa-folder-minus:before {
- content: "\f65d"; }
-
-.fa-folder-open:before {
- content: "\f07c"; }
-
-.fa-folder-plus:before {
- content: "\f65e"; }
-
-.fa-font:before {
- content: "\f031"; }
-
-.fa-font-awesome:before {
- content: "\f2b4"; }
-
-.fa-font-awesome-alt:before {
- content: "\f35c"; }
-
-.fa-font-awesome-flag:before {
- content: "\f425"; }
-
-.fa-font-awesome-logo-full:before {
- content: "\f4e6"; }
-
-.fa-fonticons:before {
- content: "\f280"; }
-
-.fa-fonticons-fi:before {
- content: "\f3a2"; }
-
-.fa-football-ball:before {
- content: "\f44e"; }
-
-.fa-fort-awesome:before {
- content: "\f286"; }
-
-.fa-fort-awesome-alt:before {
- content: "\f3a3"; }
-
-.fa-forumbee:before {
- content: "\f211"; }
-
-.fa-forward:before {
- content: "\f04e"; }
-
-.fa-foursquare:before {
- content: "\f180"; }
-
-.fa-free-code-camp:before {
- content: "\f2c5"; }
-
-.fa-freebsd:before {
- content: "\f3a4"; }
-
-.fa-frog:before {
- content: "\f52e"; }
-
-.fa-frown:before {
- content: "\f119"; }
-
-.fa-frown-open:before {
- content: "\f57a"; }
-
-.fa-fulcrum:before {
- content: "\f50b"; }
-
-.fa-funnel-dollar:before {
- content: "\f662"; }
-
-.fa-futbol:before {
- content: "\f1e3"; }
-
-.fa-galactic-republic:before {
- content: "\f50c"; }
-
-.fa-galactic-senate:before {
- content: "\f50d"; }
-
-.fa-gamepad:before {
- content: "\f11b"; }
-
-.fa-gas-pump:before {
- content: "\f52f"; }
-
-.fa-gavel:before {
- content: "\f0e3"; }
-
-.fa-gem:before {
- content: "\f3a5"; }
-
-.fa-genderless:before {
- content: "\f22d"; }
-
-.fa-get-pocket:before {
- content: "\f265"; }
-
-.fa-gg:before {
- content: "\f260"; }
-
-.fa-gg-circle:before {
- content: "\f261"; }
-
-.fa-ghost:before {
- content: "\f6e2"; }
-
-.fa-gift:before {
- content: "\f06b"; }
-
-.fa-gifts:before {
- content: "\f79c"; }
-
-.fa-git:before {
- content: "\f1d3"; }
-
-.fa-git-alt:before {
- content: "\f841"; }
-
-.fa-git-square:before {
- content: "\f1d2"; }
-
-.fa-github:before {
- content: "\f09b"; }
-
-.fa-github-alt:before {
- content: "\f113"; }
-
-.fa-github-square:before {
- content: "\f092"; }
-
-.fa-gitkraken:before {
- content: "\f3a6"; }
-
-.fa-gitlab:before {
- content: "\f296"; }
-
-.fa-gitter:before {
- content: "\f426"; }
-
-.fa-glass-cheers:before {
- content: "\f79f"; }
-
-.fa-glass-martini:before {
- content: "\f000"; }
-
-.fa-glass-martini-alt:before {
- content: "\f57b"; }
-
-.fa-glass-whiskey:before {
- content: "\f7a0"; }
-
-.fa-glasses:before {
- content: "\f530"; }
-
-.fa-glide:before {
- content: "\f2a5"; }
-
-.fa-glide-g:before {
- content: "\f2a6"; }
-
-.fa-globe:before {
- content: "\f0ac"; }
-
-.fa-globe-africa:before {
- content: "\f57c"; }
-
-.fa-globe-americas:before {
- content: "\f57d"; }
-
-.fa-globe-asia:before {
- content: "\f57e"; }
-
-.fa-globe-europe:before {
- content: "\f7a2"; }
-
-.fa-gofore:before {
- content: "\f3a7"; }
-
-.fa-golf-ball:before {
- content: "\f450"; }
-
-.fa-goodreads:before {
- content: "\f3a8"; }
-
-.fa-goodreads-g:before {
- content: "\f3a9"; }
-
-.fa-google:before {
- content: "\f1a0"; }
-
-.fa-google-drive:before {
- content: "\f3aa"; }
-
-.fa-google-play:before {
- content: "\f3ab"; }
-
-.fa-google-plus:before {
- content: "\f2b3"; }
-
-.fa-google-plus-g:before {
- content: "\f0d5"; }
-
-.fa-google-plus-square:before {
- content: "\f0d4"; }
-
-.fa-google-wallet:before {
- content: "\f1ee"; }
-
-.fa-gopuram:before {
- content: "\f664"; }
-
-.fa-graduation-cap:before {
- content: "\f19d"; }
-
-.fa-gratipay:before {
- content: "\f184"; }
-
-.fa-grav:before {
- content: "\f2d6"; }
-
-.fa-greater-than:before {
- content: "\f531"; }
-
-.fa-greater-than-equal:before {
- content: "\f532"; }
-
-.fa-grimace:before {
- content: "\f57f"; }
-
-.fa-grin:before {
- content: "\f580"; }
-
-.fa-grin-alt:before {
- content: "\f581"; }
-
-.fa-grin-beam:before {
- content: "\f582"; }
-
-.fa-grin-beam-sweat:before {
- content: "\f583"; }
-
-.fa-grin-hearts:before {
- content: "\f584"; }
-
-.fa-grin-squint:before {
- content: "\f585"; }
-
-.fa-grin-squint-tears:before {
- content: "\f586"; }
-
-.fa-grin-stars:before {
- content: "\f587"; }
-
-.fa-grin-tears:before {
- content: "\f588"; }
-
-.fa-grin-tongue:before {
- content: "\f589"; }
-
-.fa-grin-tongue-squint:before {
- content: "\f58a"; }
-
-.fa-grin-tongue-wink:before {
- content: "\f58b"; }
-
-.fa-grin-wink:before {
- content: "\f58c"; }
-
-.fa-grip-horizontal:before {
- content: "\f58d"; }
-
-.fa-grip-lines:before {
- content: "\f7a4"; }
-
-.fa-grip-lines-vertical:before {
- content: "\f7a5"; }
-
-.fa-grip-vertical:before {
- content: "\f58e"; }
-
-.fa-gripfire:before {
- content: "\f3ac"; }
-
-.fa-grunt:before {
- content: "\f3ad"; }
-
-.fa-guitar:before {
- content: "\f7a6"; }
-
-.fa-gulp:before {
- content: "\f3ae"; }
-
-.fa-h-square:before {
- content: "\f0fd"; }
-
-.fa-hacker-news:before {
- content: "\f1d4"; }
-
-.fa-hacker-news-square:before {
- content: "\f3af"; }
-
-.fa-hackerrank:before {
- content: "\f5f7"; }
-
-.fa-hamburger:before {
- content: "\f805"; }
-
-.fa-hammer:before {
- content: "\f6e3"; }
-
-.fa-hamsa:before {
- content: "\f665"; }
-
-.fa-hand-holding:before {
- content: "\f4bd"; }
-
-.fa-hand-holding-heart:before {
- content: "\f4be"; }
-
-.fa-hand-holding-usd:before {
- content: "\f4c0"; }
-
-.fa-hand-lizard:before {
- content: "\f258"; }
-
-.fa-hand-middle-finger:before {
- content: "\f806"; }
-
-.fa-hand-paper:before {
- content: "\f256"; }
-
-.fa-hand-peace:before {
- content: "\f25b"; }
-
-.fa-hand-point-down:before {
- content: "\f0a7"; }
-
-.fa-hand-point-left:before {
- content: "\f0a5"; }
-
-.fa-hand-point-right:before {
- content: "\f0a4"; }
-
-.fa-hand-point-up:before {
- content: "\f0a6"; }
-
-.fa-hand-pointer:before {
- content: "\f25a"; }
-
-.fa-hand-rock:before {
- content: "\f255"; }
-
-.fa-hand-scissors:before {
- content: "\f257"; }
-
-.fa-hand-spock:before {
- content: "\f259"; }
-
-.fa-hands:before {
- content: "\f4c2"; }
-
-.fa-hands-helping:before {
- content: "\f4c4"; }
-
-.fa-handshake:before {
- content: "\f2b5"; }
-
-.fa-hanukiah:before {
- content: "\f6e6"; }
-
-.fa-hard-hat:before {
- content: "\f807"; }
-
-.fa-hashtag:before {
- content: "\f292"; }
-
-.fa-hat-cowboy:before {
- content: "\f8c0"; }
-
-.fa-hat-cowboy-side:before {
- content: "\f8c1"; }
-
-.fa-hat-wizard:before {
- content: "\f6e8"; }
-
-.fa-hdd:before {
- content: "\f0a0"; }
-
-.fa-heading:before {
- content: "\f1dc"; }
-
-.fa-headphones:before {
- content: "\f025"; }
-
-.fa-headphones-alt:before {
- content: "\f58f"; }
-
-.fa-headset:before {
- content: "\f590"; }
-
-.fa-heart:before {
- content: "\f004"; }
-
-.fa-heart-broken:before {
- content: "\f7a9"; }
-
-.fa-heartbeat:before {
- content: "\f21e"; }
-
-.fa-helicopter:before {
- content: "\f533"; }
-
-.fa-highlighter:before {
- content: "\f591"; }
-
-.fa-hiking:before {
- content: "\f6ec"; }
-
-.fa-hippo:before {
- content: "\f6ed"; }
-
-.fa-hips:before {
- content: "\f452"; }
-
-.fa-hire-a-helper:before {
- content: "\f3b0"; }
-
-.fa-history:before {
- content: "\f1da"; }
-
-.fa-hockey-puck:before {
- content: "\f453"; }
-
-.fa-holly-berry:before {
- content: "\f7aa"; }
-
-.fa-home:before {
- content: "\f015"; }
-
-.fa-hooli:before {
- content: "\f427"; }
-
-.fa-hornbill:before {
- content: "\f592"; }
-
-.fa-horse:before {
- content: "\f6f0"; }
-
-.fa-horse-head:before {
- content: "\f7ab"; }
-
-.fa-hospital:before {
- content: "\f0f8"; }
-
-.fa-hospital-alt:before {
- content: "\f47d"; }
-
-.fa-hospital-symbol:before {
- content: "\f47e"; }
-
-.fa-hot-tub:before {
- content: "\f593"; }
-
-.fa-hotdog:before {
- content: "\f80f"; }
-
-.fa-hotel:before {
- content: "\f594"; }
-
-.fa-hotjar:before {
- content: "\f3b1"; }
-
-.fa-hourglass:before {
- content: "\f254"; }
-
-.fa-hourglass-end:before {
- content: "\f253"; }
-
-.fa-hourglass-half:before {
- content: "\f252"; }
-
-.fa-hourglass-start:before {
- content: "\f251"; }
-
-.fa-house-damage:before {
- content: "\f6f1"; }
-
-.fa-houzz:before {
- content: "\f27c"; }
-
-.fa-hryvnia:before {
- content: "\f6f2"; }
-
-.fa-html5:before {
- content: "\f13b"; }
-
-.fa-hubspot:before {
- content: "\f3b2"; }
-
-.fa-i-cursor:before {
- content: "\f246"; }
-
-.fa-ice-cream:before {
- content: "\f810"; }
-
-.fa-icicles:before {
- content: "\f7ad"; }
-
-.fa-icons:before {
- content: "\f86d"; }
-
-.fa-id-badge:before {
- content: "\f2c1"; }
-
-.fa-id-card:before {
- content: "\f2c2"; }
-
-.fa-id-card-alt:before {
- content: "\f47f"; }
-
-.fa-ideal:before {
- content: "\f913"; }
-
-.fa-igloo:before {
- content: "\f7ae"; }
-
-.fa-image:before {
- content: "\f03e"; }
-
-.fa-images:before {
- content: "\f302"; }
-
-.fa-imdb:before {
- content: "\f2d8"; }
-
-.fa-inbox:before {
- content: "\f01c"; }
-
-.fa-indent:before {
- content: "\f03c"; }
-
-.fa-industry:before {
- content: "\f275"; }
-
-.fa-infinity:before {
- content: "\f534"; }
-
-.fa-info:before {
- content: "\f129"; }
-
-.fa-info-circle:before {
- content: "\f05a"; }
-
-.fa-instagram:before {
- content: "\f16d"; }
-
-.fa-instagram-square:before {
- content: "\f955"; }
-
-.fa-intercom:before {
- content: "\f7af"; }
-
-.fa-internet-explorer:before {
- content: "\f26b"; }
-
-.fa-invision:before {
- content: "\f7b0"; }
-
-.fa-ioxhost:before {
- content: "\f208"; }
-
-.fa-italic:before {
- content: "\f033"; }
-
-.fa-itch-io:before {
- content: "\f83a"; }
-
-.fa-itunes:before {
- content: "\f3b4"; }
-
-.fa-itunes-note:before {
- content: "\f3b5"; }
-
-.fa-java:before {
- content: "\f4e4"; }
-
-.fa-jedi:before {
- content: "\f669"; }
-
-.fa-jedi-order:before {
- content: "\f50e"; }
-
-.fa-jenkins:before {
- content: "\f3b6"; }
-
-.fa-jira:before {
- content: "\f7b1"; }
-
-.fa-joget:before {
- content: "\f3b7"; }
-
-.fa-joint:before {
- content: "\f595"; }
-
-.fa-joomla:before {
- content: "\f1aa"; }
-
-.fa-journal-whills:before {
- content: "\f66a"; }
-
-.fa-js:before {
- content: "\f3b8"; }
-
-.fa-js-square:before {
- content: "\f3b9"; }
-
-.fa-jsfiddle:before {
- content: "\f1cc"; }
-
-.fa-kaaba:before {
- content: "\f66b"; }
-
-.fa-kaggle:before {
- content: "\f5fa"; }
-
-.fa-key:before {
- content: "\f084"; }
-
-.fa-keybase:before {
- content: "\f4f5"; }
-
-.fa-keyboard:before {
- content: "\f11c"; }
-
-.fa-keycdn:before {
- content: "\f3ba"; }
-
-.fa-khanda:before {
- content: "\f66d"; }
-
-.fa-kickstarter:before {
- content: "\f3bb"; }
-
-.fa-kickstarter-k:before {
- content: "\f3bc"; }
-
-.fa-kiss:before {
- content: "\f596"; }
-
-.fa-kiss-beam:before {
- content: "\f597"; }
-
-.fa-kiss-wink-heart:before {
- content: "\f598"; }
-
-.fa-kiwi-bird:before {
- content: "\f535"; }
-
-.fa-korvue:before {
- content: "\f42f"; }
-
-.fa-landmark:before {
- content: "\f66f"; }
-
-.fa-language:before {
- content: "\f1ab"; }
-
-.fa-laptop:before {
- content: "\f109"; }
-
-.fa-laptop-code:before {
- content: "\f5fc"; }
-
-.fa-laptop-medical:before {
- content: "\f812"; }
-
-.fa-laravel:before {
- content: "\f3bd"; }
-
-.fa-lastfm:before {
- content: "\f202"; }
-
-.fa-lastfm-square:before {
- content: "\f203"; }
-
-.fa-laugh:before {
- content: "\f599"; }
-
-.fa-laugh-beam:before {
- content: "\f59a"; }
-
-.fa-laugh-squint:before {
- content: "\f59b"; }
-
-.fa-laugh-wink:before {
- content: "\f59c"; }
-
-.fa-layer-group:before {
- content: "\f5fd"; }
-
-.fa-leaf:before {
- content: "\f06c"; }
-
-.fa-leanpub:before {
- content: "\f212"; }
-
-.fa-lemon:before {
- content: "\f094"; }
-
-.fa-less:before {
- content: "\f41d"; }
-
-.fa-less-than:before {
- content: "\f536"; }
-
-.fa-less-than-equal:before {
- content: "\f537"; }
-
-.fa-level-down-alt:before {
- content: "\f3be"; }
-
-.fa-level-up-alt:before {
- content: "\f3bf"; }
-
-.fa-life-ring:before {
- content: "\f1cd"; }
-
-.fa-lightbulb:before {
- content: "\f0eb"; }
-
-.fa-line:before {
- content: "\f3c0"; }
-
-.fa-link:before {
- content: "\f0c1"; }
-
-.fa-linkedin:before {
- content: "\f08c"; }
-
-.fa-linkedin-in:before {
- content: "\f0e1"; }
-
-.fa-linode:before {
- content: "\f2b8"; }
-
-.fa-linux:before {
- content: "\f17c"; }
-
-.fa-lira-sign:before {
- content: "\f195"; }
-
-.fa-list:before {
- content: "\f03a"; }
-
-.fa-list-alt:before {
- content: "\f022"; }
-
-.fa-list-ol:before {
- content: "\f0cb"; }
-
-.fa-list-ul:before {
- content: "\f0ca"; }
-
-.fa-location-arrow:before {
- content: "\f124"; }
-
-.fa-lock:before {
- content: "\f023"; }
-
-.fa-lock-open:before {
- content: "\f3c1"; }
-
-.fa-long-arrow-alt-down:before {
- content: "\f309"; }
-
-.fa-long-arrow-alt-left:before {
- content: "\f30a"; }
-
-.fa-long-arrow-alt-right:before {
- content: "\f30b"; }
-
-.fa-long-arrow-alt-up:before {
- content: "\f30c"; }
-
-.fa-low-vision:before {
- content: "\f2a8"; }
-
-.fa-luggage-cart:before {
- content: "\f59d"; }
-
-.fa-lyft:before {
- content: "\f3c3"; }
-
-.fa-magento:before {
- content: "\f3c4"; }
-
-.fa-magic:before {
- content: "\f0d0"; }
-
-.fa-magnet:before {
- content: "\f076"; }
-
-.fa-mail-bulk:before {
- content: "\f674"; }
-
-.fa-mailchimp:before {
- content: "\f59e"; }
-
-.fa-male:before {
- content: "\f183"; }
-
-.fa-mandalorian:before {
- content: "\f50f"; }
-
-.fa-map:before {
- content: "\f279"; }
-
-.fa-map-marked:before {
- content: "\f59f"; }
-
-.fa-map-marked-alt:before {
- content: "\f5a0"; }
-
-.fa-map-marker:before {
- content: "\f041"; }
-
-.fa-map-marker-alt:before {
- content: "\f3c5"; }
-
-.fa-map-pin:before {
- content: "\f276"; }
-
-.fa-map-signs:before {
- content: "\f277"; }
-
-.fa-markdown:before {
- content: "\f60f"; }
-
-.fa-marker:before {
- content: "\f5a1"; }
-
-.fa-mars:before {
- content: "\f222"; }
-
-.fa-mars-double:before {
- content: "\f227"; }
-
-.fa-mars-stroke:before {
- content: "\f229"; }
-
-.fa-mars-stroke-h:before {
- content: "\f22b"; }
-
-.fa-mars-stroke-v:before {
- content: "\f22a"; }
-
-.fa-mask:before {
- content: "\f6fa"; }
-
-.fa-mastodon:before {
- content: "\f4f6"; }
-
-.fa-maxcdn:before {
- content: "\f136"; }
-
-.fa-mdb:before {
- content: "\f8ca"; }
-
-.fa-medal:before {
- content: "\f5a2"; }
-
-.fa-medapps:before {
- content: "\f3c6"; }
-
-.fa-medium:before {
- content: "\f23a"; }
-
-.fa-medium-m:before {
- content: "\f3c7"; }
-
-.fa-medkit:before {
- content: "\f0fa"; }
-
-.fa-medrt:before {
- content: "\f3c8"; }
-
-.fa-meetup:before {
- content: "\f2e0"; }
-
-.fa-megaport:before {
- content: "\f5a3"; }
-
-.fa-meh:before {
- content: "\f11a"; }
-
-.fa-meh-blank:before {
- content: "\f5a4"; }
-
-.fa-meh-rolling-eyes:before {
- content: "\f5a5"; }
-
-.fa-memory:before {
- content: "\f538"; }
-
-.fa-mendeley:before {
- content: "\f7b3"; }
-
-.fa-menorah:before {
- content: "\f676"; }
-
-.fa-mercury:before {
- content: "\f223"; }
-
-.fa-meteor:before {
- content: "\f753"; }
-
-.fa-microblog:before {
- content: "\f91a"; }
-
-.fa-microchip:before {
- content: "\f2db"; }
-
-.fa-microphone:before {
- content: "\f130"; }
-
-.fa-microphone-alt:before {
- content: "\f3c9"; }
-
-.fa-microphone-alt-slash:before {
- content: "\f539"; }
-
-.fa-microphone-slash:before {
- content: "\f131"; }
-
-.fa-microscope:before {
- content: "\f610"; }
-
-.fa-microsoft:before {
- content: "\f3ca"; }
-
-.fa-minus:before {
- content: "\f068"; }
-
-.fa-minus-circle:before {
- content: "\f056"; }
-
-.fa-minus-square:before {
- content: "\f146"; }
-
-.fa-mitten:before {
- content: "\f7b5"; }
-
-.fa-mix:before {
- content: "\f3cb"; }
-
-.fa-mixcloud:before {
- content: "\f289"; }
-
-.fa-mixer:before {
- content: "\f956"; }
-
-.fa-mizuni:before {
- content: "\f3cc"; }
-
-.fa-mobile:before {
- content: "\f10b"; }
-
-.fa-mobile-alt:before {
- content: "\f3cd"; }
-
-.fa-modx:before {
- content: "\f285"; }
-
-.fa-monero:before {
- content: "\f3d0"; }
-
-.fa-money-bill:before {
- content: "\f0d6"; }
-
-.fa-money-bill-alt:before {
- content: "\f3d1"; }
-
-.fa-money-bill-wave:before {
- content: "\f53a"; }
-
-.fa-money-bill-wave-alt:before {
- content: "\f53b"; }
-
-.fa-money-check:before {
- content: "\f53c"; }
-
-.fa-money-check-alt:before {
- content: "\f53d"; }
-
-.fa-monument:before {
- content: "\f5a6"; }
-
-.fa-moon:before {
- content: "\f186"; }
-
-.fa-mortar-pestle:before {
- content: "\f5a7"; }
-
-.fa-mosque:before {
- content: "\f678"; }
-
-.fa-motorcycle:before {
- content: "\f21c"; }
-
-.fa-mountain:before {
- content: "\f6fc"; }
-
-.fa-mouse:before {
- content: "\f8cc"; }
-
-.fa-mouse-pointer:before {
- content: "\f245"; }
-
-.fa-mug-hot:before {
- content: "\f7b6"; }
-
-.fa-music:before {
- content: "\f001"; }
-
-.fa-napster:before {
- content: "\f3d2"; }
-
-.fa-neos:before {
- content: "\f612"; }
-
-.fa-network-wired:before {
- content: "\f6ff"; }
-
-.fa-neuter:before {
- content: "\f22c"; }
-
-.fa-newspaper:before {
- content: "\f1ea"; }
-
-.fa-nimblr:before {
- content: "\f5a8"; }
-
-.fa-node:before {
- content: "\f419"; }
-
-.fa-node-js:before {
- content: "\f3d3"; }
-
-.fa-not-equal:before {
- content: "\f53e"; }
-
-.fa-notes-medical:before {
- content: "\f481"; }
-
-.fa-npm:before {
- content: "\f3d4"; }
-
-.fa-ns8:before {
- content: "\f3d5"; }
-
-.fa-nutritionix:before {
- content: "\f3d6"; }
-
-.fa-object-group:before {
- content: "\f247"; }
-
-.fa-object-ungroup:before {
- content: "\f248"; }
-
-.fa-odnoklassniki:before {
- content: "\f263"; }
-
-.fa-odnoklassniki-square:before {
- content: "\f264"; }
-
-.fa-oil-can:before {
- content: "\f613"; }
-
-.fa-old-republic:before {
- content: "\f510"; }
-
-.fa-om:before {
- content: "\f679"; }
-
-.fa-opencart:before {
- content: "\f23d"; }
-
-.fa-openid:before {
- content: "\f19b"; }
-
-.fa-opera:before {
- content: "\f26a"; }
-
-.fa-optin-monster:before {
- content: "\f23c"; }
-
-.fa-orcid:before {
- content: "\f8d2"; }
-
-.fa-osi:before {
- content: "\f41a"; }
-
-.fa-otter:before {
- content: "\f700"; }
-
-.fa-outdent:before {
- content: "\f03b"; }
-
-.fa-page4:before {
- content: "\f3d7"; }
-
-.fa-pagelines:before {
- content: "\f18c"; }
-
-.fa-pager:before {
- content: "\f815"; }
-
-.fa-paint-brush:before {
- content: "\f1fc"; }
-
-.fa-paint-roller:before {
- content: "\f5aa"; }
-
-.fa-palette:before {
- content: "\f53f"; }
-
-.fa-palfed:before {
- content: "\f3d8"; }
-
-.fa-pallet:before {
- content: "\f482"; }
-
-.fa-paper-plane:before {
- content: "\f1d8"; }
-
-.fa-paperclip:before {
- content: "\f0c6"; }
-
-.fa-parachute-box:before {
- content: "\f4cd"; }
-
-.fa-paragraph:before {
- content: "\f1dd"; }
-
-.fa-parking:before {
- content: "\f540"; }
-
-.fa-passport:before {
- content: "\f5ab"; }
-
-.fa-pastafarianism:before {
- content: "\f67b"; }
-
-.fa-paste:before {
- content: "\f0ea"; }
-
-.fa-patreon:before {
- content: "\f3d9"; }
-
-.fa-pause:before {
- content: "\f04c"; }
-
-.fa-pause-circle:before {
- content: "\f28b"; }
-
-.fa-paw:before {
- content: "\f1b0"; }
-
-.fa-paypal:before {
- content: "\f1ed"; }
-
-.fa-peace:before {
- content: "\f67c"; }
-
-.fa-pen:before {
- content: "\f304"; }
-
-.fa-pen-alt:before {
- content: "\f305"; }
-
-.fa-pen-fancy:before {
- content: "\f5ac"; }
-
-.fa-pen-nib:before {
- content: "\f5ad"; }
-
-.fa-pen-square:before {
- content: "\f14b"; }
-
-.fa-pencil-alt:before {
- content: "\f303"; }
-
-.fa-pencil-ruler:before {
- content: "\f5ae"; }
-
-.fa-penny-arcade:before {
- content: "\f704"; }
-
-.fa-people-carry:before {
- content: "\f4ce"; }
-
-.fa-pepper-hot:before {
- content: "\f816"; }
-
-.fa-percent:before {
- content: "\f295"; }
-
-.fa-percentage:before {
- content: "\f541"; }
-
-.fa-periscope:before {
- content: "\f3da"; }
-
-.fa-person-booth:before {
- content: "\f756"; }
-
-.fa-phabricator:before {
- content: "\f3db"; }
-
-.fa-phoenix-framework:before {
- content: "\f3dc"; }
-
-.fa-phoenix-squadron:before {
- content: "\f511"; }
-
-.fa-phone:before {
- content: "\f095"; }
-
-.fa-phone-alt:before {
- content: "\f879"; }
-
-.fa-phone-slash:before {
- content: "\f3dd"; }
-
-.fa-phone-square:before {
- content: "\f098"; }
-
-.fa-phone-square-alt:before {
- content: "\f87b"; }
-
-.fa-phone-volume:before {
- content: "\f2a0"; }
-
-.fa-photo-video:before {
- content: "\f87c"; }
-
-.fa-php:before {
- content: "\f457"; }
-
-.fa-pied-piper:before {
- content: "\f2ae"; }
-
-.fa-pied-piper-alt:before {
- content: "\f1a8"; }
-
-.fa-pied-piper-hat:before {
- content: "\f4e5"; }
-
-.fa-pied-piper-pp:before {
- content: "\f1a7"; }
-
-.fa-pied-piper-square:before {
- content: "\f91e"; }
-
-.fa-piggy-bank:before {
- content: "\f4d3"; }
-
-.fa-pills:before {
- content: "\f484"; }
-
-.fa-pinterest:before {
- content: "\f0d2"; }
-
-.fa-pinterest-p:before {
- content: "\f231"; }
-
-.fa-pinterest-square:before {
- content: "\f0d3"; }
-
-.fa-pizza-slice:before {
- content: "\f818"; }
-
-.fa-place-of-worship:before {
- content: "\f67f"; }
-
-.fa-plane:before {
- content: "\f072"; }
-
-.fa-plane-arrival:before {
- content: "\f5af"; }
-
-.fa-plane-departure:before {
- content: "\f5b0"; }
-
-.fa-play:before {
- content: "\f04b"; }
-
-.fa-play-circle:before {
- content: "\f144"; }
-
-.fa-playstation:before {
- content: "\f3df"; }
-
-.fa-plug:before {
- content: "\f1e6"; }
-
-.fa-plus:before {
- content: "\f067"; }
-
-.fa-plus-circle:before {
- content: "\f055"; }
-
-.fa-plus-square:before {
- content: "\f0fe"; }
-
-.fa-podcast:before {
- content: "\f2ce"; }
-
-.fa-poll:before {
- content: "\f681"; }
-
-.fa-poll-h:before {
- content: "\f682"; }
-
-.fa-poo:before {
- content: "\f2fe"; }
-
-.fa-poo-storm:before {
- content: "\f75a"; }
-
-.fa-poop:before {
- content: "\f619"; }
-
-.fa-portrait:before {
- content: "\f3e0"; }
-
-.fa-pound-sign:before {
- content: "\f154"; }
-
-.fa-power-off:before {
- content: "\f011"; }
-
-.fa-pray:before {
- content: "\f683"; }
-
-.fa-praying-hands:before {
- content: "\f684"; }
-
-.fa-prescription:before {
- content: "\f5b1"; }
-
-.fa-prescription-bottle:before {
- content: "\f485"; }
-
-.fa-prescription-bottle-alt:before {
- content: "\f486"; }
-
-.fa-print:before {
- content: "\f02f"; }
-
-.fa-procedures:before {
- content: "\f487"; }
-
-.fa-product-hunt:before {
- content: "\f288"; }
-
-.fa-project-diagram:before {
- content: "\f542"; }
-
-.fa-pushed:before {
- content: "\f3e1"; }
-
-.fa-puzzle-piece:before {
- content: "\f12e"; }
-
-.fa-python:before {
- content: "\f3e2"; }
-
-.fa-qq:before {
- content: "\f1d6"; }
-
-.fa-qrcode:before {
- content: "\f029"; }
-
-.fa-question:before {
- content: "\f128"; }
-
-.fa-question-circle:before {
- content: "\f059"; }
-
-.fa-quidditch:before {
- content: "\f458"; }
-
-.fa-quinscape:before {
- content: "\f459"; }
-
-.fa-quora:before {
- content: "\f2c4"; }
-
-.fa-quote-left:before {
- content: "\f10d"; }
-
-.fa-quote-right:before {
- content: "\f10e"; }
-
-.fa-quran:before {
- content: "\f687"; }
-
-.fa-r-project:before {
- content: "\f4f7"; }
-
-.fa-radiation:before {
- content: "\f7b9"; }
-
-.fa-radiation-alt:before {
- content: "\f7ba"; }
-
-.fa-rainbow:before {
- content: "\f75b"; }
-
-.fa-random:before {
- content: "\f074"; }
-
-.fa-raspberry-pi:before {
- content: "\f7bb"; }
-
-.fa-ravelry:before {
- content: "\f2d9"; }
-
-.fa-react:before {
- content: "\f41b"; }
-
-.fa-reacteurope:before {
- content: "\f75d"; }
-
-.fa-readme:before {
- content: "\f4d5"; }
-
-.fa-rebel:before {
- content: "\f1d0"; }
-
-.fa-receipt:before {
- content: "\f543"; }
-
-.fa-record-vinyl:before {
- content: "\f8d9"; }
-
-.fa-recycle:before {
- content: "\f1b8"; }
-
-.fa-red-river:before {
- content: "\f3e3"; }
-
-.fa-reddit:before {
- content: "\f1a1"; }
-
-.fa-reddit-alien:before {
- content: "\f281"; }
-
-.fa-reddit-square:before {
- content: "\f1a2"; }
-
-.fa-redhat:before {
- content: "\f7bc"; }
-
-.fa-redo:before {
- content: "\f01e"; }
-
-.fa-redo-alt:before {
- content: "\f2f9"; }
-
-.fa-registered:before {
- content: "\f25d"; }
-
-.fa-remove-format:before {
- content: "\f87d"; }
-
-.fa-renren:before {
- content: "\f18b"; }
-
-.fa-reply:before {
- content: "\f3e5"; }
-
-.fa-reply-all:before {
- content: "\f122"; }
-
-.fa-replyd:before {
- content: "\f3e6"; }
-
-.fa-republican:before {
- content: "\f75e"; }
-
-.fa-researchgate:before {
- content: "\f4f8"; }
-
-.fa-resolving:before {
- content: "\f3e7"; }
-
-.fa-restroom:before {
- content: "\f7bd"; }
-
-.fa-retweet:before {
- content: "\f079"; }
-
-.fa-rev:before {
- content: "\f5b2"; }
-
-.fa-ribbon:before {
- content: "\f4d6"; }
-
-.fa-ring:before {
- content: "\f70b"; }
-
-.fa-road:before {
- content: "\f018"; }
-
-.fa-robot:before {
- content: "\f544"; }
-
-.fa-rocket:before {
- content: "\f135"; }
-
-.fa-rocketchat:before {
- content: "\f3e8"; }
-
-.fa-rockrms:before {
- content: "\f3e9"; }
-
-.fa-route:before {
- content: "\f4d7"; }
-
-.fa-rss:before {
- content: "\f09e"; }
-
-.fa-rss-square:before {
- content: "\f143"; }
-
-.fa-ruble-sign:before {
- content: "\f158"; }
-
-.fa-ruler:before {
- content: "\f545"; }
-
-.fa-ruler-combined:before {
- content: "\f546"; }
-
-.fa-ruler-horizontal:before {
- content: "\f547"; }
-
-.fa-ruler-vertical:before {
- content: "\f548"; }
-
-.fa-running:before {
- content: "\f70c"; }
-
-.fa-rupee-sign:before {
- content: "\f156"; }
-
-.fa-sad-cry:before {
- content: "\f5b3"; }
-
-.fa-sad-tear:before {
- content: "\f5b4"; }
-
-.fa-safari:before {
- content: "\f267"; }
-
-.fa-salesforce:before {
- content: "\f83b"; }
-
-.fa-sass:before {
- content: "\f41e"; }
-
-.fa-satellite:before {
- content: "\f7bf"; }
-
-.fa-satellite-dish:before {
- content: "\f7c0"; }
-
-.fa-save:before {
- content: "\f0c7"; }
-
-.fa-schlix:before {
- content: "\f3ea"; }
-
-.fa-school:before {
- content: "\f549"; }
-
-.fa-screwdriver:before {
- content: "\f54a"; }
-
-.fa-scribd:before {
- content: "\f28a"; }
-
-.fa-scroll:before {
- content: "\f70e"; }
-
-.fa-sd-card:before {
- content: "\f7c2"; }
-
-.fa-search:before {
- content: "\f002"; }
-
-.fa-search-dollar:before {
- content: "\f688"; }
-
-.fa-search-location:before {
- content: "\f689"; }
-
-.fa-search-minus:before {
- content: "\f010"; }
-
-.fa-search-plus:before {
- content: "\f00e"; }
-
-.fa-searchengin:before {
- content: "\f3eb"; }
-
-.fa-seedling:before {
- content: "\f4d8"; }
-
-.fa-sellcast:before {
- content: "\f2da"; }
-
-.fa-sellsy:before {
- content: "\f213"; }
-
-.fa-server:before {
- content: "\f233"; }
-
-.fa-servicestack:before {
- content: "\f3ec"; }
-
-.fa-shapes:before {
- content: "\f61f"; }
-
-.fa-share:before {
- content: "\f064"; }
-
-.fa-share-alt:before {
- content: "\f1e0"; }
-
-.fa-share-alt-square:before {
- content: "\f1e1"; }
-
-.fa-share-square:before {
- content: "\f14d"; }
-
-.fa-shekel-sign:before {
- content: "\f20b"; }
-
-.fa-shield-alt:before {
- content: "\f3ed"; }
-
-.fa-ship:before {
- content: "\f21a"; }
-
-.fa-shipping-fast:before {
- content: "\f48b"; }
-
-.fa-shirtsinbulk:before {
- content: "\f214"; }
-
-.fa-shoe-prints:before {
- content: "\f54b"; }
-
-.fa-shopify:before {
- content: "\f957"; }
-
-.fa-shopping-bag:before {
- content: "\f290"; }
-
-.fa-shopping-basket:before {
- content: "\f291"; }
-
-.fa-shopping-cart:before {
- content: "\f07a"; }
-
-.fa-shopware:before {
- content: "\f5b5"; }
-
-.fa-shower:before {
- content: "\f2cc"; }
-
-.fa-shuttle-van:before {
- content: "\f5b6"; }
-
-.fa-sign:before {
- content: "\f4d9"; }
-
-.fa-sign-in-alt:before {
- content: "\f2f6"; }
-
-.fa-sign-language:before {
- content: "\f2a7"; }
-
-.fa-sign-out-alt:before {
- content: "\f2f5"; }
-
-.fa-signal:before {
- content: "\f012"; }
-
-.fa-signature:before {
- content: "\f5b7"; }
-
-.fa-sim-card:before {
- content: "\f7c4"; }
-
-.fa-simplybuilt:before {
- content: "\f215"; }
-
-.fa-sistrix:before {
- content: "\f3ee"; }
-
-.fa-sitemap:before {
- content: "\f0e8"; }
-
-.fa-sith:before {
- content: "\f512"; }
-
-.fa-skating:before {
- content: "\f7c5"; }
-
-.fa-sketch:before {
- content: "\f7c6"; }
-
-.fa-skiing:before {
- content: "\f7c9"; }
-
-.fa-skiing-nordic:before {
- content: "\f7ca"; }
-
-.fa-skull:before {
- content: "\f54c"; }
-
-.fa-skull-crossbones:before {
- content: "\f714"; }
-
-.fa-skyatlas:before {
- content: "\f216"; }
-
-.fa-skype:before {
- content: "\f17e"; }
-
-.fa-slack:before {
- content: "\f198"; }
-
-.fa-slack-hash:before {
- content: "\f3ef"; }
-
-.fa-slash:before {
- content: "\f715"; }
-
-.fa-sleigh:before {
- content: "\f7cc"; }
-
-.fa-sliders-h:before {
- content: "\f1de"; }
-
-.fa-slideshare:before {
- content: "\f1e7"; }
-
-.fa-smile:before {
- content: "\f118"; }
-
-.fa-smile-beam:before {
- content: "\f5b8"; }
-
-.fa-smile-wink:before {
- content: "\f4da"; }
-
-.fa-smog:before {
- content: "\f75f"; }
-
-.fa-smoking:before {
- content: "\f48d"; }
-
-.fa-smoking-ban:before {
- content: "\f54d"; }
-
-.fa-sms:before {
- content: "\f7cd"; }
-
-.fa-snapchat:before {
- content: "\f2ab"; }
-
-.fa-snapchat-ghost:before {
- content: "\f2ac"; }
-
-.fa-snapchat-square:before {
- content: "\f2ad"; }
-
-.fa-snowboarding:before {
- content: "\f7ce"; }
-
-.fa-snowflake:before {
- content: "\f2dc"; }
-
-.fa-snowman:before {
- content: "\f7d0"; }
-
-.fa-snowplow:before {
- content: "\f7d2"; }
-
-.fa-socks:before {
- content: "\f696"; }
-
-.fa-solar-panel:before {
- content: "\f5ba"; }
-
-.fa-sort:before {
- content: "\f0dc"; }
-
-.fa-sort-alpha-down:before {
- content: "\f15d"; }
-
-.fa-sort-alpha-down-alt:before {
- content: "\f881"; }
-
-.fa-sort-alpha-up:before {
- content: "\f15e"; }
-
-.fa-sort-alpha-up-alt:before {
- content: "\f882"; }
-
-.fa-sort-amount-down:before {
- content: "\f160"; }
-
-.fa-sort-amount-down-alt:before {
- content: "\f884"; }
-
-.fa-sort-amount-up:before {
- content: "\f161"; }
-
-.fa-sort-amount-up-alt:before {
- content: "\f885"; }
-
-.fa-sort-down:before {
- content: "\f0dd"; }
-
-.fa-sort-numeric-down:before {
- content: "\f162"; }
-
-.fa-sort-numeric-down-alt:before {
- content: "\f886"; }
-
-.fa-sort-numeric-up:before {
- content: "\f163"; }
-
-.fa-sort-numeric-up-alt:before {
- content: "\f887"; }
-
-.fa-sort-up:before {
- content: "\f0de"; }
-
-.fa-soundcloud:before {
- content: "\f1be"; }
-
-.fa-sourcetree:before {
- content: "\f7d3"; }
-
-.fa-spa:before {
- content: "\f5bb"; }
-
-.fa-space-shuttle:before {
- content: "\f197"; }
-
-.fa-speakap:before {
- content: "\f3f3"; }
-
-.fa-speaker-deck:before {
- content: "\f83c"; }
-
-.fa-spell-check:before {
- content: "\f891"; }
-
-.fa-spider:before {
- content: "\f717"; }
-
-.fa-spinner:before {
- content: "\f110"; }
-
-.fa-splotch:before {
- content: "\f5bc"; }
-
-.fa-spotify:before {
- content: "\f1bc"; }
-
-.fa-spray-can:before {
- content: "\f5bd"; }
-
-.fa-square:before {
- content: "\f0c8"; }
-
-.fa-square-full:before {
- content: "\f45c"; }
-
-.fa-square-root-alt:before {
- content: "\f698"; }
-
-.fa-squarespace:before {
- content: "\f5be"; }
-
-.fa-stack-exchange:before {
- content: "\f18d"; }
-
-.fa-stack-overflow:before {
- content: "\f16c"; }
-
-.fa-stackpath:before {
- content: "\f842"; }
-
-.fa-stamp:before {
- content: "\f5bf"; }
-
-.fa-star:before {
- content: "\f005"; }
-
-.fa-star-and-crescent:before {
- content: "\f699"; }
-
-.fa-star-half:before {
- content: "\f089"; }
-
-.fa-star-half-alt:before {
- content: "\f5c0"; }
-
-.fa-star-of-david:before {
- content: "\f69a"; }
-
-.fa-star-of-life:before {
- content: "\f621"; }
-
-.fa-staylinked:before {
- content: "\f3f5"; }
-
-.fa-steam:before {
- content: "\f1b6"; }
-
-.fa-steam-square:before {
- content: "\f1b7"; }
-
-.fa-steam-symbol:before {
- content: "\f3f6"; }
-
-.fa-step-backward:before {
- content: "\f048"; }
-
-.fa-step-forward:before {
- content: "\f051"; }
-
-.fa-stethoscope:before {
- content: "\f0f1"; }
-
-.fa-sticker-mule:before {
- content: "\f3f7"; }
-
-.fa-sticky-note:before {
- content: "\f249"; }
-
-.fa-stop:before {
- content: "\f04d"; }
-
-.fa-stop-circle:before {
- content: "\f28d"; }
-
-.fa-stopwatch:before {
- content: "\f2f2"; }
-
-.fa-store:before {
- content: "\f54e"; }
-
-.fa-store-alt:before {
- content: "\f54f"; }
-
-.fa-strava:before {
- content: "\f428"; }
-
-.fa-stream:before {
- content: "\f550"; }
-
-.fa-street-view:before {
- content: "\f21d"; }
-
-.fa-strikethrough:before {
- content: "\f0cc"; }
-
-.fa-stripe:before {
- content: "\f429"; }
-
-.fa-stripe-s:before {
- content: "\f42a"; }
-
-.fa-stroopwafel:before {
- content: "\f551"; }
-
-.fa-studiovinari:before {
- content: "\f3f8"; }
-
-.fa-stumbleupon:before {
- content: "\f1a4"; }
-
-.fa-stumbleupon-circle:before {
- content: "\f1a3"; }
-
-.fa-subscript:before {
- content: "\f12c"; }
-
-.fa-subway:before {
- content: "\f239"; }
-
-.fa-suitcase:before {
- content: "\f0f2"; }
-
-.fa-suitcase-rolling:before {
- content: "\f5c1"; }
-
-.fa-sun:before {
- content: "\f185"; }
-
-.fa-superpowers:before {
- content: "\f2dd"; }
-
-.fa-superscript:before {
- content: "\f12b"; }
-
-.fa-supple:before {
- content: "\f3f9"; }
-
-.fa-surprise:before {
- content: "\f5c2"; }
-
-.fa-suse:before {
- content: "\f7d6"; }
-
-.fa-swatchbook:before {
- content: "\f5c3"; }
-
-.fa-swift:before {
- content: "\f8e1"; }
-
-.fa-swimmer:before {
- content: "\f5c4"; }
-
-.fa-swimming-pool:before {
- content: "\f5c5"; }
-
-.fa-symfony:before {
- content: "\f83d"; }
-
-.fa-synagogue:before {
- content: "\f69b"; }
-
-.fa-sync:before {
- content: "\f021"; }
-
-.fa-sync-alt:before {
- content: "\f2f1"; }
-
-.fa-syringe:before {
- content: "\f48e"; }
-
-.fa-table:before {
- content: "\f0ce"; }
-
-.fa-table-tennis:before {
- content: "\f45d"; }
-
-.fa-tablet:before {
- content: "\f10a"; }
-
-.fa-tablet-alt:before {
- content: "\f3fa"; }
-
-.fa-tablets:before {
- content: "\f490"; }
-
-.fa-tachometer-alt:before {
- content: "\f3fd"; }
-
-.fa-tag:before {
- content: "\f02b"; }
-
-.fa-tags:before {
- content: "\f02c"; }
-
-.fa-tape:before {
- content: "\f4db"; }
-
-.fa-tasks:before {
- content: "\f0ae"; }
-
-.fa-taxi:before {
- content: "\f1ba"; }
-
-.fa-teamspeak:before {
- content: "\f4f9"; }
-
-.fa-teeth:before {
- content: "\f62e"; }
-
-.fa-teeth-open:before {
- content: "\f62f"; }
-
-.fa-telegram:before {
- content: "\f2c6"; }
-
-.fa-telegram-plane:before {
- content: "\f3fe"; }
-
-.fa-temperature-high:before {
- content: "\f769"; }
-
-.fa-temperature-low:before {
- content: "\f76b"; }
-
-.fa-tencent-weibo:before {
- content: "\f1d5"; }
-
-.fa-tenge:before {
- content: "\f7d7"; }
-
-.fa-terminal:before {
- content: "\f120"; }
-
-.fa-text-height:before {
- content: "\f034"; }
-
-.fa-text-width:before {
- content: "\f035"; }
-
-.fa-th:before {
- content: "\f00a"; }
-
-.fa-th-large:before {
- content: "\f009"; }
-
-.fa-th-list:before {
- content: "\f00b"; }
-
-.fa-the-red-yeti:before {
- content: "\f69d"; }
-
-.fa-theater-masks:before {
- content: "\f630"; }
-
-.fa-themeco:before {
- content: "\f5c6"; }
-
-.fa-themeisle:before {
- content: "\f2b2"; }
-
-.fa-thermometer:before {
- content: "\f491"; }
-
-.fa-thermometer-empty:before {
- content: "\f2cb"; }
-
-.fa-thermometer-full:before {
- content: "\f2c7"; }
-
-.fa-thermometer-half:before {
- content: "\f2c9"; }
-
-.fa-thermometer-quarter:before {
- content: "\f2ca"; }
-
-.fa-thermometer-three-quarters:before {
- content: "\f2c8"; }
-
-.fa-think-peaks:before {
- content: "\f731"; }
-
-.fa-thumbs-down:before {
- content: "\f165"; }
-
-.fa-thumbs-up:before {
- content: "\f164"; }
-
-.fa-thumbtack:before {
- content: "\f08d"; }
-
-.fa-ticket-alt:before {
- content: "\f3ff"; }
-
-.fa-times:before {
- content: "\f00d"; }
-
-.fa-times-circle:before {
- content: "\f057"; }
-
-.fa-tint:before {
- content: "\f043"; }
-
-.fa-tint-slash:before {
- content: "\f5c7"; }
-
-.fa-tired:before {
- content: "\f5c8"; }
-
-.fa-toggle-off:before {
- content: "\f204"; }
-
-.fa-toggle-on:before {
- content: "\f205"; }
-
-.fa-toilet:before {
- content: "\f7d8"; }
-
-.fa-toilet-paper:before {
- content: "\f71e"; }
-
-.fa-toolbox:before {
- content: "\f552"; }
-
-.fa-tools:before {
- content: "\f7d9"; }
-
-.fa-tooth:before {
- content: "\f5c9"; }
-
-.fa-torah:before {
- content: "\f6a0"; }
-
-.fa-torii-gate:before {
- content: "\f6a1"; }
-
-.fa-tractor:before {
- content: "\f722"; }
-
-.fa-trade-federation:before {
- content: "\f513"; }
-
-.fa-trademark:before {
- content: "\f25c"; }
-
-.fa-traffic-light:before {
- content: "\f637"; }
-
-.fa-trailer:before {
- content: "\f941"; }
-
-.fa-train:before {
- content: "\f238"; }
-
-.fa-tram:before {
- content: "\f7da"; }
-
-.fa-transgender:before {
- content: "\f224"; }
-
-.fa-transgender-alt:before {
- content: "\f225"; }
-
-.fa-trash:before {
- content: "\f1f8"; }
-
-.fa-trash-alt:before {
- content: "\f2ed"; }
-
-.fa-trash-restore:before {
- content: "\f829"; }
-
-.fa-trash-restore-alt:before {
- content: "\f82a"; }
-
-.fa-tree:before {
- content: "\f1bb"; }
-
-.fa-trello:before {
- content: "\f181"; }
-
-.fa-tripadvisor:before {
- content: "\f262"; }
-
-.fa-trophy:before {
- content: "\f091"; }
-
-.fa-truck:before {
- content: "\f0d1"; }
-
-.fa-truck-loading:before {
- content: "\f4de"; }
-
-.fa-truck-monster:before {
- content: "\f63b"; }
-
-.fa-truck-moving:before {
- content: "\f4df"; }
-
-.fa-truck-pickup:before {
- content: "\f63c"; }
-
-.fa-tshirt:before {
- content: "\f553"; }
-
-.fa-tty:before {
- content: "\f1e4"; }
-
-.fa-tumblr:before {
- content: "\f173"; }
-
-.fa-tumblr-square:before {
- content: "\f174"; }
-
-.fa-tv:before {
- content: "\f26c"; }
-
-.fa-twitch:before {
- content: "\f1e8"; }
-
-.fa-twitter:before {
- content: "\f099"; }
-
-.fa-twitter-square:before {
- content: "\f081"; }
-
-.fa-typo3:before {
- content: "\f42b"; }
-
-.fa-uber:before {
- content: "\f402"; }
-
-.fa-ubuntu:before {
- content: "\f7df"; }
-
-.fa-uikit:before {
- content: "\f403"; }
-
-.fa-umbraco:before {
- content: "\f8e8"; }
-
-.fa-umbrella:before {
- content: "\f0e9"; }
-
-.fa-umbrella-beach:before {
- content: "\f5ca"; }
-
-.fa-underline:before {
- content: "\f0cd"; }
-
-.fa-undo:before {
- content: "\f0e2"; }
-
-.fa-undo-alt:before {
- content: "\f2ea"; }
-
-.fa-uniregistry:before {
- content: "\f404"; }
-
-.fa-unity:before {
- content: "\f949"; }
-
-.fa-universal-access:before {
- content: "\f29a"; }
-
-.fa-university:before {
- content: "\f19c"; }
-
-.fa-unlink:before {
- content: "\f127"; }
-
-.fa-unlock:before {
- content: "\f09c"; }
-
-.fa-unlock-alt:before {
- content: "\f13e"; }
-
-.fa-untappd:before {
- content: "\f405"; }
-
-.fa-upload:before {
- content: "\f093"; }
-
-.fa-ups:before {
- content: "\f7e0"; }
-
-.fa-usb:before {
- content: "\f287"; }
-
-.fa-user:before {
- content: "\f007"; }
-
-.fa-user-alt:before {
- content: "\f406"; }
-
-.fa-user-alt-slash:before {
- content: "\f4fa"; }
-
-.fa-user-astronaut:before {
- content: "\f4fb"; }
-
-.fa-user-check:before {
- content: "\f4fc"; }
-
-.fa-user-circle:before {
- content: "\f2bd"; }
-
-.fa-user-clock:before {
- content: "\f4fd"; }
-
-.fa-user-cog:before {
- content: "\f4fe"; }
-
-.fa-user-edit:before {
- content: "\f4ff"; }
-
-.fa-user-friends:before {
- content: "\f500"; }
-
-.fa-user-graduate:before {
- content: "\f501"; }
-
-.fa-user-injured:before {
- content: "\f728"; }
-
-.fa-user-lock:before {
- content: "\f502"; }
-
-.fa-user-md:before {
- content: "\f0f0"; }
-
-.fa-user-minus:before {
- content: "\f503"; }
-
-.fa-user-ninja:before {
- content: "\f504"; }
-
-.fa-user-nurse:before {
- content: "\f82f"; }
-
-.fa-user-plus:before {
- content: "\f234"; }
-
-.fa-user-secret:before {
- content: "\f21b"; }
-
-.fa-user-shield:before {
- content: "\f505"; }
-
-.fa-user-slash:before {
- content: "\f506"; }
-
-.fa-user-tag:before {
- content: "\f507"; }
-
-.fa-user-tie:before {
- content: "\f508"; }
-
-.fa-user-times:before {
- content: "\f235"; }
-
-.fa-users:before {
- content: "\f0c0"; }
-
-.fa-users-cog:before {
- content: "\f509"; }
-
-.fa-usps:before {
- content: "\f7e1"; }
-
-.fa-ussunnah:before {
- content: "\f407"; }
-
-.fa-utensil-spoon:before {
- content: "\f2e5"; }
-
-.fa-utensils:before {
- content: "\f2e7"; }
-
-.fa-vaadin:before {
- content: "\f408"; }
-
-.fa-vector-square:before {
- content: "\f5cb"; }
-
-.fa-venus:before {
- content: "\f221"; }
-
-.fa-venus-double:before {
- content: "\f226"; }
-
-.fa-venus-mars:before {
- content: "\f228"; }
-
-.fa-viacoin:before {
- content: "\f237"; }
-
-.fa-viadeo:before {
- content: "\f2a9"; }
-
-.fa-viadeo-square:before {
- content: "\f2aa"; }
-
-.fa-vial:before {
- content: "\f492"; }
-
-.fa-vials:before {
- content: "\f493"; }
-
-.fa-viber:before {
- content: "\f409"; }
-
-.fa-video:before {
- content: "\f03d"; }
-
-.fa-video-slash:before {
- content: "\f4e2"; }
-
-.fa-vihara:before {
- content: "\f6a7"; }
-
-.fa-vimeo:before {
- content: "\f40a"; }
-
-.fa-vimeo-square:before {
- content: "\f194"; }
-
-.fa-vimeo-v:before {
- content: "\f27d"; }
-
-.fa-vine:before {
- content: "\f1ca"; }
-
-.fa-vk:before {
- content: "\f189"; }
-
-.fa-vnv:before {
- content: "\f40b"; }
-
-.fa-voicemail:before {
- content: "\f897"; }
-
-.fa-volleyball-ball:before {
- content: "\f45f"; }
-
-.fa-volume-down:before {
- content: "\f027"; }
-
-.fa-volume-mute:before {
- content: "\f6a9"; }
-
-.fa-volume-off:before {
- content: "\f026"; }
-
-.fa-volume-up:before {
- content: "\f028"; }
-
-.fa-vote-yea:before {
- content: "\f772"; }
-
-.fa-vr-cardboard:before {
- content: "\f729"; }
-
-.fa-vuejs:before {
- content: "\f41f"; }
-
-.fa-walking:before {
- content: "\f554"; }
-
-.fa-wallet:before {
- content: "\f555"; }
-
-.fa-warehouse:before {
- content: "\f494"; }
-
-.fa-water:before {
- content: "\f773"; }
-
-.fa-wave-square:before {
- content: "\f83e"; }
-
-.fa-waze:before {
- content: "\f83f"; }
-
-.fa-weebly:before {
- content: "\f5cc"; }
-
-.fa-weibo:before {
- content: "\f18a"; }
-
-.fa-weight:before {
- content: "\f496"; }
-
-.fa-weight-hanging:before {
- content: "\f5cd"; }
-
-.fa-weixin:before {
- content: "\f1d7"; }
-
-.fa-whatsapp:before {
- content: "\f232"; }
-
-.fa-whatsapp-square:before {
- content: "\f40c"; }
-
-.fa-wheelchair:before {
- content: "\f193"; }
-
-.fa-whmcs:before {
- content: "\f40d"; }
-
-.fa-wifi:before {
- content: "\f1eb"; }
-
-.fa-wikipedia-w:before {
- content: "\f266"; }
-
-.fa-wind:before {
- content: "\f72e"; }
-
-.fa-window-close:before {
- content: "\f410"; }
-
-.fa-window-maximize:before {
- content: "\f2d0"; }
-
-.fa-window-minimize:before {
- content: "\f2d1"; }
-
-.fa-window-restore:before {
- content: "\f2d2"; }
-
-.fa-windows:before {
- content: "\f17a"; }
-
-.fa-wine-bottle:before {
- content: "\f72f"; }
-
-.fa-wine-glass:before {
- content: "\f4e3"; }
-
-.fa-wine-glass-alt:before {
- content: "\f5ce"; }
-
-.fa-wix:before {
- content: "\f5cf"; }
-
-.fa-wizards-of-the-coast:before {
- content: "\f730"; }
-
-.fa-wolf-pack-battalion:before {
- content: "\f514"; }
-
-.fa-won-sign:before {
- content: "\f159"; }
-
-.fa-wordpress:before {
- content: "\f19a"; }
-
-.fa-wordpress-simple:before {
- content: "\f411"; }
-
-.fa-wpbeginner:before {
- content: "\f297"; }
-
-.fa-wpexplorer:before {
- content: "\f2de"; }
-
-.fa-wpforms:before {
- content: "\f298"; }
-
-.fa-wpressr:before {
- content: "\f3e4"; }
-
-.fa-wrench:before {
- content: "\f0ad"; }
-
-.fa-x-ray:before {
- content: "\f497"; }
-
-.fa-xbox:before {
- content: "\f412"; }
-
-.fa-xing:before {
- content: "\f168"; }
-
-.fa-xing-square:before {
- content: "\f169"; }
-
-.fa-y-combinator:before {
- content: "\f23b"; }
-
-.fa-yahoo:before {
- content: "\f19e"; }
-
-.fa-yammer:before {
- content: "\f840"; }
-
-.fa-yandex:before {
- content: "\f413"; }
-
-.fa-yandex-international:before {
- content: "\f414"; }
-
-.fa-yarn:before {
- content: "\f7e3"; }
-
-.fa-yelp:before {
- content: "\f1e9"; }
-
-.fa-yen-sign:before {
- content: "\f157"; }
-
-.fa-yin-yang:before {
- content: "\f6ad"; }
-
-.fa-yoast:before {
- content: "\f2b1"; }
-
-.fa-youtube:before {
- content: "\f167"; }
-
-.fa-youtube-square:before {
- content: "\f431"; }
-
-.fa-zhihu:before {
- content: "\f63f"; }
-
-.sr-only {
- border: 0;
- clip: rect(0, 0, 0, 0);
- height: 1px;
- margin: -1px;
- overflow: hidden;
- padding: 0;
- position: absolute;
- width: 1px; }
-
-.sr-only-focusable:active, .sr-only-focusable:focus {
- clip: auto;
- height: auto;
- margin: 0;
- overflow: visible;
- position: static;
- width: auto; }
-@font-face {
- font-family: 'Font Awesome 5 Brands';
- font-style: normal;
- font-weight: 400;
- font-display: auto;
- src: url("../webfonts/fa-brands-400.eot");
- src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); }
-
-.fab {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-@font-face {
- font-family: 'Font Awesome 5 Free';
- font-style: normal;
- font-weight: 400;
- font-display: auto;
- src: url("../webfonts/fa-regular-400.eot");
- src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); }
-
-.far {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-@font-face {
- font-family: 'Font Awesome 5 Free';
- font-style: normal;
- font-weight: 900;
- font-display: auto;
- src: url("../webfonts/fa-solid-900.eot");
- src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
-
-.fa,
-.fas {
- font-family: 'Font Awesome 5 Free';
- font-weight: 900; }
diff --git a/static/css/all.min.css b/static/css/all.min.css
deleted file mode 100644
index d16a4d55..00000000
--- a/static/css/all.min.css
+++ /dev/null
@@ -1,5 +0,0 @@
-/*!
- * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\f952"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\f907"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\f913"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\f955"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\f91a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\f956"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\f91e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\f957"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\f941"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\f949"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.fab,.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900}
\ No newline at end of file
diff --git a/static/css/brands.css b/static/css/brands.css
deleted file mode 100644
index 46f4266d..00000000
--- a/static/css/brands.css
+++ /dev/null
@@ -1,15 +0,0 @@
-/*!
- * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-@font-face {
- font-family: 'Font Awesome 5 Brands';
- font-style: normal;
- font-weight: 400;
- font-display: auto;
- src: url("../webfonts/fa-brands-400.eot");
- src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); }
-
-.fab {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
diff --git a/static/css/brands.min.css b/static/css/brands.min.css
deleted file mode 100644
index 1455bae3..00000000
--- a/static/css/brands.min.css
+++ /dev/null
@@ -1,5 +0,0 @@
-/*!
- * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands";font-weight:400}
\ No newline at end of file
diff --git a/static/css/fontawesome.css b/static/css/fontawesome.css
deleted file mode 100644
index b3e0c53a..00000000
--- a/static/css/fontawesome.css
+++ /dev/null
@@ -1,4429 +0,0 @@
-/*!
- * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-.fa,
-.fas,
-.far,
-.fal,
-.fad,
-.fab {
- -moz-osx-font-smoothing: grayscale;
- -webkit-font-smoothing: antialiased;
- display: inline-block;
- font-style: normal;
- font-variant: normal;
- text-rendering: auto;
- line-height: 1; }
-
-.fa-lg {
- font-size: 1.33333em;
- line-height: 0.75em;
- vertical-align: -.0667em; }
-
-.fa-xs {
- font-size: .75em; }
-
-.fa-sm {
- font-size: .875em; }
-
-.fa-1x {
- font-size: 1em; }
-
-.fa-2x {
- font-size: 2em; }
-
-.fa-3x {
- font-size: 3em; }
-
-.fa-4x {
- font-size: 4em; }
-
-.fa-5x {
- font-size: 5em; }
-
-.fa-6x {
- font-size: 6em; }
-
-.fa-7x {
- font-size: 7em; }
-
-.fa-8x {
- font-size: 8em; }
-
-.fa-9x {
- font-size: 9em; }
-
-.fa-10x {
- font-size: 10em; }
-
-.fa-fw {
- text-align: center;
- width: 1.25em; }
-
-.fa-ul {
- list-style-type: none;
- margin-left: 2.5em;
- padding-left: 0; }
- .fa-ul > li {
- position: relative; }
-
-.fa-li {
- left: -2em;
- position: absolute;
- text-align: center;
- width: 2em;
- line-height: inherit; }
-
-.fa-border {
- border: solid 0.08em #eee;
- border-radius: .1em;
- padding: .2em .25em .15em; }
-
-.fa-pull-left {
- float: left; }
-
-.fa-pull-right {
- float: right; }
-
-.fa.fa-pull-left,
-.fas.fa-pull-left,
-.far.fa-pull-left,
-.fal.fa-pull-left,
-.fab.fa-pull-left {
- margin-right: .3em; }
-
-.fa.fa-pull-right,
-.fas.fa-pull-right,
-.far.fa-pull-right,
-.fal.fa-pull-right,
-.fab.fa-pull-right {
- margin-left: .3em; }
-
-.fa-spin {
- -webkit-animation: fa-spin 2s infinite linear;
- animation: fa-spin 2s infinite linear; }
-
-.fa-pulse {
- -webkit-animation: fa-spin 1s infinite steps(8);
- animation: fa-spin 1s infinite steps(8); }
-
-@-webkit-keyframes fa-spin {
- 0% {
- -webkit-transform: rotate(0deg);
- transform: rotate(0deg); }
- 100% {
- -webkit-transform: rotate(360deg);
- transform: rotate(360deg); } }
-
-@keyframes fa-spin {
- 0% {
- -webkit-transform: rotate(0deg);
- transform: rotate(0deg); }
- 100% {
- -webkit-transform: rotate(360deg);
- transform: rotate(360deg); } }
-
-.fa-rotate-90 {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
- -webkit-transform: rotate(90deg);
- transform: rotate(90deg); }
-
-.fa-rotate-180 {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
- -webkit-transform: rotate(180deg);
- transform: rotate(180deg); }
-
-.fa-rotate-270 {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
- -webkit-transform: rotate(270deg);
- transform: rotate(270deg); }
-
-.fa-flip-horizontal {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
- -webkit-transform: scale(-1, 1);
- transform: scale(-1, 1); }
-
-.fa-flip-vertical {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
- -webkit-transform: scale(1, -1);
- transform: scale(1, -1); }
-
-.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
- -webkit-transform: scale(-1, -1);
- transform: scale(-1, -1); }
-
-:root .fa-rotate-90,
-:root .fa-rotate-180,
-:root .fa-rotate-270,
-:root .fa-flip-horizontal,
-:root .fa-flip-vertical,
-:root .fa-flip-both {
- -webkit-filter: none;
- filter: none; }
-
-.fa-stack {
- display: inline-block;
- height: 2em;
- line-height: 2em;
- position: relative;
- vertical-align: middle;
- width: 2.5em; }
-
-.fa-stack-1x,
-.fa-stack-2x {
- left: 0;
- position: absolute;
- text-align: center;
- width: 100%; }
-
-.fa-stack-1x {
- line-height: inherit; }
-
-.fa-stack-2x {
- font-size: 2em; }
-
-.fa-inverse {
- color: #fff; }
-
-/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
-readers do not read off random characters that represent icons */
-.fa-500px:before {
- content: "\f26e"; }
-
-.fa-accessible-icon:before {
- content: "\f368"; }
-
-.fa-accusoft:before {
- content: "\f369"; }
-
-.fa-acquisitions-incorporated:before {
- content: "\f6af"; }
-
-.fa-ad:before {
- content: "\f641"; }
-
-.fa-address-book:before {
- content: "\f2b9"; }
-
-.fa-address-card:before {
- content: "\f2bb"; }
-
-.fa-adjust:before {
- content: "\f042"; }
-
-.fa-adn:before {
- content: "\f170"; }
-
-.fa-adobe:before {
- content: "\f778"; }
-
-.fa-adversal:before {
- content: "\f36a"; }
-
-.fa-affiliatetheme:before {
- content: "\f36b"; }
-
-.fa-air-freshener:before {
- content: "\f5d0"; }
-
-.fa-airbnb:before {
- content: "\f834"; }
-
-.fa-algolia:before {
- content: "\f36c"; }
-
-.fa-align-center:before {
- content: "\f037"; }
-
-.fa-align-justify:before {
- content: "\f039"; }
-
-.fa-align-left:before {
- content: "\f036"; }
-
-.fa-align-right:before {
- content: "\f038"; }
-
-.fa-alipay:before {
- content: "\f642"; }
-
-.fa-allergies:before {
- content: "\f461"; }
-
-.fa-amazon:before {
- content: "\f270"; }
-
-.fa-amazon-pay:before {
- content: "\f42c"; }
-
-.fa-ambulance:before {
- content: "\f0f9"; }
-
-.fa-american-sign-language-interpreting:before {
- content: "\f2a3"; }
-
-.fa-amilia:before {
- content: "\f36d"; }
-
-.fa-anchor:before {
- content: "\f13d"; }
-
-.fa-android:before {
- content: "\f17b"; }
-
-.fa-angellist:before {
- content: "\f209"; }
-
-.fa-angle-double-down:before {
- content: "\f103"; }
-
-.fa-angle-double-left:before {
- content: "\f100"; }
-
-.fa-angle-double-right:before {
- content: "\f101"; }
-
-.fa-angle-double-up:before {
- content: "\f102"; }
-
-.fa-angle-down:before {
- content: "\f107"; }
-
-.fa-angle-left:before {
- content: "\f104"; }
-
-.fa-angle-right:before {
- content: "\f105"; }
-
-.fa-angle-up:before {
- content: "\f106"; }
-
-.fa-angry:before {
- content: "\f556"; }
-
-.fa-angrycreative:before {
- content: "\f36e"; }
-
-.fa-angular:before {
- content: "\f420"; }
-
-.fa-ankh:before {
- content: "\f644"; }
-
-.fa-app-store:before {
- content: "\f36f"; }
-
-.fa-app-store-ios:before {
- content: "\f370"; }
-
-.fa-apper:before {
- content: "\f371"; }
-
-.fa-apple:before {
- content: "\f179"; }
-
-.fa-apple-alt:before {
- content: "\f5d1"; }
-
-.fa-apple-pay:before {
- content: "\f415"; }
-
-.fa-archive:before {
- content: "\f187"; }
-
-.fa-archway:before {
- content: "\f557"; }
-
-.fa-arrow-alt-circle-down:before {
- content: "\f358"; }
-
-.fa-arrow-alt-circle-left:before {
- content: "\f359"; }
-
-.fa-arrow-alt-circle-right:before {
- content: "\f35a"; }
-
-.fa-arrow-alt-circle-up:before {
- content: "\f35b"; }
-
-.fa-arrow-circle-down:before {
- content: "\f0ab"; }
-
-.fa-arrow-circle-left:before {
- content: "\f0a8"; }
-
-.fa-arrow-circle-right:before {
- content: "\f0a9"; }
-
-.fa-arrow-circle-up:before {
- content: "\f0aa"; }
-
-.fa-arrow-down:before {
- content: "\f063"; }
-
-.fa-arrow-left:before {
- content: "\f060"; }
-
-.fa-arrow-right:before {
- content: "\f061"; }
-
-.fa-arrow-up:before {
- content: "\f062"; }
-
-.fa-arrows-alt:before {
- content: "\f0b2"; }
-
-.fa-arrows-alt-h:before {
- content: "\f337"; }
-
-.fa-arrows-alt-v:before {
- content: "\f338"; }
-
-.fa-artstation:before {
- content: "\f77a"; }
-
-.fa-assistive-listening-systems:before {
- content: "\f2a2"; }
-
-.fa-asterisk:before {
- content: "\f069"; }
-
-.fa-asymmetrik:before {
- content: "\f372"; }
-
-.fa-at:before {
- content: "\f1fa"; }
-
-.fa-atlas:before {
- content: "\f558"; }
-
-.fa-atlassian:before {
- content: "\f77b"; }
-
-.fa-atom:before {
- content: "\f5d2"; }
-
-.fa-audible:before {
- content: "\f373"; }
-
-.fa-audio-description:before {
- content: "\f29e"; }
-
-.fa-autoprefixer:before {
- content: "\f41c"; }
-
-.fa-avianex:before {
- content: "\f374"; }
-
-.fa-aviato:before {
- content: "\f421"; }
-
-.fa-award:before {
- content: "\f559"; }
-
-.fa-aws:before {
- content: "\f375"; }
-
-.fa-baby:before {
- content: "\f77c"; }
-
-.fa-baby-carriage:before {
- content: "\f77d"; }
-
-.fa-backspace:before {
- content: "\f55a"; }
-
-.fa-backward:before {
- content: "\f04a"; }
-
-.fa-bacon:before {
- content: "\f7e5"; }
-
-.fa-bahai:before {
- content: "\f666"; }
-
-.fa-balance-scale:before {
- content: "\f24e"; }
-
-.fa-balance-scale-left:before {
- content: "\f515"; }
-
-.fa-balance-scale-right:before {
- content: "\f516"; }
-
-.fa-ban:before {
- content: "\f05e"; }
-
-.fa-band-aid:before {
- content: "\f462"; }
-
-.fa-bandcamp:before {
- content: "\f2d5"; }
-
-.fa-barcode:before {
- content: "\f02a"; }
-
-.fa-bars:before {
- content: "\f0c9"; }
-
-.fa-baseball-ball:before {
- content: "\f433"; }
-
-.fa-basketball-ball:before {
- content: "\f434"; }
-
-.fa-bath:before {
- content: "\f2cd"; }
-
-.fa-battery-empty:before {
- content: "\f244"; }
-
-.fa-battery-full:before {
- content: "\f240"; }
-
-.fa-battery-half:before {
- content: "\f242"; }
-
-.fa-battery-quarter:before {
- content: "\f243"; }
-
-.fa-battery-three-quarters:before {
- content: "\f241"; }
-
-.fa-battle-net:before {
- content: "\f835"; }
-
-.fa-bed:before {
- content: "\f236"; }
-
-.fa-beer:before {
- content: "\f0fc"; }
-
-.fa-behance:before {
- content: "\f1b4"; }
-
-.fa-behance-square:before {
- content: "\f1b5"; }
-
-.fa-bell:before {
- content: "\f0f3"; }
-
-.fa-bell-slash:before {
- content: "\f1f6"; }
-
-.fa-bezier-curve:before {
- content: "\f55b"; }
-
-.fa-bible:before {
- content: "\f647"; }
-
-.fa-bicycle:before {
- content: "\f206"; }
-
-.fa-biking:before {
- content: "\f84a"; }
-
-.fa-bimobject:before {
- content: "\f378"; }
-
-.fa-binoculars:before {
- content: "\f1e5"; }
-
-.fa-biohazard:before {
- content: "\f780"; }
-
-.fa-birthday-cake:before {
- content: "\f1fd"; }
-
-.fa-bitbucket:before {
- content: "\f171"; }
-
-.fa-bitcoin:before {
- content: "\f379"; }
-
-.fa-bity:before {
- content: "\f37a"; }
-
-.fa-black-tie:before {
- content: "\f27e"; }
-
-.fa-blackberry:before {
- content: "\f37b"; }
-
-.fa-blender:before {
- content: "\f517"; }
-
-.fa-blender-phone:before {
- content: "\f6b6"; }
-
-.fa-blind:before {
- content: "\f29d"; }
-
-.fa-blog:before {
- content: "\f781"; }
-
-.fa-blogger:before {
- content: "\f37c"; }
-
-.fa-blogger-b:before {
- content: "\f37d"; }
-
-.fa-bluetooth:before {
- content: "\f293"; }
-
-.fa-bluetooth-b:before {
- content: "\f294"; }
-
-.fa-bold:before {
- content: "\f032"; }
-
-.fa-bolt:before {
- content: "\f0e7"; }
-
-.fa-bomb:before {
- content: "\f1e2"; }
-
-.fa-bone:before {
- content: "\f5d7"; }
-
-.fa-bong:before {
- content: "\f55c"; }
-
-.fa-book:before {
- content: "\f02d"; }
-
-.fa-book-dead:before {
- content: "\f6b7"; }
-
-.fa-book-medical:before {
- content: "\f7e6"; }
-
-.fa-book-open:before {
- content: "\f518"; }
-
-.fa-book-reader:before {
- content: "\f5da"; }
-
-.fa-bookmark:before {
- content: "\f02e"; }
-
-.fa-bootstrap:before {
- content: "\f836"; }
-
-.fa-border-all:before {
- content: "\f84c"; }
-
-.fa-border-none:before {
- content: "\f850"; }
-
-.fa-border-style:before {
- content: "\f853"; }
-
-.fa-bowling-ball:before {
- content: "\f436"; }
-
-.fa-box:before {
- content: "\f466"; }
-
-.fa-box-open:before {
- content: "\f49e"; }
-
-.fa-boxes:before {
- content: "\f468"; }
-
-.fa-braille:before {
- content: "\f2a1"; }
-
-.fa-brain:before {
- content: "\f5dc"; }
-
-.fa-bread-slice:before {
- content: "\f7ec"; }
-
-.fa-briefcase:before {
- content: "\f0b1"; }
-
-.fa-briefcase-medical:before {
- content: "\f469"; }
-
-.fa-broadcast-tower:before {
- content: "\f519"; }
-
-.fa-broom:before {
- content: "\f51a"; }
-
-.fa-brush:before {
- content: "\f55d"; }
-
-.fa-btc:before {
- content: "\f15a"; }
-
-.fa-buffer:before {
- content: "\f837"; }
-
-.fa-bug:before {
- content: "\f188"; }
-
-.fa-building:before {
- content: "\f1ad"; }
-
-.fa-bullhorn:before {
- content: "\f0a1"; }
-
-.fa-bullseye:before {
- content: "\f140"; }
-
-.fa-burn:before {
- content: "\f46a"; }
-
-.fa-buromobelexperte:before {
- content: "\f37f"; }
-
-.fa-bus:before {
- content: "\f207"; }
-
-.fa-bus-alt:before {
- content: "\f55e"; }
-
-.fa-business-time:before {
- content: "\f64a"; }
-
-.fa-buy-n-large:before {
- content: "\f8a6"; }
-
-.fa-buysellads:before {
- content: "\f20d"; }
-
-.fa-calculator:before {
- content: "\f1ec"; }
-
-.fa-calendar:before {
- content: "\f133"; }
-
-.fa-calendar-alt:before {
- content: "\f073"; }
-
-.fa-calendar-check:before {
- content: "\f274"; }
-
-.fa-calendar-day:before {
- content: "\f783"; }
-
-.fa-calendar-minus:before {
- content: "\f272"; }
-
-.fa-calendar-plus:before {
- content: "\f271"; }
-
-.fa-calendar-times:before {
- content: "\f273"; }
-
-.fa-calendar-week:before {
- content: "\f784"; }
-
-.fa-camera:before {
- content: "\f030"; }
-
-.fa-camera-retro:before {
- content: "\f083"; }
-
-.fa-campground:before {
- content: "\f6bb"; }
-
-.fa-canadian-maple-leaf:before {
- content: "\f785"; }
-
-.fa-candy-cane:before {
- content: "\f786"; }
-
-.fa-cannabis:before {
- content: "\f55f"; }
-
-.fa-capsules:before {
- content: "\f46b"; }
-
-.fa-car:before {
- content: "\f1b9"; }
-
-.fa-car-alt:before {
- content: "\f5de"; }
-
-.fa-car-battery:before {
- content: "\f5df"; }
-
-.fa-car-crash:before {
- content: "\f5e1"; }
-
-.fa-car-side:before {
- content: "\f5e4"; }
-
-.fa-caravan:before {
- content: "\f8ff"; }
-
-.fa-caret-down:before {
- content: "\f0d7"; }
-
-.fa-caret-left:before {
- content: "\f0d9"; }
-
-.fa-caret-right:before {
- content: "\f0da"; }
-
-.fa-caret-square-down:before {
- content: "\f150"; }
-
-.fa-caret-square-left:before {
- content: "\f191"; }
-
-.fa-caret-square-right:before {
- content: "\f152"; }
-
-.fa-caret-square-up:before {
- content: "\f151"; }
-
-.fa-caret-up:before {
- content: "\f0d8"; }
-
-.fa-carrot:before {
- content: "\f787"; }
-
-.fa-cart-arrow-down:before {
- content: "\f218"; }
-
-.fa-cart-plus:before {
- content: "\f217"; }
-
-.fa-cash-register:before {
- content: "\f788"; }
-
-.fa-cat:before {
- content: "\f6be"; }
-
-.fa-cc-amazon-pay:before {
- content: "\f42d"; }
-
-.fa-cc-amex:before {
- content: "\f1f3"; }
-
-.fa-cc-apple-pay:before {
- content: "\f416"; }
-
-.fa-cc-diners-club:before {
- content: "\f24c"; }
-
-.fa-cc-discover:before {
- content: "\f1f2"; }
-
-.fa-cc-jcb:before {
- content: "\f24b"; }
-
-.fa-cc-mastercard:before {
- content: "\f1f1"; }
-
-.fa-cc-paypal:before {
- content: "\f1f4"; }
-
-.fa-cc-stripe:before {
- content: "\f1f5"; }
-
-.fa-cc-visa:before {
- content: "\f1f0"; }
-
-.fa-centercode:before {
- content: "\f380"; }
-
-.fa-centos:before {
- content: "\f789"; }
-
-.fa-certificate:before {
- content: "\f0a3"; }
-
-.fa-chair:before {
- content: "\f6c0"; }
-
-.fa-chalkboard:before {
- content: "\f51b"; }
-
-.fa-chalkboard-teacher:before {
- content: "\f51c"; }
-
-.fa-charging-station:before {
- content: "\f5e7"; }
-
-.fa-chart-area:before {
- content: "\f1fe"; }
-
-.fa-chart-bar:before {
- content: "\f080"; }
-
-.fa-chart-line:before {
- content: "\f201"; }
-
-.fa-chart-pie:before {
- content: "\f200"; }
-
-.fa-check:before {
- content: "\f00c"; }
-
-.fa-check-circle:before {
- content: "\f058"; }
-
-.fa-check-double:before {
- content: "\f560"; }
-
-.fa-check-square:before {
- content: "\f14a"; }
-
-.fa-cheese:before {
- content: "\f7ef"; }
-
-.fa-chess:before {
- content: "\f439"; }
-
-.fa-chess-bishop:before {
- content: "\f43a"; }
-
-.fa-chess-board:before {
- content: "\f43c"; }
-
-.fa-chess-king:before {
- content: "\f43f"; }
-
-.fa-chess-knight:before {
- content: "\f441"; }
-
-.fa-chess-pawn:before {
- content: "\f443"; }
-
-.fa-chess-queen:before {
- content: "\f445"; }
-
-.fa-chess-rook:before {
- content: "\f447"; }
-
-.fa-chevron-circle-down:before {
- content: "\f13a"; }
-
-.fa-chevron-circle-left:before {
- content: "\f137"; }
-
-.fa-chevron-circle-right:before {
- content: "\f138"; }
-
-.fa-chevron-circle-up:before {
- content: "\f139"; }
-
-.fa-chevron-down:before {
- content: "\f078"; }
-
-.fa-chevron-left:before {
- content: "\f053"; }
-
-.fa-chevron-right:before {
- content: "\f054"; }
-
-.fa-chevron-up:before {
- content: "\f077"; }
-
-.fa-child:before {
- content: "\f1ae"; }
-
-.fa-chrome:before {
- content: "\f268"; }
-
-.fa-chromecast:before {
- content: "\f838"; }
-
-.fa-church:before {
- content: "\f51d"; }
-
-.fa-circle:before {
- content: "\f111"; }
-
-.fa-circle-notch:before {
- content: "\f1ce"; }
-
-.fa-city:before {
- content: "\f64f"; }
-
-.fa-clinic-medical:before {
- content: "\f7f2"; }
-
-.fa-clipboard:before {
- content: "\f328"; }
-
-.fa-clipboard-check:before {
- content: "\f46c"; }
-
-.fa-clipboard-list:before {
- content: "\f46d"; }
-
-.fa-clock:before {
- content: "\f017"; }
-
-.fa-clone:before {
- content: "\f24d"; }
-
-.fa-closed-captioning:before {
- content: "\f20a"; }
-
-.fa-cloud:before {
- content: "\f0c2"; }
-
-.fa-cloud-download-alt:before {
- content: "\f381"; }
-
-.fa-cloud-meatball:before {
- content: "\f73b"; }
-
-.fa-cloud-moon:before {
- content: "\f6c3"; }
-
-.fa-cloud-moon-rain:before {
- content: "\f73c"; }
-
-.fa-cloud-rain:before {
- content: "\f73d"; }
-
-.fa-cloud-showers-heavy:before {
- content: "\f740"; }
-
-.fa-cloud-sun:before {
- content: "\f6c4"; }
-
-.fa-cloud-sun-rain:before {
- content: "\f743"; }
-
-.fa-cloud-upload-alt:before {
- content: "\f382"; }
-
-.fa-cloudscale:before {
- content: "\f383"; }
-
-.fa-cloudsmith:before {
- content: "\f384"; }
-
-.fa-cloudversify:before {
- content: "\f385"; }
-
-.fa-cocktail:before {
- content: "\f561"; }
-
-.fa-code:before {
- content: "\f121"; }
-
-.fa-code-branch:before {
- content: "\f126"; }
-
-.fa-codepen:before {
- content: "\f1cb"; }
-
-.fa-codiepie:before {
- content: "\f284"; }
-
-.fa-coffee:before {
- content: "\f0f4"; }
-
-.fa-cog:before {
- content: "\f013"; }
-
-.fa-cogs:before {
- content: "\f085"; }
-
-.fa-coins:before {
- content: "\f51e"; }
-
-.fa-columns:before {
- content: "\f0db"; }
-
-.fa-comment:before {
- content: "\f075"; }
-
-.fa-comment-alt:before {
- content: "\f27a"; }
-
-.fa-comment-dollar:before {
- content: "\f651"; }
-
-.fa-comment-dots:before {
- content: "\f4ad"; }
-
-.fa-comment-medical:before {
- content: "\f7f5"; }
-
-.fa-comment-slash:before {
- content: "\f4b3"; }
-
-.fa-comments:before {
- content: "\f086"; }
-
-.fa-comments-dollar:before {
- content: "\f653"; }
-
-.fa-compact-disc:before {
- content: "\f51f"; }
-
-.fa-compass:before {
- content: "\f14e"; }
-
-.fa-compress:before {
- content: "\f066"; }
-
-.fa-compress-alt:before {
- content: "\f422"; }
-
-.fa-compress-arrows-alt:before {
- content: "\f78c"; }
-
-.fa-concierge-bell:before {
- content: "\f562"; }
-
-.fa-confluence:before {
- content: "\f78d"; }
-
-.fa-connectdevelop:before {
- content: "\f20e"; }
-
-.fa-contao:before {
- content: "\f26d"; }
-
-.fa-cookie:before {
- content: "\f563"; }
-
-.fa-cookie-bite:before {
- content: "\f564"; }
-
-.fa-copy:before {
- content: "\f0c5"; }
-
-.fa-copyright:before {
- content: "\f1f9"; }
-
-.fa-cotton-bureau:before {
- content: "\f89e"; }
-
-.fa-couch:before {
- content: "\f4b8"; }
-
-.fa-cpanel:before {
- content: "\f388"; }
-
-.fa-creative-commons:before {
- content: "\f25e"; }
-
-.fa-creative-commons-by:before {
- content: "\f4e7"; }
-
-.fa-creative-commons-nc:before {
- content: "\f4e8"; }
-
-.fa-creative-commons-nc-eu:before {
- content: "\f4e9"; }
-
-.fa-creative-commons-nc-jp:before {
- content: "\f4ea"; }
-
-.fa-creative-commons-nd:before {
- content: "\f4eb"; }
-
-.fa-creative-commons-pd:before {
- content: "\f4ec"; }
-
-.fa-creative-commons-pd-alt:before {
- content: "\f4ed"; }
-
-.fa-creative-commons-remix:before {
- content: "\f4ee"; }
-
-.fa-creative-commons-sa:before {
- content: "\f4ef"; }
-
-.fa-creative-commons-sampling:before {
- content: "\f4f0"; }
-
-.fa-creative-commons-sampling-plus:before {
- content: "\f4f1"; }
-
-.fa-creative-commons-share:before {
- content: "\f4f2"; }
-
-.fa-creative-commons-zero:before {
- content: "\f4f3"; }
-
-.fa-credit-card:before {
- content: "\f09d"; }
-
-.fa-critical-role:before {
- content: "\f6c9"; }
-
-.fa-crop:before {
- content: "\f125"; }
-
-.fa-crop-alt:before {
- content: "\f565"; }
-
-.fa-cross:before {
- content: "\f654"; }
-
-.fa-crosshairs:before {
- content: "\f05b"; }
-
-.fa-crow:before {
- content: "\f520"; }
-
-.fa-crown:before {
- content: "\f521"; }
-
-.fa-crutch:before {
- content: "\f7f7"; }
-
-.fa-css3:before {
- content: "\f13c"; }
-
-.fa-css3-alt:before {
- content: "\f38b"; }
-
-.fa-cube:before {
- content: "\f1b2"; }
-
-.fa-cubes:before {
- content: "\f1b3"; }
-
-.fa-cut:before {
- content: "\f0c4"; }
-
-.fa-cuttlefish:before {
- content: "\f38c"; }
-
-.fa-d-and-d:before {
- content: "\f38d"; }
-
-.fa-d-and-d-beyond:before {
- content: "\f6ca"; }
-
-.fa-dailymotion:before {
- content: "\f952"; }
-
-.fa-dashcube:before {
- content: "\f210"; }
-
-.fa-database:before {
- content: "\f1c0"; }
-
-.fa-deaf:before {
- content: "\f2a4"; }
-
-.fa-delicious:before {
- content: "\f1a5"; }
-
-.fa-democrat:before {
- content: "\f747"; }
-
-.fa-deploydog:before {
- content: "\f38e"; }
-
-.fa-deskpro:before {
- content: "\f38f"; }
-
-.fa-desktop:before {
- content: "\f108"; }
-
-.fa-dev:before {
- content: "\f6cc"; }
-
-.fa-deviantart:before {
- content: "\f1bd"; }
-
-.fa-dharmachakra:before {
- content: "\f655"; }
-
-.fa-dhl:before {
- content: "\f790"; }
-
-.fa-diagnoses:before {
- content: "\f470"; }
-
-.fa-diaspora:before {
- content: "\f791"; }
-
-.fa-dice:before {
- content: "\f522"; }
-
-.fa-dice-d20:before {
- content: "\f6cf"; }
-
-.fa-dice-d6:before {
- content: "\f6d1"; }
-
-.fa-dice-five:before {
- content: "\f523"; }
-
-.fa-dice-four:before {
- content: "\f524"; }
-
-.fa-dice-one:before {
- content: "\f525"; }
-
-.fa-dice-six:before {
- content: "\f526"; }
-
-.fa-dice-three:before {
- content: "\f527"; }
-
-.fa-dice-two:before {
- content: "\f528"; }
-
-.fa-digg:before {
- content: "\f1a6"; }
-
-.fa-digital-ocean:before {
- content: "\f391"; }
-
-.fa-digital-tachograph:before {
- content: "\f566"; }
-
-.fa-directions:before {
- content: "\f5eb"; }
-
-.fa-discord:before {
- content: "\f392"; }
-
-.fa-discourse:before {
- content: "\f393"; }
-
-.fa-divide:before {
- content: "\f529"; }
-
-.fa-dizzy:before {
- content: "\f567"; }
-
-.fa-dna:before {
- content: "\f471"; }
-
-.fa-dochub:before {
- content: "\f394"; }
-
-.fa-docker:before {
- content: "\f395"; }
-
-.fa-dog:before {
- content: "\f6d3"; }
-
-.fa-dollar-sign:before {
- content: "\f155"; }
-
-.fa-dolly:before {
- content: "\f472"; }
-
-.fa-dolly-flatbed:before {
- content: "\f474"; }
-
-.fa-donate:before {
- content: "\f4b9"; }
-
-.fa-door-closed:before {
- content: "\f52a"; }
-
-.fa-door-open:before {
- content: "\f52b"; }
-
-.fa-dot-circle:before {
- content: "\f192"; }
-
-.fa-dove:before {
- content: "\f4ba"; }
-
-.fa-download:before {
- content: "\f019"; }
-
-.fa-draft2digital:before {
- content: "\f396"; }
-
-.fa-drafting-compass:before {
- content: "\f568"; }
-
-.fa-dragon:before {
- content: "\f6d5"; }
-
-.fa-draw-polygon:before {
- content: "\f5ee"; }
-
-.fa-dribbble:before {
- content: "\f17d"; }
-
-.fa-dribbble-square:before {
- content: "\f397"; }
-
-.fa-dropbox:before {
- content: "\f16b"; }
-
-.fa-drum:before {
- content: "\f569"; }
-
-.fa-drum-steelpan:before {
- content: "\f56a"; }
-
-.fa-drumstick-bite:before {
- content: "\f6d7"; }
-
-.fa-drupal:before {
- content: "\f1a9"; }
-
-.fa-dumbbell:before {
- content: "\f44b"; }
-
-.fa-dumpster:before {
- content: "\f793"; }
-
-.fa-dumpster-fire:before {
- content: "\f794"; }
-
-.fa-dungeon:before {
- content: "\f6d9"; }
-
-.fa-dyalog:before {
- content: "\f399"; }
-
-.fa-earlybirds:before {
- content: "\f39a"; }
-
-.fa-ebay:before {
- content: "\f4f4"; }
-
-.fa-edge:before {
- content: "\f282"; }
-
-.fa-edit:before {
- content: "\f044"; }
-
-.fa-egg:before {
- content: "\f7fb"; }
-
-.fa-eject:before {
- content: "\f052"; }
-
-.fa-elementor:before {
- content: "\f430"; }
-
-.fa-ellipsis-h:before {
- content: "\f141"; }
-
-.fa-ellipsis-v:before {
- content: "\f142"; }
-
-.fa-ello:before {
- content: "\f5f1"; }
-
-.fa-ember:before {
- content: "\f423"; }
-
-.fa-empire:before {
- content: "\f1d1"; }
-
-.fa-envelope:before {
- content: "\f0e0"; }
-
-.fa-envelope-open:before {
- content: "\f2b6"; }
-
-.fa-envelope-open-text:before {
- content: "\f658"; }
-
-.fa-envelope-square:before {
- content: "\f199"; }
-
-.fa-envira:before {
- content: "\f299"; }
-
-.fa-equals:before {
- content: "\f52c"; }
-
-.fa-eraser:before {
- content: "\f12d"; }
-
-.fa-erlang:before {
- content: "\f39d"; }
-
-.fa-ethereum:before {
- content: "\f42e"; }
-
-.fa-ethernet:before {
- content: "\f796"; }
-
-.fa-etsy:before {
- content: "\f2d7"; }
-
-.fa-euro-sign:before {
- content: "\f153"; }
-
-.fa-evernote:before {
- content: "\f839"; }
-
-.fa-exchange-alt:before {
- content: "\f362"; }
-
-.fa-exclamation:before {
- content: "\f12a"; }
-
-.fa-exclamation-circle:before {
- content: "\f06a"; }
-
-.fa-exclamation-triangle:before {
- content: "\f071"; }
-
-.fa-expand:before {
- content: "\f065"; }
-
-.fa-expand-alt:before {
- content: "\f424"; }
-
-.fa-expand-arrows-alt:before {
- content: "\f31e"; }
-
-.fa-expeditedssl:before {
- content: "\f23e"; }
-
-.fa-external-link-alt:before {
- content: "\f35d"; }
-
-.fa-external-link-square-alt:before {
- content: "\f360"; }
-
-.fa-eye:before {
- content: "\f06e"; }
-
-.fa-eye-dropper:before {
- content: "\f1fb"; }
-
-.fa-eye-slash:before {
- content: "\f070"; }
-
-.fa-facebook:before {
- content: "\f09a"; }
-
-.fa-facebook-f:before {
- content: "\f39e"; }
-
-.fa-facebook-messenger:before {
- content: "\f39f"; }
-
-.fa-facebook-square:before {
- content: "\f082"; }
-
-.fa-fan:before {
- content: "\f863"; }
-
-.fa-fantasy-flight-games:before {
- content: "\f6dc"; }
-
-.fa-fast-backward:before {
- content: "\f049"; }
-
-.fa-fast-forward:before {
- content: "\f050"; }
-
-.fa-fax:before {
- content: "\f1ac"; }
-
-.fa-feather:before {
- content: "\f52d"; }
-
-.fa-feather-alt:before {
- content: "\f56b"; }
-
-.fa-fedex:before {
- content: "\f797"; }
-
-.fa-fedora:before {
- content: "\f798"; }
-
-.fa-female:before {
- content: "\f182"; }
-
-.fa-fighter-jet:before {
- content: "\f0fb"; }
-
-.fa-figma:before {
- content: "\f799"; }
-
-.fa-file:before {
- content: "\f15b"; }
-
-.fa-file-alt:before {
- content: "\f15c"; }
-
-.fa-file-archive:before {
- content: "\f1c6"; }
-
-.fa-file-audio:before {
- content: "\f1c7"; }
-
-.fa-file-code:before {
- content: "\f1c9"; }
-
-.fa-file-contract:before {
- content: "\f56c"; }
-
-.fa-file-csv:before {
- content: "\f6dd"; }
-
-.fa-file-download:before {
- content: "\f56d"; }
-
-.fa-file-excel:before {
- content: "\f1c3"; }
-
-.fa-file-export:before {
- content: "\f56e"; }
-
-.fa-file-image:before {
- content: "\f1c5"; }
-
-.fa-file-import:before {
- content: "\f56f"; }
-
-.fa-file-invoice:before {
- content: "\f570"; }
-
-.fa-file-invoice-dollar:before {
- content: "\f571"; }
-
-.fa-file-medical:before {
- content: "\f477"; }
-
-.fa-file-medical-alt:before {
- content: "\f478"; }
-
-.fa-file-pdf:before {
- content: "\f1c1"; }
-
-.fa-file-powerpoint:before {
- content: "\f1c4"; }
-
-.fa-file-prescription:before {
- content: "\f572"; }
-
-.fa-file-signature:before {
- content: "\f573"; }
-
-.fa-file-upload:before {
- content: "\f574"; }
-
-.fa-file-video:before {
- content: "\f1c8"; }
-
-.fa-file-word:before {
- content: "\f1c2"; }
-
-.fa-fill:before {
- content: "\f575"; }
-
-.fa-fill-drip:before {
- content: "\f576"; }
-
-.fa-film:before {
- content: "\f008"; }
-
-.fa-filter:before {
- content: "\f0b0"; }
-
-.fa-fingerprint:before {
- content: "\f577"; }
-
-.fa-fire:before {
- content: "\f06d"; }
-
-.fa-fire-alt:before {
- content: "\f7e4"; }
-
-.fa-fire-extinguisher:before {
- content: "\f134"; }
-
-.fa-firefox:before {
- content: "\f269"; }
-
-.fa-firefox-browser:before {
- content: "\f907"; }
-
-.fa-first-aid:before {
- content: "\f479"; }
-
-.fa-first-order:before {
- content: "\f2b0"; }
-
-.fa-first-order-alt:before {
- content: "\f50a"; }
-
-.fa-firstdraft:before {
- content: "\f3a1"; }
-
-.fa-fish:before {
- content: "\f578"; }
-
-.fa-fist-raised:before {
- content: "\f6de"; }
-
-.fa-flag:before {
- content: "\f024"; }
-
-.fa-flag-checkered:before {
- content: "\f11e"; }
-
-.fa-flag-usa:before {
- content: "\f74d"; }
-
-.fa-flask:before {
- content: "\f0c3"; }
-
-.fa-flickr:before {
- content: "\f16e"; }
-
-.fa-flipboard:before {
- content: "\f44d"; }
-
-.fa-flushed:before {
- content: "\f579"; }
-
-.fa-fly:before {
- content: "\f417"; }
-
-.fa-folder:before {
- content: "\f07b"; }
-
-.fa-folder-minus:before {
- content: "\f65d"; }
-
-.fa-folder-open:before {
- content: "\f07c"; }
-
-.fa-folder-plus:before {
- content: "\f65e"; }
-
-.fa-font:before {
- content: "\f031"; }
-
-.fa-font-awesome:before {
- content: "\f2b4"; }
-
-.fa-font-awesome-alt:before {
- content: "\f35c"; }
-
-.fa-font-awesome-flag:before {
- content: "\f425"; }
-
-.fa-font-awesome-logo-full:before {
- content: "\f4e6"; }
-
-.fa-fonticons:before {
- content: "\f280"; }
-
-.fa-fonticons-fi:before {
- content: "\f3a2"; }
-
-.fa-football-ball:before {
- content: "\f44e"; }
-
-.fa-fort-awesome:before {
- content: "\f286"; }
-
-.fa-fort-awesome-alt:before {
- content: "\f3a3"; }
-
-.fa-forumbee:before {
- content: "\f211"; }
-
-.fa-forward:before {
- content: "\f04e"; }
-
-.fa-foursquare:before {
- content: "\f180"; }
-
-.fa-free-code-camp:before {
- content: "\f2c5"; }
-
-.fa-freebsd:before {
- content: "\f3a4"; }
-
-.fa-frog:before {
- content: "\f52e"; }
-
-.fa-frown:before {
- content: "\f119"; }
-
-.fa-frown-open:before {
- content: "\f57a"; }
-
-.fa-fulcrum:before {
- content: "\f50b"; }
-
-.fa-funnel-dollar:before {
- content: "\f662"; }
-
-.fa-futbol:before {
- content: "\f1e3"; }
-
-.fa-galactic-republic:before {
- content: "\f50c"; }
-
-.fa-galactic-senate:before {
- content: "\f50d"; }
-
-.fa-gamepad:before {
- content: "\f11b"; }
-
-.fa-gas-pump:before {
- content: "\f52f"; }
-
-.fa-gavel:before {
- content: "\f0e3"; }
-
-.fa-gem:before {
- content: "\f3a5"; }
-
-.fa-genderless:before {
- content: "\f22d"; }
-
-.fa-get-pocket:before {
- content: "\f265"; }
-
-.fa-gg:before {
- content: "\f260"; }
-
-.fa-gg-circle:before {
- content: "\f261"; }
-
-.fa-ghost:before {
- content: "\f6e2"; }
-
-.fa-gift:before {
- content: "\f06b"; }
-
-.fa-gifts:before {
- content: "\f79c"; }
-
-.fa-git:before {
- content: "\f1d3"; }
-
-.fa-git-alt:before {
- content: "\f841"; }
-
-.fa-git-square:before {
- content: "\f1d2"; }
-
-.fa-github:before {
- content: "\f09b"; }
-
-.fa-github-alt:before {
- content: "\f113"; }
-
-.fa-github-square:before {
- content: "\f092"; }
-
-.fa-gitkraken:before {
- content: "\f3a6"; }
-
-.fa-gitlab:before {
- content: "\f296"; }
-
-.fa-gitter:before {
- content: "\f426"; }
-
-.fa-glass-cheers:before {
- content: "\f79f"; }
-
-.fa-glass-martini:before {
- content: "\f000"; }
-
-.fa-glass-martini-alt:before {
- content: "\f57b"; }
-
-.fa-glass-whiskey:before {
- content: "\f7a0"; }
-
-.fa-glasses:before {
- content: "\f530"; }
-
-.fa-glide:before {
- content: "\f2a5"; }
-
-.fa-glide-g:before {
- content: "\f2a6"; }
-
-.fa-globe:before {
- content: "\f0ac"; }
-
-.fa-globe-africa:before {
- content: "\f57c"; }
-
-.fa-globe-americas:before {
- content: "\f57d"; }
-
-.fa-globe-asia:before {
- content: "\f57e"; }
-
-.fa-globe-europe:before {
- content: "\f7a2"; }
-
-.fa-gofore:before {
- content: "\f3a7"; }
-
-.fa-golf-ball:before {
- content: "\f450"; }
-
-.fa-goodreads:before {
- content: "\f3a8"; }
-
-.fa-goodreads-g:before {
- content: "\f3a9"; }
-
-.fa-google:before {
- content: "\f1a0"; }
-
-.fa-google-drive:before {
- content: "\f3aa"; }
-
-.fa-google-play:before {
- content: "\f3ab"; }
-
-.fa-google-plus:before {
- content: "\f2b3"; }
-
-.fa-google-plus-g:before {
- content: "\f0d5"; }
-
-.fa-google-plus-square:before {
- content: "\f0d4"; }
-
-.fa-google-wallet:before {
- content: "\f1ee"; }
-
-.fa-gopuram:before {
- content: "\f664"; }
-
-.fa-graduation-cap:before {
- content: "\f19d"; }
-
-.fa-gratipay:before {
- content: "\f184"; }
-
-.fa-grav:before {
- content: "\f2d6"; }
-
-.fa-greater-than:before {
- content: "\f531"; }
-
-.fa-greater-than-equal:before {
- content: "\f532"; }
-
-.fa-grimace:before {
- content: "\f57f"; }
-
-.fa-grin:before {
- content: "\f580"; }
-
-.fa-grin-alt:before {
- content: "\f581"; }
-
-.fa-grin-beam:before {
- content: "\f582"; }
-
-.fa-grin-beam-sweat:before {
- content: "\f583"; }
-
-.fa-grin-hearts:before {
- content: "\f584"; }
-
-.fa-grin-squint:before {
- content: "\f585"; }
-
-.fa-grin-squint-tears:before {
- content: "\f586"; }
-
-.fa-grin-stars:before {
- content: "\f587"; }
-
-.fa-grin-tears:before {
- content: "\f588"; }
-
-.fa-grin-tongue:before {
- content: "\f589"; }
-
-.fa-grin-tongue-squint:before {
- content: "\f58a"; }
-
-.fa-grin-tongue-wink:before {
- content: "\f58b"; }
-
-.fa-grin-wink:before {
- content: "\f58c"; }
-
-.fa-grip-horizontal:before {
- content: "\f58d"; }
-
-.fa-grip-lines:before {
- content: "\f7a4"; }
-
-.fa-grip-lines-vertical:before {
- content: "\f7a5"; }
-
-.fa-grip-vertical:before {
- content: "\f58e"; }
-
-.fa-gripfire:before {
- content: "\f3ac"; }
-
-.fa-grunt:before {
- content: "\f3ad"; }
-
-.fa-guitar:before {
- content: "\f7a6"; }
-
-.fa-gulp:before {
- content: "\f3ae"; }
-
-.fa-h-square:before {
- content: "\f0fd"; }
-
-.fa-hacker-news:before {
- content: "\f1d4"; }
-
-.fa-hacker-news-square:before {
- content: "\f3af"; }
-
-.fa-hackerrank:before {
- content: "\f5f7"; }
-
-.fa-hamburger:before {
- content: "\f805"; }
-
-.fa-hammer:before {
- content: "\f6e3"; }
-
-.fa-hamsa:before {
- content: "\f665"; }
-
-.fa-hand-holding:before {
- content: "\f4bd"; }
-
-.fa-hand-holding-heart:before {
- content: "\f4be"; }
-
-.fa-hand-holding-usd:before {
- content: "\f4c0"; }
-
-.fa-hand-lizard:before {
- content: "\f258"; }
-
-.fa-hand-middle-finger:before {
- content: "\f806"; }
-
-.fa-hand-paper:before {
- content: "\f256"; }
-
-.fa-hand-peace:before {
- content: "\f25b"; }
-
-.fa-hand-point-down:before {
- content: "\f0a7"; }
-
-.fa-hand-point-left:before {
- content: "\f0a5"; }
-
-.fa-hand-point-right:before {
- content: "\f0a4"; }
-
-.fa-hand-point-up:before {
- content: "\f0a6"; }
-
-.fa-hand-pointer:before {
- content: "\f25a"; }
-
-.fa-hand-rock:before {
- content: "\f255"; }
-
-.fa-hand-scissors:before {
- content: "\f257"; }
-
-.fa-hand-spock:before {
- content: "\f259"; }
-
-.fa-hands:before {
- content: "\f4c2"; }
-
-.fa-hands-helping:before {
- content: "\f4c4"; }
-
-.fa-handshake:before {
- content: "\f2b5"; }
-
-.fa-hanukiah:before {
- content: "\f6e6"; }
-
-.fa-hard-hat:before {
- content: "\f807"; }
-
-.fa-hashtag:before {
- content: "\f292"; }
-
-.fa-hat-cowboy:before {
- content: "\f8c0"; }
-
-.fa-hat-cowboy-side:before {
- content: "\f8c1"; }
-
-.fa-hat-wizard:before {
- content: "\f6e8"; }
-
-.fa-hdd:before {
- content: "\f0a0"; }
-
-.fa-heading:before {
- content: "\f1dc"; }
-
-.fa-headphones:before {
- content: "\f025"; }
-
-.fa-headphones-alt:before {
- content: "\f58f"; }
-
-.fa-headset:before {
- content: "\f590"; }
-
-.fa-heart:before {
- content: "\f004"; }
-
-.fa-heart-broken:before {
- content: "\f7a9"; }
-
-.fa-heartbeat:before {
- content: "\f21e"; }
-
-.fa-helicopter:before {
- content: "\f533"; }
-
-.fa-highlighter:before {
- content: "\f591"; }
-
-.fa-hiking:before {
- content: "\f6ec"; }
-
-.fa-hippo:before {
- content: "\f6ed"; }
-
-.fa-hips:before {
- content: "\f452"; }
-
-.fa-hire-a-helper:before {
- content: "\f3b0"; }
-
-.fa-history:before {
- content: "\f1da"; }
-
-.fa-hockey-puck:before {
- content: "\f453"; }
-
-.fa-holly-berry:before {
- content: "\f7aa"; }
-
-.fa-home:before {
- content: "\f015"; }
-
-.fa-hooli:before {
- content: "\f427"; }
-
-.fa-hornbill:before {
- content: "\f592"; }
-
-.fa-horse:before {
- content: "\f6f0"; }
-
-.fa-horse-head:before {
- content: "\f7ab"; }
-
-.fa-hospital:before {
- content: "\f0f8"; }
-
-.fa-hospital-alt:before {
- content: "\f47d"; }
-
-.fa-hospital-symbol:before {
- content: "\f47e"; }
-
-.fa-hot-tub:before {
- content: "\f593"; }
-
-.fa-hotdog:before {
- content: "\f80f"; }
-
-.fa-hotel:before {
- content: "\f594"; }
-
-.fa-hotjar:before {
- content: "\f3b1"; }
-
-.fa-hourglass:before {
- content: "\f254"; }
-
-.fa-hourglass-end:before {
- content: "\f253"; }
-
-.fa-hourglass-half:before {
- content: "\f252"; }
-
-.fa-hourglass-start:before {
- content: "\f251"; }
-
-.fa-house-damage:before {
- content: "\f6f1"; }
-
-.fa-houzz:before {
- content: "\f27c"; }
-
-.fa-hryvnia:before {
- content: "\f6f2"; }
-
-.fa-html5:before {
- content: "\f13b"; }
-
-.fa-hubspot:before {
- content: "\f3b2"; }
-
-.fa-i-cursor:before {
- content: "\f246"; }
-
-.fa-ice-cream:before {
- content: "\f810"; }
-
-.fa-icicles:before {
- content: "\f7ad"; }
-
-.fa-icons:before {
- content: "\f86d"; }
-
-.fa-id-badge:before {
- content: "\f2c1"; }
-
-.fa-id-card:before {
- content: "\f2c2"; }
-
-.fa-id-card-alt:before {
- content: "\f47f"; }
-
-.fa-ideal:before {
- content: "\f913"; }
-
-.fa-igloo:before {
- content: "\f7ae"; }
-
-.fa-image:before {
- content: "\f03e"; }
-
-.fa-images:before {
- content: "\f302"; }
-
-.fa-imdb:before {
- content: "\f2d8"; }
-
-.fa-inbox:before {
- content: "\f01c"; }
-
-.fa-indent:before {
- content: "\f03c"; }
-
-.fa-industry:before {
- content: "\f275"; }
-
-.fa-infinity:before {
- content: "\f534"; }
-
-.fa-info:before {
- content: "\f129"; }
-
-.fa-info-circle:before {
- content: "\f05a"; }
-
-.fa-instagram:before {
- content: "\f16d"; }
-
-.fa-instagram-square:before {
- content: "\f955"; }
-
-.fa-intercom:before {
- content: "\f7af"; }
-
-.fa-internet-explorer:before {
- content: "\f26b"; }
-
-.fa-invision:before {
- content: "\f7b0"; }
-
-.fa-ioxhost:before {
- content: "\f208"; }
-
-.fa-italic:before {
- content: "\f033"; }
-
-.fa-itch-io:before {
- content: "\f83a"; }
-
-.fa-itunes:before {
- content: "\f3b4"; }
-
-.fa-itunes-note:before {
- content: "\f3b5"; }
-
-.fa-java:before {
- content: "\f4e4"; }
-
-.fa-jedi:before {
- content: "\f669"; }
-
-.fa-jedi-order:before {
- content: "\f50e"; }
-
-.fa-jenkins:before {
- content: "\f3b6"; }
-
-.fa-jira:before {
- content: "\f7b1"; }
-
-.fa-joget:before {
- content: "\f3b7"; }
-
-.fa-joint:before {
- content: "\f595"; }
-
-.fa-joomla:before {
- content: "\f1aa"; }
-
-.fa-journal-whills:before {
- content: "\f66a"; }
-
-.fa-js:before {
- content: "\f3b8"; }
-
-.fa-js-square:before {
- content: "\f3b9"; }
-
-.fa-jsfiddle:before {
- content: "\f1cc"; }
-
-.fa-kaaba:before {
- content: "\f66b"; }
-
-.fa-kaggle:before {
- content: "\f5fa"; }
-
-.fa-key:before {
- content: "\f084"; }
-
-.fa-keybase:before {
- content: "\f4f5"; }
-
-.fa-keyboard:before {
- content: "\f11c"; }
-
-.fa-keycdn:before {
- content: "\f3ba"; }
-
-.fa-khanda:before {
- content: "\f66d"; }
-
-.fa-kickstarter:before {
- content: "\f3bb"; }
-
-.fa-kickstarter-k:before {
- content: "\f3bc"; }
-
-.fa-kiss:before {
- content: "\f596"; }
-
-.fa-kiss-beam:before {
- content: "\f597"; }
-
-.fa-kiss-wink-heart:before {
- content: "\f598"; }
-
-.fa-kiwi-bird:before {
- content: "\f535"; }
-
-.fa-korvue:before {
- content: "\f42f"; }
-
-.fa-landmark:before {
- content: "\f66f"; }
-
-.fa-language:before {
- content: "\f1ab"; }
-
-.fa-laptop:before {
- content: "\f109"; }
-
-.fa-laptop-code:before {
- content: "\f5fc"; }
-
-.fa-laptop-medical:before {
- content: "\f812"; }
-
-.fa-laravel:before {
- content: "\f3bd"; }
-
-.fa-lastfm:before {
- content: "\f202"; }
-
-.fa-lastfm-square:before {
- content: "\f203"; }
-
-.fa-laugh:before {
- content: "\f599"; }
-
-.fa-laugh-beam:before {
- content: "\f59a"; }
-
-.fa-laugh-squint:before {
- content: "\f59b"; }
-
-.fa-laugh-wink:before {
- content: "\f59c"; }
-
-.fa-layer-group:before {
- content: "\f5fd"; }
-
-.fa-leaf:before {
- content: "\f06c"; }
-
-.fa-leanpub:before {
- content: "\f212"; }
-
-.fa-lemon:before {
- content: "\f094"; }
-
-.fa-less:before {
- content: "\f41d"; }
-
-.fa-less-than:before {
- content: "\f536"; }
-
-.fa-less-than-equal:before {
- content: "\f537"; }
-
-.fa-level-down-alt:before {
- content: "\f3be"; }
-
-.fa-level-up-alt:before {
- content: "\f3bf"; }
-
-.fa-life-ring:before {
- content: "\f1cd"; }
-
-.fa-lightbulb:before {
- content: "\f0eb"; }
-
-.fa-line:before {
- content: "\f3c0"; }
-
-.fa-link:before {
- content: "\f0c1"; }
-
-.fa-linkedin:before {
- content: "\f08c"; }
-
-.fa-linkedin-in:before {
- content: "\f0e1"; }
-
-.fa-linode:before {
- content: "\f2b8"; }
-
-.fa-linux:before {
- content: "\f17c"; }
-
-.fa-lira-sign:before {
- content: "\f195"; }
-
-.fa-list:before {
- content: "\f03a"; }
-
-.fa-list-alt:before {
- content: "\f022"; }
-
-.fa-list-ol:before {
- content: "\f0cb"; }
-
-.fa-list-ul:before {
- content: "\f0ca"; }
-
-.fa-location-arrow:before {
- content: "\f124"; }
-
-.fa-lock:before {
- content: "\f023"; }
-
-.fa-lock-open:before {
- content: "\f3c1"; }
-
-.fa-long-arrow-alt-down:before {
- content: "\f309"; }
-
-.fa-long-arrow-alt-left:before {
- content: "\f30a"; }
-
-.fa-long-arrow-alt-right:before {
- content: "\f30b"; }
-
-.fa-long-arrow-alt-up:before {
- content: "\f30c"; }
-
-.fa-low-vision:before {
- content: "\f2a8"; }
-
-.fa-luggage-cart:before {
- content: "\f59d"; }
-
-.fa-lyft:before {
- content: "\f3c3"; }
-
-.fa-magento:before {
- content: "\f3c4"; }
-
-.fa-magic:before {
- content: "\f0d0"; }
-
-.fa-magnet:before {
- content: "\f076"; }
-
-.fa-mail-bulk:before {
- content: "\f674"; }
-
-.fa-mailchimp:before {
- content: "\f59e"; }
-
-.fa-male:before {
- content: "\f183"; }
-
-.fa-mandalorian:before {
- content: "\f50f"; }
-
-.fa-map:before {
- content: "\f279"; }
-
-.fa-map-marked:before {
- content: "\f59f"; }
-
-.fa-map-marked-alt:before {
- content: "\f5a0"; }
-
-.fa-map-marker:before {
- content: "\f041"; }
-
-.fa-map-marker-alt:before {
- content: "\f3c5"; }
-
-.fa-map-pin:before {
- content: "\f276"; }
-
-.fa-map-signs:before {
- content: "\f277"; }
-
-.fa-markdown:before {
- content: "\f60f"; }
-
-.fa-marker:before {
- content: "\f5a1"; }
-
-.fa-mars:before {
- content: "\f222"; }
-
-.fa-mars-double:before {
- content: "\f227"; }
-
-.fa-mars-stroke:before {
- content: "\f229"; }
-
-.fa-mars-stroke-h:before {
- content: "\f22b"; }
-
-.fa-mars-stroke-v:before {
- content: "\f22a"; }
-
-.fa-mask:before {
- content: "\f6fa"; }
-
-.fa-mastodon:before {
- content: "\f4f6"; }
-
-.fa-maxcdn:before {
- content: "\f136"; }
-
-.fa-mdb:before {
- content: "\f8ca"; }
-
-.fa-medal:before {
- content: "\f5a2"; }
-
-.fa-medapps:before {
- content: "\f3c6"; }
-
-.fa-medium:before {
- content: "\f23a"; }
-
-.fa-medium-m:before {
- content: "\f3c7"; }
-
-.fa-medkit:before {
- content: "\f0fa"; }
-
-.fa-medrt:before {
- content: "\f3c8"; }
-
-.fa-meetup:before {
- content: "\f2e0"; }
-
-.fa-megaport:before {
- content: "\f5a3"; }
-
-.fa-meh:before {
- content: "\f11a"; }
-
-.fa-meh-blank:before {
- content: "\f5a4"; }
-
-.fa-meh-rolling-eyes:before {
- content: "\f5a5"; }
-
-.fa-memory:before {
- content: "\f538"; }
-
-.fa-mendeley:before {
- content: "\f7b3"; }
-
-.fa-menorah:before {
- content: "\f676"; }
-
-.fa-mercury:before {
- content: "\f223"; }
-
-.fa-meteor:before {
- content: "\f753"; }
-
-.fa-microblog:before {
- content: "\f91a"; }
-
-.fa-microchip:before {
- content: "\f2db"; }
-
-.fa-microphone:before {
- content: "\f130"; }
-
-.fa-microphone-alt:before {
- content: "\f3c9"; }
-
-.fa-microphone-alt-slash:before {
- content: "\f539"; }
-
-.fa-microphone-slash:before {
- content: "\f131"; }
-
-.fa-microscope:before {
- content: "\f610"; }
-
-.fa-microsoft:before {
- content: "\f3ca"; }
-
-.fa-minus:before {
- content: "\f068"; }
-
-.fa-minus-circle:before {
- content: "\f056"; }
-
-.fa-minus-square:before {
- content: "\f146"; }
-
-.fa-mitten:before {
- content: "\f7b5"; }
-
-.fa-mix:before {
- content: "\f3cb"; }
-
-.fa-mixcloud:before {
- content: "\f289"; }
-
-.fa-mixer:before {
- content: "\f956"; }
-
-.fa-mizuni:before {
- content: "\f3cc"; }
-
-.fa-mobile:before {
- content: "\f10b"; }
-
-.fa-mobile-alt:before {
- content: "\f3cd"; }
-
-.fa-modx:before {
- content: "\f285"; }
-
-.fa-monero:before {
- content: "\f3d0"; }
-
-.fa-money-bill:before {
- content: "\f0d6"; }
-
-.fa-money-bill-alt:before {
- content: "\f3d1"; }
-
-.fa-money-bill-wave:before {
- content: "\f53a"; }
-
-.fa-money-bill-wave-alt:before {
- content: "\f53b"; }
-
-.fa-money-check:before {
- content: "\f53c"; }
-
-.fa-money-check-alt:before {
- content: "\f53d"; }
-
-.fa-monument:before {
- content: "\f5a6"; }
-
-.fa-moon:before {
- content: "\f186"; }
-
-.fa-mortar-pestle:before {
- content: "\f5a7"; }
-
-.fa-mosque:before {
- content: "\f678"; }
-
-.fa-motorcycle:before {
- content: "\f21c"; }
-
-.fa-mountain:before {
- content: "\f6fc"; }
-
-.fa-mouse:before {
- content: "\f8cc"; }
-
-.fa-mouse-pointer:before {
- content: "\f245"; }
-
-.fa-mug-hot:before {
- content: "\f7b6"; }
-
-.fa-music:before {
- content: "\f001"; }
-
-.fa-napster:before {
- content: "\f3d2"; }
-
-.fa-neos:before {
- content: "\f612"; }
-
-.fa-network-wired:before {
- content: "\f6ff"; }
-
-.fa-neuter:before {
- content: "\f22c"; }
-
-.fa-newspaper:before {
- content: "\f1ea"; }
-
-.fa-nimblr:before {
- content: "\f5a8"; }
-
-.fa-node:before {
- content: "\f419"; }
-
-.fa-node-js:before {
- content: "\f3d3"; }
-
-.fa-not-equal:before {
- content: "\f53e"; }
-
-.fa-notes-medical:before {
- content: "\f481"; }
-
-.fa-npm:before {
- content: "\f3d4"; }
-
-.fa-ns8:before {
- content: "\f3d5"; }
-
-.fa-nutritionix:before {
- content: "\f3d6"; }
-
-.fa-object-group:before {
- content: "\f247"; }
-
-.fa-object-ungroup:before {
- content: "\f248"; }
-
-.fa-odnoklassniki:before {
- content: "\f263"; }
-
-.fa-odnoklassniki-square:before {
- content: "\f264"; }
-
-.fa-oil-can:before {
- content: "\f613"; }
-
-.fa-old-republic:before {
- content: "\f510"; }
-
-.fa-om:before {
- content: "\f679"; }
-
-.fa-opencart:before {
- content: "\f23d"; }
-
-.fa-openid:before {
- content: "\f19b"; }
-
-.fa-opera:before {
- content: "\f26a"; }
-
-.fa-optin-monster:before {
- content: "\f23c"; }
-
-.fa-orcid:before {
- content: "\f8d2"; }
-
-.fa-osi:before {
- content: "\f41a"; }
-
-.fa-otter:before {
- content: "\f700"; }
-
-.fa-outdent:before {
- content: "\f03b"; }
-
-.fa-page4:before {
- content: "\f3d7"; }
-
-.fa-pagelines:before {
- content: "\f18c"; }
-
-.fa-pager:before {
- content: "\f815"; }
-
-.fa-paint-brush:before {
- content: "\f1fc"; }
-
-.fa-paint-roller:before {
- content: "\f5aa"; }
-
-.fa-palette:before {
- content: "\f53f"; }
-
-.fa-palfed:before {
- content: "\f3d8"; }
-
-.fa-pallet:before {
- content: "\f482"; }
-
-.fa-paper-plane:before {
- content: "\f1d8"; }
-
-.fa-paperclip:before {
- content: "\f0c6"; }
-
-.fa-parachute-box:before {
- content: "\f4cd"; }
-
-.fa-paragraph:before {
- content: "\f1dd"; }
-
-.fa-parking:before {
- content: "\f540"; }
-
-.fa-passport:before {
- content: "\f5ab"; }
-
-.fa-pastafarianism:before {
- content: "\f67b"; }
-
-.fa-paste:before {
- content: "\f0ea"; }
-
-.fa-patreon:before {
- content: "\f3d9"; }
-
-.fa-pause:before {
- content: "\f04c"; }
-
-.fa-pause-circle:before {
- content: "\f28b"; }
-
-.fa-paw:before {
- content: "\f1b0"; }
-
-.fa-paypal:before {
- content: "\f1ed"; }
-
-.fa-peace:before {
- content: "\f67c"; }
-
-.fa-pen:before {
- content: "\f304"; }
-
-.fa-pen-alt:before {
- content: "\f305"; }
-
-.fa-pen-fancy:before {
- content: "\f5ac"; }
-
-.fa-pen-nib:before {
- content: "\f5ad"; }
-
-.fa-pen-square:before {
- content: "\f14b"; }
-
-.fa-pencil-alt:before {
- content: "\f303"; }
-
-.fa-pencil-ruler:before {
- content: "\f5ae"; }
-
-.fa-penny-arcade:before {
- content: "\f704"; }
-
-.fa-people-carry:before {
- content: "\f4ce"; }
-
-.fa-pepper-hot:before {
- content: "\f816"; }
-
-.fa-percent:before {
- content: "\f295"; }
-
-.fa-percentage:before {
- content: "\f541"; }
-
-.fa-periscope:before {
- content: "\f3da"; }
-
-.fa-person-booth:before {
- content: "\f756"; }
-
-.fa-phabricator:before {
- content: "\f3db"; }
-
-.fa-phoenix-framework:before {
- content: "\f3dc"; }
-
-.fa-phoenix-squadron:before {
- content: "\f511"; }
-
-.fa-phone:before {
- content: "\f095"; }
-
-.fa-phone-alt:before {
- content: "\f879"; }
-
-.fa-phone-slash:before {
- content: "\f3dd"; }
-
-.fa-phone-square:before {
- content: "\f098"; }
-
-.fa-phone-square-alt:before {
- content: "\f87b"; }
-
-.fa-phone-volume:before {
- content: "\f2a0"; }
-
-.fa-photo-video:before {
- content: "\f87c"; }
-
-.fa-php:before {
- content: "\f457"; }
-
-.fa-pied-piper:before {
- content: "\f2ae"; }
-
-.fa-pied-piper-alt:before {
- content: "\f1a8"; }
-
-.fa-pied-piper-hat:before {
- content: "\f4e5"; }
-
-.fa-pied-piper-pp:before {
- content: "\f1a7"; }
-
-.fa-pied-piper-square:before {
- content: "\f91e"; }
-
-.fa-piggy-bank:before {
- content: "\f4d3"; }
-
-.fa-pills:before {
- content: "\f484"; }
-
-.fa-pinterest:before {
- content: "\f0d2"; }
-
-.fa-pinterest-p:before {
- content: "\f231"; }
-
-.fa-pinterest-square:before {
- content: "\f0d3"; }
-
-.fa-pizza-slice:before {
- content: "\f818"; }
-
-.fa-place-of-worship:before {
- content: "\f67f"; }
-
-.fa-plane:before {
- content: "\f072"; }
-
-.fa-plane-arrival:before {
- content: "\f5af"; }
-
-.fa-plane-departure:before {
- content: "\f5b0"; }
-
-.fa-play:before {
- content: "\f04b"; }
-
-.fa-play-circle:before {
- content: "\f144"; }
-
-.fa-playstation:before {
- content: "\f3df"; }
-
-.fa-plug:before {
- content: "\f1e6"; }
-
-.fa-plus:before {
- content: "\f067"; }
-
-.fa-plus-circle:before {
- content: "\f055"; }
-
-.fa-plus-square:before {
- content: "\f0fe"; }
-
-.fa-podcast:before {
- content: "\f2ce"; }
-
-.fa-poll:before {
- content: "\f681"; }
-
-.fa-poll-h:before {
- content: "\f682"; }
-
-.fa-poo:before {
- content: "\f2fe"; }
-
-.fa-poo-storm:before {
- content: "\f75a"; }
-
-.fa-poop:before {
- content: "\f619"; }
-
-.fa-portrait:before {
- content: "\f3e0"; }
-
-.fa-pound-sign:before {
- content: "\f154"; }
-
-.fa-power-off:before {
- content: "\f011"; }
-
-.fa-pray:before {
- content: "\f683"; }
-
-.fa-praying-hands:before {
- content: "\f684"; }
-
-.fa-prescription:before {
- content: "\f5b1"; }
-
-.fa-prescription-bottle:before {
- content: "\f485"; }
-
-.fa-prescription-bottle-alt:before {
- content: "\f486"; }
-
-.fa-print:before {
- content: "\f02f"; }
-
-.fa-procedures:before {
- content: "\f487"; }
-
-.fa-product-hunt:before {
- content: "\f288"; }
-
-.fa-project-diagram:before {
- content: "\f542"; }
-
-.fa-pushed:before {
- content: "\f3e1"; }
-
-.fa-puzzle-piece:before {
- content: "\f12e"; }
-
-.fa-python:before {
- content: "\f3e2"; }
-
-.fa-qq:before {
- content: "\f1d6"; }
-
-.fa-qrcode:before {
- content: "\f029"; }
-
-.fa-question:before {
- content: "\f128"; }
-
-.fa-question-circle:before {
- content: "\f059"; }
-
-.fa-quidditch:before {
- content: "\f458"; }
-
-.fa-quinscape:before {
- content: "\f459"; }
-
-.fa-quora:before {
- content: "\f2c4"; }
-
-.fa-quote-left:before {
- content: "\f10d"; }
-
-.fa-quote-right:before {
- content: "\f10e"; }
-
-.fa-quran:before {
- content: "\f687"; }
-
-.fa-r-project:before {
- content: "\f4f7"; }
-
-.fa-radiation:before {
- content: "\f7b9"; }
-
-.fa-radiation-alt:before {
- content: "\f7ba"; }
-
-.fa-rainbow:before {
- content: "\f75b"; }
-
-.fa-random:before {
- content: "\f074"; }
-
-.fa-raspberry-pi:before {
- content: "\f7bb"; }
-
-.fa-ravelry:before {
- content: "\f2d9"; }
-
-.fa-react:before {
- content: "\f41b"; }
-
-.fa-reacteurope:before {
- content: "\f75d"; }
-
-.fa-readme:before {
- content: "\f4d5"; }
-
-.fa-rebel:before {
- content: "\f1d0"; }
-
-.fa-receipt:before {
- content: "\f543"; }
-
-.fa-record-vinyl:before {
- content: "\f8d9"; }
-
-.fa-recycle:before {
- content: "\f1b8"; }
-
-.fa-red-river:before {
- content: "\f3e3"; }
-
-.fa-reddit:before {
- content: "\f1a1"; }
-
-.fa-reddit-alien:before {
- content: "\f281"; }
-
-.fa-reddit-square:before {
- content: "\f1a2"; }
-
-.fa-redhat:before {
- content: "\f7bc"; }
-
-.fa-redo:before {
- content: "\f01e"; }
-
-.fa-redo-alt:before {
- content: "\f2f9"; }
-
-.fa-registered:before {
- content: "\f25d"; }
-
-.fa-remove-format:before {
- content: "\f87d"; }
-
-.fa-renren:before {
- content: "\f18b"; }
-
-.fa-reply:before {
- content: "\f3e5"; }
-
-.fa-reply-all:before {
- content: "\f122"; }
-
-.fa-replyd:before {
- content: "\f3e6"; }
-
-.fa-republican:before {
- content: "\f75e"; }
-
-.fa-researchgate:before {
- content: "\f4f8"; }
-
-.fa-resolving:before {
- content: "\f3e7"; }
-
-.fa-restroom:before {
- content: "\f7bd"; }
-
-.fa-retweet:before {
- content: "\f079"; }
-
-.fa-rev:before {
- content: "\f5b2"; }
-
-.fa-ribbon:before {
- content: "\f4d6"; }
-
-.fa-ring:before {
- content: "\f70b"; }
-
-.fa-road:before {
- content: "\f018"; }
-
-.fa-robot:before {
- content: "\f544"; }
-
-.fa-rocket:before {
- content: "\f135"; }
-
-.fa-rocketchat:before {
- content: "\f3e8"; }
-
-.fa-rockrms:before {
- content: "\f3e9"; }
-
-.fa-route:before {
- content: "\f4d7"; }
-
-.fa-rss:before {
- content: "\f09e"; }
-
-.fa-rss-square:before {
- content: "\f143"; }
-
-.fa-ruble-sign:before {
- content: "\f158"; }
-
-.fa-ruler:before {
- content: "\f545"; }
-
-.fa-ruler-combined:before {
- content: "\f546"; }
-
-.fa-ruler-horizontal:before {
- content: "\f547"; }
-
-.fa-ruler-vertical:before {
- content: "\f548"; }
-
-.fa-running:before {
- content: "\f70c"; }
-
-.fa-rupee-sign:before {
- content: "\f156"; }
-
-.fa-sad-cry:before {
- content: "\f5b3"; }
-
-.fa-sad-tear:before {
- content: "\f5b4"; }
-
-.fa-safari:before {
- content: "\f267"; }
-
-.fa-salesforce:before {
- content: "\f83b"; }
-
-.fa-sass:before {
- content: "\f41e"; }
-
-.fa-satellite:before {
- content: "\f7bf"; }
-
-.fa-satellite-dish:before {
- content: "\f7c0"; }
-
-.fa-save:before {
- content: "\f0c7"; }
-
-.fa-schlix:before {
- content: "\f3ea"; }
-
-.fa-school:before {
- content: "\f549"; }
-
-.fa-screwdriver:before {
- content: "\f54a"; }
-
-.fa-scribd:before {
- content: "\f28a"; }
-
-.fa-scroll:before {
- content: "\f70e"; }
-
-.fa-sd-card:before {
- content: "\f7c2"; }
-
-.fa-search:before {
- content: "\f002"; }
-
-.fa-search-dollar:before {
- content: "\f688"; }
-
-.fa-search-location:before {
- content: "\f689"; }
-
-.fa-search-minus:before {
- content: "\f010"; }
-
-.fa-search-plus:before {
- content: "\f00e"; }
-
-.fa-searchengin:before {
- content: "\f3eb"; }
-
-.fa-seedling:before {
- content: "\f4d8"; }
-
-.fa-sellcast:before {
- content: "\f2da"; }
-
-.fa-sellsy:before {
- content: "\f213"; }
-
-.fa-server:before {
- content: "\f233"; }
-
-.fa-servicestack:before {
- content: "\f3ec"; }
-
-.fa-shapes:before {
- content: "\f61f"; }
-
-.fa-share:before {
- content: "\f064"; }
-
-.fa-share-alt:before {
- content: "\f1e0"; }
-
-.fa-share-alt-square:before {
- content: "\f1e1"; }
-
-.fa-share-square:before {
- content: "\f14d"; }
-
-.fa-shekel-sign:before {
- content: "\f20b"; }
-
-.fa-shield-alt:before {
- content: "\f3ed"; }
-
-.fa-ship:before {
- content: "\f21a"; }
-
-.fa-shipping-fast:before {
- content: "\f48b"; }
-
-.fa-shirtsinbulk:before {
- content: "\f214"; }
-
-.fa-shoe-prints:before {
- content: "\f54b"; }
-
-.fa-shopify:before {
- content: "\f957"; }
-
-.fa-shopping-bag:before {
- content: "\f290"; }
-
-.fa-shopping-basket:before {
- content: "\f291"; }
-
-.fa-shopping-cart:before {
- content: "\f07a"; }
-
-.fa-shopware:before {
- content: "\f5b5"; }
-
-.fa-shower:before {
- content: "\f2cc"; }
-
-.fa-shuttle-van:before {
- content: "\f5b6"; }
-
-.fa-sign:before {
- content: "\f4d9"; }
-
-.fa-sign-in-alt:before {
- content: "\f2f6"; }
-
-.fa-sign-language:before {
- content: "\f2a7"; }
-
-.fa-sign-out-alt:before {
- content: "\f2f5"; }
-
-.fa-signal:before {
- content: "\f012"; }
-
-.fa-signature:before {
- content: "\f5b7"; }
-
-.fa-sim-card:before {
- content: "\f7c4"; }
-
-.fa-simplybuilt:before {
- content: "\f215"; }
-
-.fa-sistrix:before {
- content: "\f3ee"; }
-
-.fa-sitemap:before {
- content: "\f0e8"; }
-
-.fa-sith:before {
- content: "\f512"; }
-
-.fa-skating:before {
- content: "\f7c5"; }
-
-.fa-sketch:before {
- content: "\f7c6"; }
-
-.fa-skiing:before {
- content: "\f7c9"; }
-
-.fa-skiing-nordic:before {
- content: "\f7ca"; }
-
-.fa-skull:before {
- content: "\f54c"; }
-
-.fa-skull-crossbones:before {
- content: "\f714"; }
-
-.fa-skyatlas:before {
- content: "\f216"; }
-
-.fa-skype:before {
- content: "\f17e"; }
-
-.fa-slack:before {
- content: "\f198"; }
-
-.fa-slack-hash:before {
- content: "\f3ef"; }
-
-.fa-slash:before {
- content: "\f715"; }
-
-.fa-sleigh:before {
- content: "\f7cc"; }
-
-.fa-sliders-h:before {
- content: "\f1de"; }
-
-.fa-slideshare:before {
- content: "\f1e7"; }
-
-.fa-smile:before {
- content: "\f118"; }
-
-.fa-smile-beam:before {
- content: "\f5b8"; }
-
-.fa-smile-wink:before {
- content: "\f4da"; }
-
-.fa-smog:before {
- content: "\f75f"; }
-
-.fa-smoking:before {
- content: "\f48d"; }
-
-.fa-smoking-ban:before {
- content: "\f54d"; }
-
-.fa-sms:before {
- content: "\f7cd"; }
-
-.fa-snapchat:before {
- content: "\f2ab"; }
-
-.fa-snapchat-ghost:before {
- content: "\f2ac"; }
-
-.fa-snapchat-square:before {
- content: "\f2ad"; }
-
-.fa-snowboarding:before {
- content: "\f7ce"; }
-
-.fa-snowflake:before {
- content: "\f2dc"; }
-
-.fa-snowman:before {
- content: "\f7d0"; }
-
-.fa-snowplow:before {
- content: "\f7d2"; }
-
-.fa-socks:before {
- content: "\f696"; }
-
-.fa-solar-panel:before {
- content: "\f5ba"; }
-
-.fa-sort:before {
- content: "\f0dc"; }
-
-.fa-sort-alpha-down:before {
- content: "\f15d"; }
-
-.fa-sort-alpha-down-alt:before {
- content: "\f881"; }
-
-.fa-sort-alpha-up:before {
- content: "\f15e"; }
-
-.fa-sort-alpha-up-alt:before {
- content: "\f882"; }
-
-.fa-sort-amount-down:before {
- content: "\f160"; }
-
-.fa-sort-amount-down-alt:before {
- content: "\f884"; }
-
-.fa-sort-amount-up:before {
- content: "\f161"; }
-
-.fa-sort-amount-up-alt:before {
- content: "\f885"; }
-
-.fa-sort-down:before {
- content: "\f0dd"; }
-
-.fa-sort-numeric-down:before {
- content: "\f162"; }
-
-.fa-sort-numeric-down-alt:before {
- content: "\f886"; }
-
-.fa-sort-numeric-up:before {
- content: "\f163"; }
-
-.fa-sort-numeric-up-alt:before {
- content: "\f887"; }
-
-.fa-sort-up:before {
- content: "\f0de"; }
-
-.fa-soundcloud:before {
- content: "\f1be"; }
-
-.fa-sourcetree:before {
- content: "\f7d3"; }
-
-.fa-spa:before {
- content: "\f5bb"; }
-
-.fa-space-shuttle:before {
- content: "\f197"; }
-
-.fa-speakap:before {
- content: "\f3f3"; }
-
-.fa-speaker-deck:before {
- content: "\f83c"; }
-
-.fa-spell-check:before {
- content: "\f891"; }
-
-.fa-spider:before {
- content: "\f717"; }
-
-.fa-spinner:before {
- content: "\f110"; }
-
-.fa-splotch:before {
- content: "\f5bc"; }
-
-.fa-spotify:before {
- content: "\f1bc"; }
-
-.fa-spray-can:before {
- content: "\f5bd"; }
-
-.fa-square:before {
- content: "\f0c8"; }
-
-.fa-square-full:before {
- content: "\f45c"; }
-
-.fa-square-root-alt:before {
- content: "\f698"; }
-
-.fa-squarespace:before {
- content: "\f5be"; }
-
-.fa-stack-exchange:before {
- content: "\f18d"; }
-
-.fa-stack-overflow:before {
- content: "\f16c"; }
-
-.fa-stackpath:before {
- content: "\f842"; }
-
-.fa-stamp:before {
- content: "\f5bf"; }
-
-.fa-star:before {
- content: "\f005"; }
-
-.fa-star-and-crescent:before {
- content: "\f699"; }
-
-.fa-star-half:before {
- content: "\f089"; }
-
-.fa-star-half-alt:before {
- content: "\f5c0"; }
-
-.fa-star-of-david:before {
- content: "\f69a"; }
-
-.fa-star-of-life:before {
- content: "\f621"; }
-
-.fa-staylinked:before {
- content: "\f3f5"; }
-
-.fa-steam:before {
- content: "\f1b6"; }
-
-.fa-steam-square:before {
- content: "\f1b7"; }
-
-.fa-steam-symbol:before {
- content: "\f3f6"; }
-
-.fa-step-backward:before {
- content: "\f048"; }
-
-.fa-step-forward:before {
- content: "\f051"; }
-
-.fa-stethoscope:before {
- content: "\f0f1"; }
-
-.fa-sticker-mule:before {
- content: "\f3f7"; }
-
-.fa-sticky-note:before {
- content: "\f249"; }
-
-.fa-stop:before {
- content: "\f04d"; }
-
-.fa-stop-circle:before {
- content: "\f28d"; }
-
-.fa-stopwatch:before {
- content: "\f2f2"; }
-
-.fa-store:before {
- content: "\f54e"; }
-
-.fa-store-alt:before {
- content: "\f54f"; }
-
-.fa-strava:before {
- content: "\f428"; }
-
-.fa-stream:before {
- content: "\f550"; }
-
-.fa-street-view:before {
- content: "\f21d"; }
-
-.fa-strikethrough:before {
- content: "\f0cc"; }
-
-.fa-stripe:before {
- content: "\f429"; }
-
-.fa-stripe-s:before {
- content: "\f42a"; }
-
-.fa-stroopwafel:before {
- content: "\f551"; }
-
-.fa-studiovinari:before {
- content: "\f3f8"; }
-
-.fa-stumbleupon:before {
- content: "\f1a4"; }
-
-.fa-stumbleupon-circle:before {
- content: "\f1a3"; }
-
-.fa-subscript:before {
- content: "\f12c"; }
-
-.fa-subway:before {
- content: "\f239"; }
-
-.fa-suitcase:before {
- content: "\f0f2"; }
-
-.fa-suitcase-rolling:before {
- content: "\f5c1"; }
-
-.fa-sun:before {
- content: "\f185"; }
-
-.fa-superpowers:before {
- content: "\f2dd"; }
-
-.fa-superscript:before {
- content: "\f12b"; }
-
-.fa-supple:before {
- content: "\f3f9"; }
-
-.fa-surprise:before {
- content: "\f5c2"; }
-
-.fa-suse:before {
- content: "\f7d6"; }
-
-.fa-swatchbook:before {
- content: "\f5c3"; }
-
-.fa-swift:before {
- content: "\f8e1"; }
-
-.fa-swimmer:before {
- content: "\f5c4"; }
-
-.fa-swimming-pool:before {
- content: "\f5c5"; }
-
-.fa-symfony:before {
- content: "\f83d"; }
-
-.fa-synagogue:before {
- content: "\f69b"; }
-
-.fa-sync:before {
- content: "\f021"; }
-
-.fa-sync-alt:before {
- content: "\f2f1"; }
-
-.fa-syringe:before {
- content: "\f48e"; }
-
-.fa-table:before {
- content: "\f0ce"; }
-
-.fa-table-tennis:before {
- content: "\f45d"; }
-
-.fa-tablet:before {
- content: "\f10a"; }
-
-.fa-tablet-alt:before {
- content: "\f3fa"; }
-
-.fa-tablets:before {
- content: "\f490"; }
-
-.fa-tachometer-alt:before {
- content: "\f3fd"; }
-
-.fa-tag:before {
- content: "\f02b"; }
-
-.fa-tags:before {
- content: "\f02c"; }
-
-.fa-tape:before {
- content: "\f4db"; }
-
-.fa-tasks:before {
- content: "\f0ae"; }
-
-.fa-taxi:before {
- content: "\f1ba"; }
-
-.fa-teamspeak:before {
- content: "\f4f9"; }
-
-.fa-teeth:before {
- content: "\f62e"; }
-
-.fa-teeth-open:before {
- content: "\f62f"; }
-
-.fa-telegram:before {
- content: "\f2c6"; }
-
-.fa-telegram-plane:before {
- content: "\f3fe"; }
-
-.fa-temperature-high:before {
- content: "\f769"; }
-
-.fa-temperature-low:before {
- content: "\f76b"; }
-
-.fa-tencent-weibo:before {
- content: "\f1d5"; }
-
-.fa-tenge:before {
- content: "\f7d7"; }
-
-.fa-terminal:before {
- content: "\f120"; }
-
-.fa-text-height:before {
- content: "\f034"; }
-
-.fa-text-width:before {
- content: "\f035"; }
-
-.fa-th:before {
- content: "\f00a"; }
-
-.fa-th-large:before {
- content: "\f009"; }
-
-.fa-th-list:before {
- content: "\f00b"; }
-
-.fa-the-red-yeti:before {
- content: "\f69d"; }
-
-.fa-theater-masks:before {
- content: "\f630"; }
-
-.fa-themeco:before {
- content: "\f5c6"; }
-
-.fa-themeisle:before {
- content: "\f2b2"; }
-
-.fa-thermometer:before {
- content: "\f491"; }
-
-.fa-thermometer-empty:before {
- content: "\f2cb"; }
-
-.fa-thermometer-full:before {
- content: "\f2c7"; }
-
-.fa-thermometer-half:before {
- content: "\f2c9"; }
-
-.fa-thermometer-quarter:before {
- content: "\f2ca"; }
-
-.fa-thermometer-three-quarters:before {
- content: "\f2c8"; }
-
-.fa-think-peaks:before {
- content: "\f731"; }
-
-.fa-thumbs-down:before {
- content: "\f165"; }
-
-.fa-thumbs-up:before {
- content: "\f164"; }
-
-.fa-thumbtack:before {
- content: "\f08d"; }
-
-.fa-ticket-alt:before {
- content: "\f3ff"; }
-
-.fa-times:before {
- content: "\f00d"; }
-
-.fa-times-circle:before {
- content: "\f057"; }
-
-.fa-tint:before {
- content: "\f043"; }
-
-.fa-tint-slash:before {
- content: "\f5c7"; }
-
-.fa-tired:before {
- content: "\f5c8"; }
-
-.fa-toggle-off:before {
- content: "\f204"; }
-
-.fa-toggle-on:before {
- content: "\f205"; }
-
-.fa-toilet:before {
- content: "\f7d8"; }
-
-.fa-toilet-paper:before {
- content: "\f71e"; }
-
-.fa-toolbox:before {
- content: "\f552"; }
-
-.fa-tools:before {
- content: "\f7d9"; }
-
-.fa-tooth:before {
- content: "\f5c9"; }
-
-.fa-torah:before {
- content: "\f6a0"; }
-
-.fa-torii-gate:before {
- content: "\f6a1"; }
-
-.fa-tractor:before {
- content: "\f722"; }
-
-.fa-trade-federation:before {
- content: "\f513"; }
-
-.fa-trademark:before {
- content: "\f25c"; }
-
-.fa-traffic-light:before {
- content: "\f637"; }
-
-.fa-trailer:before {
- content: "\f941"; }
-
-.fa-train:before {
- content: "\f238"; }
-
-.fa-tram:before {
- content: "\f7da"; }
-
-.fa-transgender:before {
- content: "\f224"; }
-
-.fa-transgender-alt:before {
- content: "\f225"; }
-
-.fa-trash:before {
- content: "\f1f8"; }
-
-.fa-trash-alt:before {
- content: "\f2ed"; }
-
-.fa-trash-restore:before {
- content: "\f829"; }
-
-.fa-trash-restore-alt:before {
- content: "\f82a"; }
-
-.fa-tree:before {
- content: "\f1bb"; }
-
-.fa-trello:before {
- content: "\f181"; }
-
-.fa-tripadvisor:before {
- content: "\f262"; }
-
-.fa-trophy:before {
- content: "\f091"; }
-
-.fa-truck:before {
- content: "\f0d1"; }
-
-.fa-truck-loading:before {
- content: "\f4de"; }
-
-.fa-truck-monster:before {
- content: "\f63b"; }
-
-.fa-truck-moving:before {
- content: "\f4df"; }
-
-.fa-truck-pickup:before {
- content: "\f63c"; }
-
-.fa-tshirt:before {
- content: "\f553"; }
-
-.fa-tty:before {
- content: "\f1e4"; }
-
-.fa-tumblr:before {
- content: "\f173"; }
-
-.fa-tumblr-square:before {
- content: "\f174"; }
-
-.fa-tv:before {
- content: "\f26c"; }
-
-.fa-twitch:before {
- content: "\f1e8"; }
-
-.fa-twitter:before {
- content: "\f099"; }
-
-.fa-twitter-square:before {
- content: "\f081"; }
-
-.fa-typo3:before {
- content: "\f42b"; }
-
-.fa-uber:before {
- content: "\f402"; }
-
-.fa-ubuntu:before {
- content: "\f7df"; }
-
-.fa-uikit:before {
- content: "\f403"; }
-
-.fa-umbraco:before {
- content: "\f8e8"; }
-
-.fa-umbrella:before {
- content: "\f0e9"; }
-
-.fa-umbrella-beach:before {
- content: "\f5ca"; }
-
-.fa-underline:before {
- content: "\f0cd"; }
-
-.fa-undo:before {
- content: "\f0e2"; }
-
-.fa-undo-alt:before {
- content: "\f2ea"; }
-
-.fa-uniregistry:before {
- content: "\f404"; }
-
-.fa-unity:before {
- content: "\f949"; }
-
-.fa-universal-access:before {
- content: "\f29a"; }
-
-.fa-university:before {
- content: "\f19c"; }
-
-.fa-unlink:before {
- content: "\f127"; }
-
-.fa-unlock:before {
- content: "\f09c"; }
-
-.fa-unlock-alt:before {
- content: "\f13e"; }
-
-.fa-untappd:before {
- content: "\f405"; }
-
-.fa-upload:before {
- content: "\f093"; }
-
-.fa-ups:before {
- content: "\f7e0"; }
-
-.fa-usb:before {
- content: "\f287"; }
-
-.fa-user:before {
- content: "\f007"; }
-
-.fa-user-alt:before {
- content: "\f406"; }
-
-.fa-user-alt-slash:before {
- content: "\f4fa"; }
-
-.fa-user-astronaut:before {
- content: "\f4fb"; }
-
-.fa-user-check:before {
- content: "\f4fc"; }
-
-.fa-user-circle:before {
- content: "\f2bd"; }
-
-.fa-user-clock:before {
- content: "\f4fd"; }
-
-.fa-user-cog:before {
- content: "\f4fe"; }
-
-.fa-user-edit:before {
- content: "\f4ff"; }
-
-.fa-user-friends:before {
- content: "\f500"; }
-
-.fa-user-graduate:before {
- content: "\f501"; }
-
-.fa-user-injured:before {
- content: "\f728"; }
-
-.fa-user-lock:before {
- content: "\f502"; }
-
-.fa-user-md:before {
- content: "\f0f0"; }
-
-.fa-user-minus:before {
- content: "\f503"; }
-
-.fa-user-ninja:before {
- content: "\f504"; }
-
-.fa-user-nurse:before {
- content: "\f82f"; }
-
-.fa-user-plus:before {
- content: "\f234"; }
-
-.fa-user-secret:before {
- content: "\f21b"; }
-
-.fa-user-shield:before {
- content: "\f505"; }
-
-.fa-user-slash:before {
- content: "\f506"; }
-
-.fa-user-tag:before {
- content: "\f507"; }
-
-.fa-user-tie:before {
- content: "\f508"; }
-
-.fa-user-times:before {
- content: "\f235"; }
-
-.fa-users:before {
- content: "\f0c0"; }
-
-.fa-users-cog:before {
- content: "\f509"; }
-
-.fa-usps:before {
- content: "\f7e1"; }
-
-.fa-ussunnah:before {
- content: "\f407"; }
-
-.fa-utensil-spoon:before {
- content: "\f2e5"; }
-
-.fa-utensils:before {
- content: "\f2e7"; }
-
-.fa-vaadin:before {
- content: "\f408"; }
-
-.fa-vector-square:before {
- content: "\f5cb"; }
-
-.fa-venus:before {
- content: "\f221"; }
-
-.fa-venus-double:before {
- content: "\f226"; }
-
-.fa-venus-mars:before {
- content: "\f228"; }
-
-.fa-viacoin:before {
- content: "\f237"; }
-
-.fa-viadeo:before {
- content: "\f2a9"; }
-
-.fa-viadeo-square:before {
- content: "\f2aa"; }
-
-.fa-vial:before {
- content: "\f492"; }
-
-.fa-vials:before {
- content: "\f493"; }
-
-.fa-viber:before {
- content: "\f409"; }
-
-.fa-video:before {
- content: "\f03d"; }
-
-.fa-video-slash:before {
- content: "\f4e2"; }
-
-.fa-vihara:before {
- content: "\f6a7"; }
-
-.fa-vimeo:before {
- content: "\f40a"; }
-
-.fa-vimeo-square:before {
- content: "\f194"; }
-
-.fa-vimeo-v:before {
- content: "\f27d"; }
-
-.fa-vine:before {
- content: "\f1ca"; }
-
-.fa-vk:before {
- content: "\f189"; }
-
-.fa-vnv:before {
- content: "\f40b"; }
-
-.fa-voicemail:before {
- content: "\f897"; }
-
-.fa-volleyball-ball:before {
- content: "\f45f"; }
-
-.fa-volume-down:before {
- content: "\f027"; }
-
-.fa-volume-mute:before {
- content: "\f6a9"; }
-
-.fa-volume-off:before {
- content: "\f026"; }
-
-.fa-volume-up:before {
- content: "\f028"; }
-
-.fa-vote-yea:before {
- content: "\f772"; }
-
-.fa-vr-cardboard:before {
- content: "\f729"; }
-
-.fa-vuejs:before {
- content: "\f41f"; }
-
-.fa-walking:before {
- content: "\f554"; }
-
-.fa-wallet:before {
- content: "\f555"; }
-
-.fa-warehouse:before {
- content: "\f494"; }
-
-.fa-water:before {
- content: "\f773"; }
-
-.fa-wave-square:before {
- content: "\f83e"; }
-
-.fa-waze:before {
- content: "\f83f"; }
-
-.fa-weebly:before {
- content: "\f5cc"; }
-
-.fa-weibo:before {
- content: "\f18a"; }
-
-.fa-weight:before {
- content: "\f496"; }
-
-.fa-weight-hanging:before {
- content: "\f5cd"; }
-
-.fa-weixin:before {
- content: "\f1d7"; }
-
-.fa-whatsapp:before {
- content: "\f232"; }
-
-.fa-whatsapp-square:before {
- content: "\f40c"; }
-
-.fa-wheelchair:before {
- content: "\f193"; }
-
-.fa-whmcs:before {
- content: "\f40d"; }
-
-.fa-wifi:before {
- content: "\f1eb"; }
-
-.fa-wikipedia-w:before {
- content: "\f266"; }
-
-.fa-wind:before {
- content: "\f72e"; }
-
-.fa-window-close:before {
- content: "\f410"; }
-
-.fa-window-maximize:before {
- content: "\f2d0"; }
-
-.fa-window-minimize:before {
- content: "\f2d1"; }
-
-.fa-window-restore:before {
- content: "\f2d2"; }
-
-.fa-windows:before {
- content: "\f17a"; }
-
-.fa-wine-bottle:before {
- content: "\f72f"; }
-
-.fa-wine-glass:before {
- content: "\f4e3"; }
-
-.fa-wine-glass-alt:before {
- content: "\f5ce"; }
-
-.fa-wix:before {
- content: "\f5cf"; }
-
-.fa-wizards-of-the-coast:before {
- content: "\f730"; }
-
-.fa-wolf-pack-battalion:before {
- content: "\f514"; }
-
-.fa-won-sign:before {
- content: "\f159"; }
-
-.fa-wordpress:before {
- content: "\f19a"; }
-
-.fa-wordpress-simple:before {
- content: "\f411"; }
-
-.fa-wpbeginner:before {
- content: "\f297"; }
-
-.fa-wpexplorer:before {
- content: "\f2de"; }
-
-.fa-wpforms:before {
- content: "\f298"; }
-
-.fa-wpressr:before {
- content: "\f3e4"; }
-
-.fa-wrench:before {
- content: "\f0ad"; }
-
-.fa-x-ray:before {
- content: "\f497"; }
-
-.fa-xbox:before {
- content: "\f412"; }
-
-.fa-xing:before {
- content: "\f168"; }
-
-.fa-xing-square:before {
- content: "\f169"; }
-
-.fa-y-combinator:before {
- content: "\f23b"; }
-
-.fa-yahoo:before {
- content: "\f19e"; }
-
-.fa-yammer:before {
- content: "\f840"; }
-
-.fa-yandex:before {
- content: "\f413"; }
-
-.fa-yandex-international:before {
- content: "\f414"; }
-
-.fa-yarn:before {
- content: "\f7e3"; }
-
-.fa-yelp:before {
- content: "\f1e9"; }
-
-.fa-yen-sign:before {
- content: "\f157"; }
-
-.fa-yin-yang:before {
- content: "\f6ad"; }
-
-.fa-yoast:before {
- content: "\f2b1"; }
-
-.fa-youtube:before {
- content: "\f167"; }
-
-.fa-youtube-square:before {
- content: "\f431"; }
-
-.fa-zhihu:before {
- content: "\f63f"; }
-
-.sr-only {
- border: 0;
- clip: rect(0, 0, 0, 0);
- height: 1px;
- margin: -1px;
- overflow: hidden;
- padding: 0;
- position: absolute;
- width: 1px; }
-
-.sr-only-focusable:active, .sr-only-focusable:focus {
- clip: auto;
- height: auto;
- margin: 0;
- overflow: visible;
- position: static;
- width: auto; }
diff --git a/static/css/fontawesome.min.css b/static/css/fontawesome.min.css
deleted file mode 100644
index e00f0ed5..00000000
--- a/static/css/fontawesome.min.css
+++ /dev/null
@@ -1,5 +0,0 @@
-/*!
- * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\f952"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\f907"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\f913"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\f955"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\f91a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\f956"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\f91e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\f957"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\f941"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\f949"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}
\ No newline at end of file
diff --git a/static/css/regular.css b/static/css/regular.css
deleted file mode 100644
index 7e70f660..00000000
--- a/static/css/regular.css
+++ /dev/null
@@ -1,15 +0,0 @@
-/*!
- * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-@font-face {
- font-family: 'Font Awesome 5 Free';
- font-style: normal;
- font-weight: 400;
- font-display: auto;
- src: url("../webfonts/fa-regular-400.eot");
- src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); }
-
-.far {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
diff --git a/static/css/regular.min.css b/static/css/regular.min.css
deleted file mode 100644
index 0d04bb80..00000000
--- a/static/css/regular.min.css
+++ /dev/null
@@ -1,5 +0,0 @@
-/*!
- * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400}
\ No newline at end of file
diff --git a/static/css/solid.css b/static/css/solid.css
deleted file mode 100644
index 6ff136ac..00000000
--- a/static/css/solid.css
+++ /dev/null
@@ -1,16 +0,0 @@
-/*!
- * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-@font-face {
- font-family: 'Font Awesome 5 Free';
- font-style: normal;
- font-weight: 900;
- font-display: auto;
- src: url("../webfonts/fa-solid-900.eot");
- src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
-
-.fa,
-.fas {
- font-family: 'Font Awesome 5 Free';
- font-weight: 900; }
diff --git a/static/css/solid.min.css b/static/css/solid.min.css
deleted file mode 100644
index d80a5ca9..00000000
--- a/static/css/solid.min.css
+++ /dev/null
@@ -1,5 +0,0 @@
-/*!
- * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900}
\ No newline at end of file
diff --git a/static/css/svg-with-js.css b/static/css/svg-with-js.css
deleted file mode 100644
index 9a7be4a7..00000000
--- a/static/css/svg-with-js.css
+++ /dev/null
@@ -1,371 +0,0 @@
-/*!
- * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-svg:not(:root).svg-inline--fa {
- overflow: visible; }
-
-.svg-inline--fa {
- display: inline-block;
- font-size: inherit;
- height: 1em;
- overflow: visible;
- vertical-align: -.125em; }
- .svg-inline--fa.fa-lg {
- vertical-align: -.225em; }
- .svg-inline--fa.fa-w-1 {
- width: 0.0625em; }
- .svg-inline--fa.fa-w-2 {
- width: 0.125em; }
- .svg-inline--fa.fa-w-3 {
- width: 0.1875em; }
- .svg-inline--fa.fa-w-4 {
- width: 0.25em; }
- .svg-inline--fa.fa-w-5 {
- width: 0.3125em; }
- .svg-inline--fa.fa-w-6 {
- width: 0.375em; }
- .svg-inline--fa.fa-w-7 {
- width: 0.4375em; }
- .svg-inline--fa.fa-w-8 {
- width: 0.5em; }
- .svg-inline--fa.fa-w-9 {
- width: 0.5625em; }
- .svg-inline--fa.fa-w-10 {
- width: 0.625em; }
- .svg-inline--fa.fa-w-11 {
- width: 0.6875em; }
- .svg-inline--fa.fa-w-12 {
- width: 0.75em; }
- .svg-inline--fa.fa-w-13 {
- width: 0.8125em; }
- .svg-inline--fa.fa-w-14 {
- width: 0.875em; }
- .svg-inline--fa.fa-w-15 {
- width: 0.9375em; }
- .svg-inline--fa.fa-w-16 {
- width: 1em; }
- .svg-inline--fa.fa-w-17 {
- width: 1.0625em; }
- .svg-inline--fa.fa-w-18 {
- width: 1.125em; }
- .svg-inline--fa.fa-w-19 {
- width: 1.1875em; }
- .svg-inline--fa.fa-w-20 {
- width: 1.25em; }
- .svg-inline--fa.fa-pull-left {
- margin-right: .3em;
- width: auto; }
- .svg-inline--fa.fa-pull-right {
- margin-left: .3em;
- width: auto; }
- .svg-inline--fa.fa-border {
- height: 1.5em; }
- .svg-inline--fa.fa-li {
- width: 2em; }
- .svg-inline--fa.fa-fw {
- width: 1.25em; }
-
-.fa-layers svg.svg-inline--fa {
- bottom: 0;
- left: 0;
- margin: auto;
- position: absolute;
- right: 0;
- top: 0; }
-
-.fa-layers {
- display: inline-block;
- height: 1em;
- position: relative;
- text-align: center;
- vertical-align: -.125em;
- width: 1em; }
- .fa-layers svg.svg-inline--fa {
- -webkit-transform-origin: center center;
- transform-origin: center center; }
-
-.fa-layers-text, .fa-layers-counter {
- display: inline-block;
- position: absolute;
- text-align: center; }
-
-.fa-layers-text {
- left: 50%;
- top: 50%;
- -webkit-transform: translate(-50%, -50%);
- transform: translate(-50%, -50%);
- -webkit-transform-origin: center center;
- transform-origin: center center; }
-
-.fa-layers-counter {
- background-color: #ff253a;
- border-radius: 1em;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- color: #fff;
- height: 1.5em;
- line-height: 1;
- max-width: 5em;
- min-width: 1.5em;
- overflow: hidden;
- padding: .25em;
- right: 0;
- text-overflow: ellipsis;
- top: 0;
- -webkit-transform: scale(0.25);
- transform: scale(0.25);
- -webkit-transform-origin: top right;
- transform-origin: top right; }
-
-.fa-layers-bottom-right {
- bottom: 0;
- right: 0;
- top: auto;
- -webkit-transform: scale(0.25);
- transform: scale(0.25);
- -webkit-transform-origin: bottom right;
- transform-origin: bottom right; }
-
-.fa-layers-bottom-left {
- bottom: 0;
- left: 0;
- right: auto;
- top: auto;
- -webkit-transform: scale(0.25);
- transform: scale(0.25);
- -webkit-transform-origin: bottom left;
- transform-origin: bottom left; }
-
-.fa-layers-top-right {
- right: 0;
- top: 0;
- -webkit-transform: scale(0.25);
- transform: scale(0.25);
- -webkit-transform-origin: top right;
- transform-origin: top right; }
-
-.fa-layers-top-left {
- left: 0;
- right: auto;
- top: 0;
- -webkit-transform: scale(0.25);
- transform: scale(0.25);
- -webkit-transform-origin: top left;
- transform-origin: top left; }
-
-.fa-lg {
- font-size: 1.33333em;
- line-height: 0.75em;
- vertical-align: -.0667em; }
-
-.fa-xs {
- font-size: .75em; }
-
-.fa-sm {
- font-size: .875em; }
-
-.fa-1x {
- font-size: 1em; }
-
-.fa-2x {
- font-size: 2em; }
-
-.fa-3x {
- font-size: 3em; }
-
-.fa-4x {
- font-size: 4em; }
-
-.fa-5x {
- font-size: 5em; }
-
-.fa-6x {
- font-size: 6em; }
-
-.fa-7x {
- font-size: 7em; }
-
-.fa-8x {
- font-size: 8em; }
-
-.fa-9x {
- font-size: 9em; }
-
-.fa-10x {
- font-size: 10em; }
-
-.fa-fw {
- text-align: center;
- width: 1.25em; }
-
-.fa-ul {
- list-style-type: none;
- margin-left: 2.5em;
- padding-left: 0; }
- .fa-ul > li {
- position: relative; }
-
-.fa-li {
- left: -2em;
- position: absolute;
- text-align: center;
- width: 2em;
- line-height: inherit; }
-
-.fa-border {
- border: solid 0.08em #eee;
- border-radius: .1em;
- padding: .2em .25em .15em; }
-
-.fa-pull-left {
- float: left; }
-
-.fa-pull-right {
- float: right; }
-
-.fa.fa-pull-left,
-.fas.fa-pull-left,
-.far.fa-pull-left,
-.fal.fa-pull-left,
-.fab.fa-pull-left {
- margin-right: .3em; }
-
-.fa.fa-pull-right,
-.fas.fa-pull-right,
-.far.fa-pull-right,
-.fal.fa-pull-right,
-.fab.fa-pull-right {
- margin-left: .3em; }
-
-.fa-spin {
- -webkit-animation: fa-spin 2s infinite linear;
- animation: fa-spin 2s infinite linear; }
-
-.fa-pulse {
- -webkit-animation: fa-spin 1s infinite steps(8);
- animation: fa-spin 1s infinite steps(8); }
-
-@-webkit-keyframes fa-spin {
- 0% {
- -webkit-transform: rotate(0deg);
- transform: rotate(0deg); }
- 100% {
- -webkit-transform: rotate(360deg);
- transform: rotate(360deg); } }
-
-@keyframes fa-spin {
- 0% {
- -webkit-transform: rotate(0deg);
- transform: rotate(0deg); }
- 100% {
- -webkit-transform: rotate(360deg);
- transform: rotate(360deg); } }
-
-.fa-rotate-90 {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
- -webkit-transform: rotate(90deg);
- transform: rotate(90deg); }
-
-.fa-rotate-180 {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
- -webkit-transform: rotate(180deg);
- transform: rotate(180deg); }
-
-.fa-rotate-270 {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
- -webkit-transform: rotate(270deg);
- transform: rotate(270deg); }
-
-.fa-flip-horizontal {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
- -webkit-transform: scale(-1, 1);
- transform: scale(-1, 1); }
-
-.fa-flip-vertical {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
- -webkit-transform: scale(1, -1);
- transform: scale(1, -1); }
-
-.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
- -webkit-transform: scale(-1, -1);
- transform: scale(-1, -1); }
-
-:root .fa-rotate-90,
-:root .fa-rotate-180,
-:root .fa-rotate-270,
-:root .fa-flip-horizontal,
-:root .fa-flip-vertical,
-:root .fa-flip-both {
- -webkit-filter: none;
- filter: none; }
-
-.fa-stack {
- display: inline-block;
- height: 2em;
- position: relative;
- width: 2.5em; }
-
-.fa-stack-1x,
-.fa-stack-2x {
- bottom: 0;
- left: 0;
- margin: auto;
- position: absolute;
- right: 0;
- top: 0; }
-
-.svg-inline--fa.fa-stack-1x {
- height: 1em;
- width: 1.25em; }
-
-.svg-inline--fa.fa-stack-2x {
- height: 2em;
- width: 2.5em; }
-
-.fa-inverse {
- color: #fff; }
-
-.sr-only {
- border: 0;
- clip: rect(0, 0, 0, 0);
- height: 1px;
- margin: -1px;
- overflow: hidden;
- padding: 0;
- position: absolute;
- width: 1px; }
-
-.sr-only-focusable:active, .sr-only-focusable:focus {
- clip: auto;
- height: auto;
- margin: 0;
- overflow: visible;
- position: static;
- width: auto; }
-
-.svg-inline--fa .fa-primary {
- fill: var(--fa-primary-color, currentColor);
- opacity: 1;
- opacity: var(--fa-primary-opacity, 1); }
-
-.svg-inline--fa .fa-secondary {
- fill: var(--fa-secondary-color, currentColor);
- opacity: 0.4;
- opacity: var(--fa-secondary-opacity, 0.4); }
-
-.svg-inline--fa.fa-swap-opacity .fa-primary {
- opacity: 0.4;
- opacity: var(--fa-secondary-opacity, 0.4); }
-
-.svg-inline--fa.fa-swap-opacity .fa-secondary {
- opacity: 1;
- opacity: var(--fa-primary-opacity, 1); }
-
-.svg-inline--fa mask .fa-primary,
-.svg-inline--fa mask .fa-secondary {
- fill: black; }
-
-.fad.fa-inverse {
- color: #fff; }
diff --git a/static/css/svg-with-js.min.css b/static/css/svg-with-js.min.css
deleted file mode 100644
index 5e158fa1..00000000
--- a/static/css/svg-with-js.min.css
+++ /dev/null
@@ -1,5 +0,0 @@
-/*!
- * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-.svg-inline--fa,svg:not(:root).svg-inline--fa{overflow:visible}.svg-inline--fa{display:inline-block;font-size:inherit;height:1em;vertical-align:-.125em}.svg-inline--fa.fa-lg{vertical-align:-.225em}.svg-inline--fa.fa-w-1{width:.0625em}.svg-inline--fa.fa-w-2{width:.125em}.svg-inline--fa.fa-w-3{width:.1875em}.svg-inline--fa.fa-w-4{width:.25em}.svg-inline--fa.fa-w-5{width:.3125em}.svg-inline--fa.fa-w-6{width:.375em}.svg-inline--fa.fa-w-7{width:.4375em}.svg-inline--fa.fa-w-8{width:.5em}.svg-inline--fa.fa-w-9{width:.5625em}.svg-inline--fa.fa-w-10{width:.625em}.svg-inline--fa.fa-w-11{width:.6875em}.svg-inline--fa.fa-w-12{width:.75em}.svg-inline--fa.fa-w-13{width:.8125em}.svg-inline--fa.fa-w-14{width:.875em}.svg-inline--fa.fa-w-15{width:.9375em}.svg-inline--fa.fa-w-16{width:1em}.svg-inline--fa.fa-w-17{width:1.0625em}.svg-inline--fa.fa-w-18{width:1.125em}.svg-inline--fa.fa-w-19{width:1.1875em}.svg-inline--fa.fa-w-20{width:1.25em}.svg-inline--fa.fa-pull-left{margin-right:.3em;width:auto}.svg-inline--fa.fa-pull-right{margin-left:.3em;width:auto}.svg-inline--fa.fa-border{height:1.5em}.svg-inline--fa.fa-li{width:2em}.svg-inline--fa.fa-fw{width:1.25em}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:#ff253a;border-radius:1em;-webkit-box-sizing:border-box;box-sizing:border-box;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;right:0;text-overflow:ellipsis;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:0;right:0;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:0;left:0;right:auto;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{right:0;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:0;right:auto;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top left;transform-origin:top left}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:#fff}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor)}.svg-inline--fa .fa-secondary,.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:.4;opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.fad.fa-inverse{color:#fff}
\ No newline at end of file
diff --git a/static/css/v4-shims.css b/static/css/v4-shims.css
deleted file mode 100644
index 9e077427..00000000
--- a/static/css/v4-shims.css
+++ /dev/null
@@ -1,2172 +0,0 @@
-/*!
- * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-.fa.fa-glass:before {
- content: "\f000"; }
-
-.fa.fa-meetup {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-star-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-star-o:before {
- content: "\f005"; }
-
-.fa.fa-remove:before {
- content: "\f00d"; }
-
-.fa.fa-close:before {
- content: "\f00d"; }
-
-.fa.fa-gear:before {
- content: "\f013"; }
-
-.fa.fa-trash-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-trash-o:before {
- content: "\f2ed"; }
-
-.fa.fa-file-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-file-o:before {
- content: "\f15b"; }
-
-.fa.fa-clock-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-clock-o:before {
- content: "\f017"; }
-
-.fa.fa-arrow-circle-o-down {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-arrow-circle-o-down:before {
- content: "\f358"; }
-
-.fa.fa-arrow-circle-o-up {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-arrow-circle-o-up:before {
- content: "\f35b"; }
-
-.fa.fa-play-circle-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-play-circle-o:before {
- content: "\f144"; }
-
-.fa.fa-repeat:before {
- content: "\f01e"; }
-
-.fa.fa-rotate-right:before {
- content: "\f01e"; }
-
-.fa.fa-refresh:before {
- content: "\f021"; }
-
-.fa.fa-list-alt {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-dedent:before {
- content: "\f03b"; }
-
-.fa.fa-video-camera:before {
- content: "\f03d"; }
-
-.fa.fa-picture-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-picture-o:before {
- content: "\f03e"; }
-
-.fa.fa-photo {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-photo:before {
- content: "\f03e"; }
-
-.fa.fa-image {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-image:before {
- content: "\f03e"; }
-
-.fa.fa-pencil:before {
- content: "\f303"; }
-
-.fa.fa-map-marker:before {
- content: "\f3c5"; }
-
-.fa.fa-pencil-square-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-pencil-square-o:before {
- content: "\f044"; }
-
-.fa.fa-share-square-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-share-square-o:before {
- content: "\f14d"; }
-
-.fa.fa-check-square-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-check-square-o:before {
- content: "\f14a"; }
-
-.fa.fa-arrows:before {
- content: "\f0b2"; }
-
-.fa.fa-times-circle-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-times-circle-o:before {
- content: "\f057"; }
-
-.fa.fa-check-circle-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-check-circle-o:before {
- content: "\f058"; }
-
-.fa.fa-mail-forward:before {
- content: "\f064"; }
-
-.fa.fa-expand:before {
- content: "\f424"; }
-
-.fa.fa-compress:before {
- content: "\f422"; }
-
-.fa.fa-eye {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-eye-slash {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-warning:before {
- content: "\f071"; }
-
-.fa.fa-calendar:before {
- content: "\f073"; }
-
-.fa.fa-arrows-v:before {
- content: "\f338"; }
-
-.fa.fa-arrows-h:before {
- content: "\f337"; }
-
-.fa.fa-bar-chart {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-bar-chart:before {
- content: "\f080"; }
-
-.fa.fa-bar-chart-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-bar-chart-o:before {
- content: "\f080"; }
-
-.fa.fa-twitter-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-facebook-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-gears:before {
- content: "\f085"; }
-
-.fa.fa-thumbs-o-up {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-thumbs-o-up:before {
- content: "\f164"; }
-
-.fa.fa-thumbs-o-down {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-thumbs-o-down:before {
- content: "\f165"; }
-
-.fa.fa-heart-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-heart-o:before {
- content: "\f004"; }
-
-.fa.fa-sign-out:before {
- content: "\f2f5"; }
-
-.fa.fa-linkedin-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-linkedin-square:before {
- content: "\f08c"; }
-
-.fa.fa-thumb-tack:before {
- content: "\f08d"; }
-
-.fa.fa-external-link:before {
- content: "\f35d"; }
-
-.fa.fa-sign-in:before {
- content: "\f2f6"; }
-
-.fa.fa-github-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-lemon-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-lemon-o:before {
- content: "\f094"; }
-
-.fa.fa-square-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-square-o:before {
- content: "\f0c8"; }
-
-.fa.fa-bookmark-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-bookmark-o:before {
- content: "\f02e"; }
-
-.fa.fa-twitter {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-facebook {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-facebook:before {
- content: "\f39e"; }
-
-.fa.fa-facebook-f {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-facebook-f:before {
- content: "\f39e"; }
-
-.fa.fa-github {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-credit-card {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-feed:before {
- content: "\f09e"; }
-
-.fa.fa-hdd-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-hdd-o:before {
- content: "\f0a0"; }
-
-.fa.fa-hand-o-right {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-hand-o-right:before {
- content: "\f0a4"; }
-
-.fa.fa-hand-o-left {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-hand-o-left:before {
- content: "\f0a5"; }
-
-.fa.fa-hand-o-up {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-hand-o-up:before {
- content: "\f0a6"; }
-
-.fa.fa-hand-o-down {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-hand-o-down:before {
- content: "\f0a7"; }
-
-.fa.fa-arrows-alt:before {
- content: "\f31e"; }
-
-.fa.fa-group:before {
- content: "\f0c0"; }
-
-.fa.fa-chain:before {
- content: "\f0c1"; }
-
-.fa.fa-scissors:before {
- content: "\f0c4"; }
-
-.fa.fa-files-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-files-o:before {
- content: "\f0c5"; }
-
-.fa.fa-floppy-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-floppy-o:before {
- content: "\f0c7"; }
-
-.fa.fa-navicon:before {
- content: "\f0c9"; }
-
-.fa.fa-reorder:before {
- content: "\f0c9"; }
-
-.fa.fa-pinterest {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-pinterest-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-google-plus-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-google-plus {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-google-plus:before {
- content: "\f0d5"; }
-
-.fa.fa-money {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-money:before {
- content: "\f3d1"; }
-
-.fa.fa-unsorted:before {
- content: "\f0dc"; }
-
-.fa.fa-sort-desc:before {
- content: "\f0dd"; }
-
-.fa.fa-sort-asc:before {
- content: "\f0de"; }
-
-.fa.fa-linkedin {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-linkedin:before {
- content: "\f0e1"; }
-
-.fa.fa-rotate-left:before {
- content: "\f0e2"; }
-
-.fa.fa-legal:before {
- content: "\f0e3"; }
-
-.fa.fa-tachometer:before {
- content: "\f3fd"; }
-
-.fa.fa-dashboard:before {
- content: "\f3fd"; }
-
-.fa.fa-comment-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-comment-o:before {
- content: "\f075"; }
-
-.fa.fa-comments-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-comments-o:before {
- content: "\f086"; }
-
-.fa.fa-flash:before {
- content: "\f0e7"; }
-
-.fa.fa-clipboard {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-paste {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-paste:before {
- content: "\f328"; }
-
-.fa.fa-lightbulb-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-lightbulb-o:before {
- content: "\f0eb"; }
-
-.fa.fa-exchange:before {
- content: "\f362"; }
-
-.fa.fa-cloud-download:before {
- content: "\f381"; }
-
-.fa.fa-cloud-upload:before {
- content: "\f382"; }
-
-.fa.fa-bell-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-bell-o:before {
- content: "\f0f3"; }
-
-.fa.fa-cutlery:before {
- content: "\f2e7"; }
-
-.fa.fa-file-text-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-file-text-o:before {
- content: "\f15c"; }
-
-.fa.fa-building-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-building-o:before {
- content: "\f1ad"; }
-
-.fa.fa-hospital-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-hospital-o:before {
- content: "\f0f8"; }
-
-.fa.fa-tablet:before {
- content: "\f3fa"; }
-
-.fa.fa-mobile:before {
- content: "\f3cd"; }
-
-.fa.fa-mobile-phone:before {
- content: "\f3cd"; }
-
-.fa.fa-circle-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-circle-o:before {
- content: "\f111"; }
-
-.fa.fa-mail-reply:before {
- content: "\f3e5"; }
-
-.fa.fa-github-alt {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-folder-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-folder-o:before {
- content: "\f07b"; }
-
-.fa.fa-folder-open-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-folder-open-o:before {
- content: "\f07c"; }
-
-.fa.fa-smile-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-smile-o:before {
- content: "\f118"; }
-
-.fa.fa-frown-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-frown-o:before {
- content: "\f119"; }
-
-.fa.fa-meh-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-meh-o:before {
- content: "\f11a"; }
-
-.fa.fa-keyboard-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-keyboard-o:before {
- content: "\f11c"; }
-
-.fa.fa-flag-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-flag-o:before {
- content: "\f024"; }
-
-.fa.fa-mail-reply-all:before {
- content: "\f122"; }
-
-.fa.fa-star-half-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-star-half-o:before {
- content: "\f089"; }
-
-.fa.fa-star-half-empty {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-star-half-empty:before {
- content: "\f089"; }
-
-.fa.fa-star-half-full {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-star-half-full:before {
- content: "\f089"; }
-
-.fa.fa-code-fork:before {
- content: "\f126"; }
-
-.fa.fa-chain-broken:before {
- content: "\f127"; }
-
-.fa.fa-shield:before {
- content: "\f3ed"; }
-
-.fa.fa-calendar-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-calendar-o:before {
- content: "\f133"; }
-
-.fa.fa-maxcdn {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-html5 {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-css3 {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-ticket:before {
- content: "\f3ff"; }
-
-.fa.fa-minus-square-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-minus-square-o:before {
- content: "\f146"; }
-
-.fa.fa-level-up:before {
- content: "\f3bf"; }
-
-.fa.fa-level-down:before {
- content: "\f3be"; }
-
-.fa.fa-pencil-square:before {
- content: "\f14b"; }
-
-.fa.fa-external-link-square:before {
- content: "\f360"; }
-
-.fa.fa-compass {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-caret-square-o-down {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-caret-square-o-down:before {
- content: "\f150"; }
-
-.fa.fa-toggle-down {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-toggle-down:before {
- content: "\f150"; }
-
-.fa.fa-caret-square-o-up {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-caret-square-o-up:before {
- content: "\f151"; }
-
-.fa.fa-toggle-up {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-toggle-up:before {
- content: "\f151"; }
-
-.fa.fa-caret-square-o-right {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-caret-square-o-right:before {
- content: "\f152"; }
-
-.fa.fa-toggle-right {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-toggle-right:before {
- content: "\f152"; }
-
-.fa.fa-eur:before {
- content: "\f153"; }
-
-.fa.fa-euro:before {
- content: "\f153"; }
-
-.fa.fa-gbp:before {
- content: "\f154"; }
-
-.fa.fa-usd:before {
- content: "\f155"; }
-
-.fa.fa-dollar:before {
- content: "\f155"; }
-
-.fa.fa-inr:before {
- content: "\f156"; }
-
-.fa.fa-rupee:before {
- content: "\f156"; }
-
-.fa.fa-jpy:before {
- content: "\f157"; }
-
-.fa.fa-cny:before {
- content: "\f157"; }
-
-.fa.fa-rmb:before {
- content: "\f157"; }
-
-.fa.fa-yen:before {
- content: "\f157"; }
-
-.fa.fa-rub:before {
- content: "\f158"; }
-
-.fa.fa-ruble:before {
- content: "\f158"; }
-
-.fa.fa-rouble:before {
- content: "\f158"; }
-
-.fa.fa-krw:before {
- content: "\f159"; }
-
-.fa.fa-won:before {
- content: "\f159"; }
-
-.fa.fa-btc {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-bitcoin {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-bitcoin:before {
- content: "\f15a"; }
-
-.fa.fa-file-text:before {
- content: "\f15c"; }
-
-.fa.fa-sort-alpha-asc:before {
- content: "\f15d"; }
-
-.fa.fa-sort-alpha-desc:before {
- content: "\f881"; }
-
-.fa.fa-sort-amount-asc:before {
- content: "\f160"; }
-
-.fa.fa-sort-amount-desc:before {
- content: "\f884"; }
-
-.fa.fa-sort-numeric-asc:before {
- content: "\f162"; }
-
-.fa.fa-sort-numeric-desc:before {
- content: "\f886"; }
-
-.fa.fa-youtube-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-youtube {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-xing {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-xing-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-youtube-play {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-youtube-play:before {
- content: "\f167"; }
-
-.fa.fa-dropbox {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-stack-overflow {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-instagram {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-flickr {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-adn {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-bitbucket {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-bitbucket-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-bitbucket-square:before {
- content: "\f171"; }
-
-.fa.fa-tumblr {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-tumblr-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-long-arrow-down:before {
- content: "\f309"; }
-
-.fa.fa-long-arrow-up:before {
- content: "\f30c"; }
-
-.fa.fa-long-arrow-left:before {
- content: "\f30a"; }
-
-.fa.fa-long-arrow-right:before {
- content: "\f30b"; }
-
-.fa.fa-apple {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-windows {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-android {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-linux {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-dribbble {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-skype {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-foursquare {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-trello {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-gratipay {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-gittip {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-gittip:before {
- content: "\f184"; }
-
-.fa.fa-sun-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-sun-o:before {
- content: "\f185"; }
-
-.fa.fa-moon-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-moon-o:before {
- content: "\f186"; }
-
-.fa.fa-vk {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-weibo {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-renren {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-pagelines {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-stack-exchange {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-arrow-circle-o-right {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-arrow-circle-o-right:before {
- content: "\f35a"; }
-
-.fa.fa-arrow-circle-o-left {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-arrow-circle-o-left:before {
- content: "\f359"; }
-
-.fa.fa-caret-square-o-left {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-caret-square-o-left:before {
- content: "\f191"; }
-
-.fa.fa-toggle-left {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-toggle-left:before {
- content: "\f191"; }
-
-.fa.fa-dot-circle-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-dot-circle-o:before {
- content: "\f192"; }
-
-.fa.fa-vimeo-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-try:before {
- content: "\f195"; }
-
-.fa.fa-turkish-lira:before {
- content: "\f195"; }
-
-.fa.fa-plus-square-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-plus-square-o:before {
- content: "\f0fe"; }
-
-.fa.fa-slack {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-wordpress {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-openid {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-institution:before {
- content: "\f19c"; }
-
-.fa.fa-bank:before {
- content: "\f19c"; }
-
-.fa.fa-mortar-board:before {
- content: "\f19d"; }
-
-.fa.fa-yahoo {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-google {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-reddit {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-reddit-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-stumbleupon-circle {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-stumbleupon {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-delicious {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-digg {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-pied-piper-pp {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-pied-piper-alt {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-drupal {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-joomla {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-spoon:before {
- content: "\f2e5"; }
-
-.fa.fa-behance {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-behance-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-steam {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-steam-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-automobile:before {
- content: "\f1b9"; }
-
-.fa.fa-envelope-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-envelope-o:before {
- content: "\f0e0"; }
-
-.fa.fa-spotify {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-deviantart {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-soundcloud {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-file-pdf-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-file-pdf-o:before {
- content: "\f1c1"; }
-
-.fa.fa-file-word-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-file-word-o:before {
- content: "\f1c2"; }
-
-.fa.fa-file-excel-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-file-excel-o:before {
- content: "\f1c3"; }
-
-.fa.fa-file-powerpoint-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-file-powerpoint-o:before {
- content: "\f1c4"; }
-
-.fa.fa-file-image-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-file-image-o:before {
- content: "\f1c5"; }
-
-.fa.fa-file-photo-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-file-photo-o:before {
- content: "\f1c5"; }
-
-.fa.fa-file-picture-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-file-picture-o:before {
- content: "\f1c5"; }
-
-.fa.fa-file-archive-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-file-archive-o:before {
- content: "\f1c6"; }
-
-.fa.fa-file-zip-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-file-zip-o:before {
- content: "\f1c6"; }
-
-.fa.fa-file-audio-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-file-audio-o:before {
- content: "\f1c7"; }
-
-.fa.fa-file-sound-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-file-sound-o:before {
- content: "\f1c7"; }
-
-.fa.fa-file-video-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-file-video-o:before {
- content: "\f1c8"; }
-
-.fa.fa-file-movie-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-file-movie-o:before {
- content: "\f1c8"; }
-
-.fa.fa-file-code-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-file-code-o:before {
- content: "\f1c9"; }
-
-.fa.fa-vine {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-codepen {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-jsfiddle {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-life-ring {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-life-bouy {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-life-bouy:before {
- content: "\f1cd"; }
-
-.fa.fa-life-buoy {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-life-buoy:before {
- content: "\f1cd"; }
-
-.fa.fa-life-saver {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-life-saver:before {
- content: "\f1cd"; }
-
-.fa.fa-support {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-support:before {
- content: "\f1cd"; }
-
-.fa.fa-circle-o-notch:before {
- content: "\f1ce"; }
-
-.fa.fa-rebel {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-ra {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-ra:before {
- content: "\f1d0"; }
-
-.fa.fa-resistance {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-resistance:before {
- content: "\f1d0"; }
-
-.fa.fa-empire {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-ge {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-ge:before {
- content: "\f1d1"; }
-
-.fa.fa-git-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-git {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-hacker-news {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-y-combinator-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-y-combinator-square:before {
- content: "\f1d4"; }
-
-.fa.fa-yc-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-yc-square:before {
- content: "\f1d4"; }
-
-.fa.fa-tencent-weibo {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-qq {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-weixin {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-wechat {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-wechat:before {
- content: "\f1d7"; }
-
-.fa.fa-send:before {
- content: "\f1d8"; }
-
-.fa.fa-paper-plane-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-paper-plane-o:before {
- content: "\f1d8"; }
-
-.fa.fa-send-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-send-o:before {
- content: "\f1d8"; }
-
-.fa.fa-circle-thin {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-circle-thin:before {
- content: "\f111"; }
-
-.fa.fa-header:before {
- content: "\f1dc"; }
-
-.fa.fa-sliders:before {
- content: "\f1de"; }
-
-.fa.fa-futbol-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-futbol-o:before {
- content: "\f1e3"; }
-
-.fa.fa-soccer-ball-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-soccer-ball-o:before {
- content: "\f1e3"; }
-
-.fa.fa-slideshare {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-twitch {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-yelp {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-newspaper-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-newspaper-o:before {
- content: "\f1ea"; }
-
-.fa.fa-paypal {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-google-wallet {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-cc-visa {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-cc-mastercard {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-cc-discover {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-cc-amex {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-cc-paypal {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-cc-stripe {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-bell-slash-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-bell-slash-o:before {
- content: "\f1f6"; }
-
-.fa.fa-trash:before {
- content: "\f2ed"; }
-
-.fa.fa-copyright {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-eyedropper:before {
- content: "\f1fb"; }
-
-.fa.fa-area-chart:before {
- content: "\f1fe"; }
-
-.fa.fa-pie-chart:before {
- content: "\f200"; }
-
-.fa.fa-line-chart:before {
- content: "\f201"; }
-
-.fa.fa-lastfm {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-lastfm-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-ioxhost {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-angellist {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-cc {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-cc:before {
- content: "\f20a"; }
-
-.fa.fa-ils:before {
- content: "\f20b"; }
-
-.fa.fa-shekel:before {
- content: "\f20b"; }
-
-.fa.fa-sheqel:before {
- content: "\f20b"; }
-
-.fa.fa-meanpath {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-meanpath:before {
- content: "\f2b4"; }
-
-.fa.fa-buysellads {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-connectdevelop {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-dashcube {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-forumbee {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-leanpub {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-sellsy {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-shirtsinbulk {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-simplybuilt {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-skyatlas {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-diamond {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-diamond:before {
- content: "\f3a5"; }
-
-.fa.fa-intersex:before {
- content: "\f224"; }
-
-.fa.fa-facebook-official {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-facebook-official:before {
- content: "\f09a"; }
-
-.fa.fa-pinterest-p {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-whatsapp {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-hotel:before {
- content: "\f236"; }
-
-.fa.fa-viacoin {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-medium {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-y-combinator {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-yc {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-yc:before {
- content: "\f23b"; }
-
-.fa.fa-optin-monster {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-opencart {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-expeditedssl {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-battery-4:before {
- content: "\f240"; }
-
-.fa.fa-battery:before {
- content: "\f240"; }
-
-.fa.fa-battery-3:before {
- content: "\f241"; }
-
-.fa.fa-battery-2:before {
- content: "\f242"; }
-
-.fa.fa-battery-1:before {
- content: "\f243"; }
-
-.fa.fa-battery-0:before {
- content: "\f244"; }
-
-.fa.fa-object-group {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-object-ungroup {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-sticky-note-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-sticky-note-o:before {
- content: "\f249"; }
-
-.fa.fa-cc-jcb {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-cc-diners-club {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-clone {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-hourglass-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-hourglass-o:before {
- content: "\f254"; }
-
-.fa.fa-hourglass-1:before {
- content: "\f251"; }
-
-.fa.fa-hourglass-2:before {
- content: "\f252"; }
-
-.fa.fa-hourglass-3:before {
- content: "\f253"; }
-
-.fa.fa-hand-rock-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-hand-rock-o:before {
- content: "\f255"; }
-
-.fa.fa-hand-grab-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-hand-grab-o:before {
- content: "\f255"; }
-
-.fa.fa-hand-paper-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-hand-paper-o:before {
- content: "\f256"; }
-
-.fa.fa-hand-stop-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-hand-stop-o:before {
- content: "\f256"; }
-
-.fa.fa-hand-scissors-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-hand-scissors-o:before {
- content: "\f257"; }
-
-.fa.fa-hand-lizard-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-hand-lizard-o:before {
- content: "\f258"; }
-
-.fa.fa-hand-spock-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-hand-spock-o:before {
- content: "\f259"; }
-
-.fa.fa-hand-pointer-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-hand-pointer-o:before {
- content: "\f25a"; }
-
-.fa.fa-hand-peace-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-hand-peace-o:before {
- content: "\f25b"; }
-
-.fa.fa-registered {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-creative-commons {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-gg {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-gg-circle {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-tripadvisor {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-odnoklassniki {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-odnoklassniki-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-get-pocket {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-wikipedia-w {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-safari {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-chrome {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-firefox {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-opera {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-internet-explorer {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-television:before {
- content: "\f26c"; }
-
-.fa.fa-contao {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-500px {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-amazon {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-calendar-plus-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-calendar-plus-o:before {
- content: "\f271"; }
-
-.fa.fa-calendar-minus-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-calendar-minus-o:before {
- content: "\f272"; }
-
-.fa.fa-calendar-times-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-calendar-times-o:before {
- content: "\f273"; }
-
-.fa.fa-calendar-check-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-calendar-check-o:before {
- content: "\f274"; }
-
-.fa.fa-map-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-map-o:before {
- content: "\f279"; }
-
-.fa.fa-commenting:before {
- content: "\f4ad"; }
-
-.fa.fa-commenting-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-commenting-o:before {
- content: "\f4ad"; }
-
-.fa.fa-houzz {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-vimeo {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-vimeo:before {
- content: "\f27d"; }
-
-.fa.fa-black-tie {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-fonticons {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-reddit-alien {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-edge {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-credit-card-alt:before {
- content: "\f09d"; }
-
-.fa.fa-codiepie {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-modx {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-fort-awesome {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-usb {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-product-hunt {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-mixcloud {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-scribd {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-pause-circle-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-pause-circle-o:before {
- content: "\f28b"; }
-
-.fa.fa-stop-circle-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-stop-circle-o:before {
- content: "\f28d"; }
-
-.fa.fa-bluetooth {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-bluetooth-b {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-gitlab {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-wpbeginner {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-wpforms {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-envira {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-wheelchair-alt {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-wheelchair-alt:before {
- content: "\f368"; }
-
-.fa.fa-question-circle-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-question-circle-o:before {
- content: "\f059"; }
-
-.fa.fa-volume-control-phone:before {
- content: "\f2a0"; }
-
-.fa.fa-asl-interpreting:before {
- content: "\f2a3"; }
-
-.fa.fa-deafness:before {
- content: "\f2a4"; }
-
-.fa.fa-hard-of-hearing:before {
- content: "\f2a4"; }
-
-.fa.fa-glide {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-glide-g {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-signing:before {
- content: "\f2a7"; }
-
-.fa.fa-viadeo {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-viadeo-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-snapchat {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-snapchat-ghost {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-snapchat-square {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-pied-piper {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-first-order {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-yoast {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-themeisle {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-google-plus-official {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-google-plus-official:before {
- content: "\f2b3"; }
-
-.fa.fa-google-plus-circle {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-google-plus-circle:before {
- content: "\f2b3"; }
-
-.fa.fa-font-awesome {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-fa {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-fa:before {
- content: "\f2b4"; }
-
-.fa.fa-handshake-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-handshake-o:before {
- content: "\f2b5"; }
-
-.fa.fa-envelope-open-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-envelope-open-o:before {
- content: "\f2b6"; }
-
-.fa.fa-linode {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-address-book-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-address-book-o:before {
- content: "\f2b9"; }
-
-.fa.fa-vcard:before {
- content: "\f2bb"; }
-
-.fa.fa-address-card-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-address-card-o:before {
- content: "\f2bb"; }
-
-.fa.fa-vcard-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-vcard-o:before {
- content: "\f2bb"; }
-
-.fa.fa-user-circle-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-user-circle-o:before {
- content: "\f2bd"; }
-
-.fa.fa-user-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-user-o:before {
- content: "\f007"; }
-
-.fa.fa-id-badge {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-drivers-license:before {
- content: "\f2c2"; }
-
-.fa.fa-id-card-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-id-card-o:before {
- content: "\f2c2"; }
-
-.fa.fa-drivers-license-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-drivers-license-o:before {
- content: "\f2c2"; }
-
-.fa.fa-quora {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-free-code-camp {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-telegram {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-thermometer-4:before {
- content: "\f2c7"; }
-
-.fa.fa-thermometer:before {
- content: "\f2c7"; }
-
-.fa.fa-thermometer-3:before {
- content: "\f2c8"; }
-
-.fa.fa-thermometer-2:before {
- content: "\f2c9"; }
-
-.fa.fa-thermometer-1:before {
- content: "\f2ca"; }
-
-.fa.fa-thermometer-0:before {
- content: "\f2cb"; }
-
-.fa.fa-bathtub:before {
- content: "\f2cd"; }
-
-.fa.fa-s15:before {
- content: "\f2cd"; }
-
-.fa.fa-window-maximize {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-window-restore {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-times-rectangle:before {
- content: "\f410"; }
-
-.fa.fa-window-close-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-window-close-o:before {
- content: "\f410"; }
-
-.fa.fa-times-rectangle-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-times-rectangle-o:before {
- content: "\f410"; }
-
-.fa.fa-bandcamp {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-grav {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-etsy {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-imdb {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-ravelry {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-eercast {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-eercast:before {
- content: "\f2da"; }
-
-.fa.fa-snowflake-o {
- font-family: 'Font Awesome 5 Free';
- font-weight: 400; }
-
-.fa.fa-snowflake-o:before {
- content: "\f2dc"; }
-
-.fa.fa-superpowers {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-wpexplorer {
- font-family: 'Font Awesome 5 Brands';
- font-weight: 400; }
-
-.fa.fa-cab:before {
- content: "\f1ba"; }
diff --git a/static/css/v4-shims.min.css b/static/css/v4-shims.min.css
deleted file mode 100644
index 7942cea1..00000000
--- a/static/css/v4-shims.min.css
+++ /dev/null
@@ -1,5 +0,0 @@
-/*!
- * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com
- * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
- */
-.fa.fa-glass:before{content:"\f000"}.fa.fa-meetup{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-star-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-file-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-pencil:before{content:"\f303"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-share-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-expand:before{content:"\f424"}.fa.fa-compress:before{content:"\f422"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart:before{content:"\f080"}.fa.fa-bar-chart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart-o:before{content:"\f080"}.fa.fa-facebook-square,.fa.fa-twitter-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-lemon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-scissors:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-google-plus,.fa.fa-google-plus-square,.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f3fd"}.fa.fa-comment-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard,.fa.fa-paste{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paste:before{content:"\f328"}.fa.fa-lightbulb-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f381"}.fa.fa-cloud-upload:before{content:"\f382"}.fa.fa-bell-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f089"}.fa.fa-star-half-empty{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f089"}.fa.fa-star-half-full{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f089"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before{content:"\f127"}.fa.fa-shield:before{content:"\f3ed"}.fa.fa-calendar-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ticket:before{content:"\f3ff"}.fa.fa-minus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\f155"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\f156"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f881"}.fa.fa-sort-amount-asc:before{content:"\f160"}.fa.fa-sort-amount-desc:before{content:"\f884"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f886"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube,.fa.fa-youtube-play,.fa.fa-youtube-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\f195"}.fa.fa-plus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-google,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle,.fa.fa-yahoo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-spoon:before{content:"\f2e5"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-envelope-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-deviantart,.fa.fa-soundcloud,.fa.fa-spotify{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-life-bouy,.fa.fa-life-ring{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-bouy:before{content:"\f1cd"}.fa.fa-life-buoy{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-buoy:before{content:"\f1cd"}.fa.fa-life-saver{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-saver:before{content:"\f1cd"}.fa.fa-support{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git,.fa.fa-git-square,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-sliders:before{content:"\f1de"}.fa.fa-futbol-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-angellist,.fa.fa-ioxhost,.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-meanpath{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-meanpath:before{content:"\f2b4"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before{content:"\f224"}.fa.fa-facebook-official{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-clone,.fa.fa-hourglass-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-chrome,.fa.fa-creative-commons,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-internet-explorer,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square,.fa.fa-opera,.fa.fa-safari,.fa.fa-tripadvisor,.fa.fa-wikipedia-w{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-snapchat,.fa.fa-snapchat-ghost,.fa.fa-snapchat-square,.fa.fa-themeisle,.fa.fa-viadeo,.fa.fa-viadeo-square,.fa.fa-yoast{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-cab:before{content:"\f1ba"}
\ No newline at end of file
diff --git a/static/data/displays.json b/static/data/displays.json
deleted file mode 100644
index 8f5cbbd3..00000000
--- a/static/data/displays.json
+++ /dev/null
@@ -1,5 +0,0 @@
-[
- {"code":"fs","name":"fullscreen"},
- {"code":"st","name":"standalone"},
- {"code":"mi","name":"minimal-ui"}
-]
\ No newline at end of file
diff --git a/static/data/featured.json b/static/data/featured.json
deleted file mode 100644
index cc8161dd..00000000
--- a/static/data/featured.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[
- {
- "name": "Sign in with Microsoft, Google or Facebook",
- "desc": "Web component that lets your users sign-in using their Microsoft, Google, or Facebook account. Your app receives their email address, name, and profile picture.",
- "ID": "pwa_auth"
- },
- {
- "name": "Install your PWA",
- "desc": "A simple component that gives users a button to install your PWA directly from the browser",
- "ID": "install_pwa"
- },
- {
- "name": "Enable 2D inking on the web",
- "desc": "Fast, low latency inking in 2 lines of code!",
- "ID": "inking"
- },
- {
- "name": "Graph Login Component",
- "desc": "A simple component that gives users a button to install your PWA directly from the browser",
- "ID": "graph_login"
- }
-]
\ No newline at end of file
diff --git a/static/data/orientations.json b/static/data/orientations.json
deleted file mode 100644
index b4d61deb..00000000
--- a/static/data/orientations.json
+++ /dev/null
@@ -1,10 +0,0 @@
-[
- {"code":"an","name":"any"},
- {"code":"na","name":"natural"},
- {"code":"l","name":"landscape"},
- {"code":"p","name":"portrait"},
- {"code":"pr","name":"portrait-primary"},
- {"code":"ps","name":"portrait-secondary"},
- {"code":"lp","name":"landscape-primary"},
- {"code":"ls","name":"landscape-secondary"}
-]
\ No newline at end of file
diff --git a/static/data/pwa-starter-master.zip b/static/data/pwa-starter-master.zip
deleted file mode 100644
index 5cd27b73..00000000
Binary files a/static/data/pwa-starter-master.zip and /dev/null differ
diff --git a/static/fonts/Bitter-Bold.eot b/static/fonts/Bitter-Bold.eot
deleted file mode 100644
index 56592683..00000000
Binary files a/static/fonts/Bitter-Bold.eot and /dev/null differ
diff --git a/static/fonts/Bitter-Bold.svg b/static/fonts/Bitter-Bold.svg
deleted file mode 100644
index 0ed0fc53..00000000
--- a/static/fonts/Bitter-Bold.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/fonts/Bitter-Bold.ttf b/static/fonts/Bitter-Bold.ttf
deleted file mode 100644
index 539a5ff0..00000000
Binary files a/static/fonts/Bitter-Bold.ttf and /dev/null differ
diff --git a/static/fonts/Bitter-Bold.woff b/static/fonts/Bitter-Bold.woff
deleted file mode 100644
index a851b828..00000000
Binary files a/static/fonts/Bitter-Bold.woff and /dev/null differ
diff --git a/static/fonts/Bitter-Regular.eot b/static/fonts/Bitter-Regular.eot
deleted file mode 100644
index 755e90f8..00000000
Binary files a/static/fonts/Bitter-Regular.eot and /dev/null differ
diff --git a/static/fonts/Bitter-Regular.svg b/static/fonts/Bitter-Regular.svg
deleted file mode 100644
index 13a4b0c7..00000000
--- a/static/fonts/Bitter-Regular.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/fonts/Bitter-Regular.ttf b/static/fonts/Bitter-Regular.ttf
deleted file mode 100644
index e1562c02..00000000
Binary files a/static/fonts/Bitter-Regular.ttf and /dev/null differ
diff --git a/static/fonts/Bitter-Regular.woff b/static/fonts/Bitter-Regular.woff
deleted file mode 100644
index e877ac72..00000000
Binary files a/static/fonts/Bitter-Regular.woff and /dev/null differ
diff --git a/static/fonts/FiraSans-Bold.eot b/static/fonts/FiraSans-Bold.eot
deleted file mode 100644
index 0867fbc6..00000000
Binary files a/static/fonts/FiraSans-Bold.eot and /dev/null differ
diff --git a/static/fonts/FiraSans-Bold.svg b/static/fonts/FiraSans-Bold.svg
deleted file mode 100644
index c43cd083..00000000
--- a/static/fonts/FiraSans-Bold.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/fonts/FiraSans-Bold.ttf b/static/fonts/FiraSans-Bold.ttf
deleted file mode 100644
index 965d38ed..00000000
Binary files a/static/fonts/FiraSans-Bold.ttf and /dev/null differ
diff --git a/static/fonts/FiraSans-Bold.woff b/static/fonts/FiraSans-Bold.woff
deleted file mode 100644
index 393163db..00000000
Binary files a/static/fonts/FiraSans-Bold.woff and /dev/null differ
diff --git a/static/fonts/FiraSans-Light.eot b/static/fonts/FiraSans-Light.eot
deleted file mode 100644
index 11c13674..00000000
Binary files a/static/fonts/FiraSans-Light.eot and /dev/null differ
diff --git a/static/fonts/FiraSans-Light.svg b/static/fonts/FiraSans-Light.svg
deleted file mode 100644
index 05f67b2e..00000000
--- a/static/fonts/FiraSans-Light.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/fonts/FiraSans-Light.ttf b/static/fonts/FiraSans-Light.ttf
deleted file mode 100644
index 9b95011d..00000000
Binary files a/static/fonts/FiraSans-Light.ttf and /dev/null differ
diff --git a/static/fonts/FiraSans-Light.woff b/static/fonts/FiraSans-Light.woff
deleted file mode 100644
index 780b1885..00000000
Binary files a/static/fonts/FiraSans-Light.woff and /dev/null differ
diff --git a/static/fonts/FiraSans-Regular.eot b/static/fonts/FiraSans-Regular.eot
deleted file mode 100644
index 5d98644e..00000000
Binary files a/static/fonts/FiraSans-Regular.eot and /dev/null differ
diff --git a/static/fonts/FiraSans-Regular.svg b/static/fonts/FiraSans-Regular.svg
deleted file mode 100644
index 52bcdafb..00000000
--- a/static/fonts/FiraSans-Regular.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/static/fonts/FiraSans-Regular.ttf b/static/fonts/FiraSans-Regular.ttf
deleted file mode 100644
index 16bab2bc..00000000
Binary files a/static/fonts/FiraSans-Regular.ttf and /dev/null differ
diff --git a/static/fonts/FiraSans-Regular.woff b/static/fonts/FiraSans-Regular.woff
deleted file mode 100644
index f77c5889..00000000
Binary files a/static/fonts/FiraSans-Regular.woff and /dev/null differ
diff --git a/static/fonts/icomoon.eot b/static/fonts/icomoon.eot
deleted file mode 100644
index 49de097e..00000000
Binary files a/static/fonts/icomoon.eot and /dev/null differ
diff --git a/static/fonts/icomoon.svg b/static/fonts/icomoon.svg
deleted file mode 100644
index f029e57e..00000000
--- a/static/fonts/icomoon.svg
+++ /dev/null
@@ -1 +0,0 @@
-Generated by IcoMoon
\ No newline at end of file
diff --git a/static/fonts/icomoon.ttf b/static/fonts/icomoon.ttf
deleted file mode 100644
index f70ce712..00000000
Binary files a/static/fonts/icomoon.ttf and /dev/null differ
diff --git a/static/fonts/icomoon.woff b/static/fonts/icomoon.woff
deleted file mode 100644
index 536e1ab6..00000000
Binary files a/static/fonts/icomoon.woff and /dev/null differ
diff --git a/static/fonts/selection.json b/static/fonts/selection.json
deleted file mode 100644
index 15dd4749..00000000
--- a/static/fonts/selection.json
+++ /dev/null
@@ -1,158 +0,0 @@
-{
- "IcoMoonType": "selection",
- "icons": [
- {
- "icon": {
- "paths": [
- "M614.286 420.571c0 4.571-2.286 9.714-5.714 13.143l-266.286 266.286c-3.429 3.429-8.571 5.714-13.143 5.714s-9.714-2.286-13.143-5.714l-266.286-266.286c-3.429-3.429-5.714-8.571-5.714-13.143s2.286-9.714 5.714-13.143l28.571-28.571c3.429-3.429 8-5.714 13.143-5.714 4.571 0 9.714 2.286 13.143 5.714l224.571 224.571 224.571-224.571c3.429-3.429 8.571-5.714 13.143-5.714s9.714 2.286 13.143 5.714l28.571 28.571c3.429 3.429 5.714 8.571 5.714 13.143z"
- ],
- "width": 658.2857142857142,
- "attrs": [],
- "isMulticolor": false,
- "isMulticolor2": false,
- "tags": [
- "angle-down"
- ],
- "defaultCode": 61703,
- "grid": 14
- },
- "attrs": [],
- "properties": {
- "name": "angle-down",
- "id": 236,
- "order": 6,
- "prevSize": 28,
- "code": 61703
- },
- "setIdx": 0,
- "setId": 1,
- "iconIdx": 236
- },
- {
- "icon": {
- "paths": [
- "M741.714 755.429c0 14.286-5.714 28.571-16 38.857l-77.714 77.714c-10.286 10.286-24.571 16-38.857 16s-28.571-5.714-38.857-16l-168-168-168 168c-10.286 10.286-24.571 16-38.857 16s-28.571-5.714-38.857-16l-77.714-77.714c-10.286-10.286-16-24.571-16-38.857s5.714-28.571 16-38.857l168-168-168-168c-10.286-10.286-16-24.571-16-38.857s5.714-28.571 16-38.857l77.714-77.714c10.286-10.286 24.571-16 38.857-16s28.571 5.714 38.857 16l168 168 168-168c10.286-10.286 24.571-16 38.857-16s28.571 5.714 38.857 16l77.714 77.714c10.286 10.286 16 24.571 16 38.857s-5.714 28.571-16 38.857l-168 168 168 168c10.286 10.286 16 24.571 16 38.857z"
- ],
- "width": 804.5714285714286,
- "attrs": [],
- "isMulticolor": false,
- "isMulticolor2": false,
- "tags": [
- "close",
- "remove",
- "times"
- ],
- "defaultCode": 61453,
- "grid": 14
- },
- "attrs": [],
- "properties": {
- "name": "times",
- "id": 0,
- "order": 72,
- "prevSize": 28,
- "code": 61453
- },
- "setIdx": 1,
- "setId": 0,
- "iconIdx": 0
- },
- {
- "icon": {
- "paths": [
- "M680 332l167.429-167.429-61.143-61.143-167.429 167.429zM935.429 164.571c0 9.714-3.429 18.857-10.286 25.714l-734.857 734.857c-6.857 6.857-16 10.286-25.714 10.286s-18.857-3.429-25.714-10.286l-113.143-113.143c-6.857-6.857-10.286-16-10.286-25.714s3.429-18.857 10.286-25.714l734.857-734.857c6.857-6.857 16-10.286 25.714-10.286s18.857 3.429 25.714 10.286l113.143 113.143c6.857 6.857 10.286 16 10.286 25.714zM163.429 56l56 17.143-56 17.143-17.143 56-17.143-56-56-17.143 56-17.143 17.143-56zM363.429 148.571l112 34.286-112 34.286-34.286 112-34.286-112-112-34.286 112-34.286 34.286-112zM894.857 421.714l56 17.143-56 17.143-17.143 56-17.143-56-56-17.143 56-17.143 17.143-56zM529.143 56l56 17.143-56 17.143-17.143 56-17.143-56-56-17.143 56-17.143 17.143-56z"
- ],
- "width": 966.2902857142857,
- "attrs": [],
- "isMulticolor": false,
- "isMulticolor2": false,
- "tags": [
- "magic"
- ],
- "defaultCode": 61648,
- "grid": 14
- },
- "attrs": [],
- "properties": {
- "name": "magic",
- "id": 1,
- "order": 71,
- "prevSize": 28,
- "code": 61648
- },
- "setIdx": 1,
- "setId": 0,
- "iconIdx": 1
- },
- {
- "icon": {
- "paths": [
- "M292.571 713.143v128c0 20-16.571 36.571-36.571 36.571h-146.286c-20 0-36.571-16.571-36.571-36.571v-128c0-20 16.571-36.571 36.571-36.571h146.286c20 0 36.571 16.571 36.571 36.571zM309.714 109.714l-16 438.857c-0.571 20-17.714 36.571-37.714 36.571h-146.286c-20 0-37.143-16.571-37.714-36.571l-16-438.857c-0.571-20 15.429-36.571 35.429-36.571h182.857c20 0 36 16.571 35.429 36.571z"
- ],
- "width": 365.71428571428567,
- "attrs": [],
- "isMulticolor": false,
- "isMulticolor2": false,
- "tags": [
- "exclamation"
- ],
- "defaultCode": 61738,
- "grid": 14
- },
- "attrs": [],
- "properties": {
- "name": "exclamation",
- "id": 2,
- "order": 73,
- "prevSize": 28,
- "code": 61738
- },
- "setIdx": 1,
- "setId": 0,
- "iconIdx": 2
- }
- ],
- "height": 1024,
- "metadata": {
- "name": "icomoon"
- },
- "preferences": {
- "showGlyphs": true,
- "showQuickUse": true,
- "showQuickUse2": true,
- "showSVGs": true,
- "fontPref": {
- "prefix": "icon-",
- "metadata": {
- "fontFamily": "icomoon",
- "majorVersion": 1,
- "minorVersion": 0
- },
- "metrics": {
- "emSize": 1024,
- "baseline": 6.25,
- "whitespace": 50
- },
- "embed": false,
- "showSelector": true,
- "selector": "i",
- "classSelector": ".icon",
- "showVersion": false,
- "showMetadata": false,
- "showMetrics": false,
- "cssVars": false,
- "cssVarsFormat": "scss"
- },
- "imagePref": {
- "prefix": "icon-",
- "png": true,
- "useClassSelector": true,
- "color": 0,
- "bgColor": 16777215,
- "classSelector": ".icon"
- },
- "historySize": 50,
- "showCodes": true,
- "gridSize": 16
- }
-}
\ No newline at end of file
diff --git a/static/manifest.webmanifest b/static/manifest.webmanifest
deleted file mode 100644
index 406eb4d4..00000000
--- a/static/manifest.webmanifest
+++ /dev/null
@@ -1,86 +0,0 @@
-{
- "dir": "ltr",
- "lang": "EN",
- "name": "Progressive Web Apps Builder",
- "scope": "/",
- "display": "standalone",
- "start_url": "/",
- "short_name": "PWABuilder",
- "theme_color": "#000000",
- "description": "All the tools you need to build and deploy your Progressive Web Apps.",
- "orientation": "any",
- "background_color": "#000000",
- "related_applications": [],
- "prefer_related_applications": false,
- "icons": [
- {
- "src": "/Images/assets/newIcons/icon_512.png",
- "sizes": "512x512",
- "type": "image/png"
- },
- {
- "src": "/Images/assets/newIcons/icon_190.png",
- "sizes": "190x190",
- "type": "image/png"
- },
- {
- "src": "/Images/assets/newIcons/icon_120.png",
- "sizes": "120x120",
- "type": "image/png"
- },
- {
- "src": "/Images/assets/newIcons/icon_60.png",
- "sizes": "60x60",
- "type": "image/png"
- },
- {
- "src": "/Images/assets/newIcons/icon_57.png",
- "sizes": "57x57",
- "type": "image/png"
- }
- ],
- "features": [
- "Test your PWA",
- "Package your PWA for app stores",
- "Find useful components for your PWA",
- "Generate a manifest and service worker"
- ],
- "screenshots": [
- {
- "src": "/Images/assets/screenShots/s1.png",
- "size": "1600x1020",
- "type": "image/png",
- "description": "PWA Builder Home Screen"
- },
- {
- "src": "/Images/assets/screenShots/s2.png",
- "size": "1600x1020",
- "type": "image/png",
- "description": "PWA Builder is also a PWA and can be used in app mode"
- },
- {
- "src": "/Images/assets/screenShots/s3.png",
- "size": "1600x1020",
- "type": "image/png",
- "description": "Enter your URL to get a PWA score"
- },
- {
- "src": "/Images/assets/screenShots/s4.png",
- "size": "1600x1020",
- "type": "image/png",
- "description": "See the manifest on the site, or a generated manifest from PWA Builder"
- },
- {
- "src": "/Images/assets/screenShots/s5.png",
- "size": "1600x1020",
- "type": "image/png",
- "description": "Find easy to use service workers that fit almost any site."
- },
- {
- "src": "/Images/assets/screenShots/s6.png",
- "size": "1600x1020",
- "type": "image/png",
- "description": "Find easy to use snippits that make your web site more app-like"
- }
- ]
-}
\ No newline at end of file
diff --git a/static/offline.html b/static/offline.html
deleted file mode 100644
index 36c609b3..00000000
--- a/static/offline.html
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
-
- PWABuilder requires an active internet connection to function.
-
- Reload
-
-
-
-
-
\ No newline at end of file
diff --git a/static/platformPop.js b/static/platformPop.js
deleted file mode 100644
index bb903e80..00000000
--- a/static/platformPop.js
+++ /dev/null
@@ -1,62 +0,0 @@
-let platTmpl = document.createElement('template');
-platTmpl.innerHTML = `
-
-
-
-
-
-`;
-
-
-class PlatformPop extends HTMLElement {
-
- constructor() {
- super(); // always call super() first in the constructor.
-
- // Attach a shadow root to the element.
- let shadowRoot = this.attachShadow({mode: 'open'});
- shadowRoot.appendChild(platTmpl.content.cloneNode(true));
- }
-
- static get observedAttributes() {
- return ['platform'];
- }
-
- get platform() {
- return this.hasAttribute('platform');
- }
-
- set platform(val) {
- if (val) {
- this.setAttribute('platform', val);
-
- if (val === 'Samsung' || val === 'Android' || val === 'ios') {
- this.shadowRoot.querySelector('img').src="/Images/android-screen.png";
- }
- else if (val === 'Progressive Web App') {
- this.shadowRoot.querySelector('img').src="/Images/pwa-screen.png";
- }
- else if (val === 'Microsoft Teams') {
- this.shadowRoot.querySelector('img').src="/Images/teams-screen.png";
- }
- else {
- this.shadowRoot.querySelector('img').src="/Images/pwabuilder-screen.png";
- }
- } else {
- this.removeAttribute('platform');
- }
- }
-
-}
-
-window.customElements.define('platform-pop', PlatformPop);
\ No newline at end of file
diff --git a/static/pwa-install.js b/static/pwa-install.js
deleted file mode 100644
index d6fab5ee..00000000
--- a/static/pwa-install.js
+++ /dev/null
@@ -1,173 +0,0 @@
-/**
- * @license
- * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
- * This code may only be used under the BSD style license found at
- * http://polymer.github.io/LICENSE.txt
- * The complete set of authors may be found at
- * http://polymer.github.io/AUTHORS.txt
- * The complete set of contributors may be found at
- * http://polymer.github.io/CONTRIBUTORS.txt
- * Code distributed by Google as part of the polymer project is also
- * subject to an additional IP rights grant found at
- * http://polymer.github.io/PATENTS.txt
- */
-const t="undefined"!=typeof window&&null!=window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,e=(t,e,i=null)=>{for(;e!==i;){const i=e.nextSibling;t.removeChild(e),e=i}},i=`{{lit-${String(Math.random()).slice(2)}}}`,n=`\x3c!--${i}--\x3e`,s=new RegExp(`${i}|${n}`);class o{constructor(t,e){this.parts=[],this.element=e;const n=[],o=[],a=document.createTreeWalker(e.content,133,null,!1);let p=0,h=-1,c=0;const{strings:u,values:{length:m}}=t;for(;c0;){const e=u[c],i=d.exec(e)[2],n=i.toLowerCase()+"$lit$",o=t.getAttribute(n);t.removeAttribute(n);const r=o.split(s);this.parts.push({type:"attribute",index:h,name:i,strings:r}),c+=r.length-1}}"TEMPLATE"===t.tagName&&(o.push(t),a.currentNode=t.content)}else if(3===t.nodeType){const e=t.data;if(e.indexOf(i)>=0){const i=t.parentNode,o=e.split(s),a=o.length-1;for(let e=0;e{const i=t.length-e.length;return i>=0&&t.slice(i)===e},a=t=>-1!==t.index,l=()=>document.createComment(""),d=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;function p(t,e){const{element:{content:i},parts:n}=t,s=document.createTreeWalker(i,133,null,!1);let o=c(n),r=n[o],a=-1,l=0;const d=[];let p=null;for(;s.nextNode();){a++;const t=s.currentNode;for(t.previousSibling===p&&(p=null),e.has(t)&&(d.push(t),null===p&&(p=t)),null!==p&&l++;void 0!==r&&r.index===a;)r.index=null!==p?-1:r.index-l,o=c(n,o),r=n[o]}d.forEach(t=>t.parentNode.removeChild(t))}const h=t=>{let e=11===t.nodeType?0:1;const i=document.createTreeWalker(t,133,null,!1);for(;i.nextNode();)e++;return e},c=(t,e=-1)=>{for(let i=e+1;i"function"==typeof t&&u.has(t),f={},g={};
-/**
- * @license
- * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
- * This code may only be used under the BSD style license found at
- * http://polymer.github.io/LICENSE.txt
- * The complete set of authors may be found at
- * http://polymer.github.io/AUTHORS.txt
- * The complete set of contributors may be found at
- * http://polymer.github.io/CONTRIBUTORS.txt
- * Code distributed by Google as part of the polymer project is also
- * subject to an additional IP rights grant found at
- * http://polymer.github.io/PATENTS.txt
- */
-class y{constructor(t,e,i){this.__parts=[],this.template=t,this.processor=e,this.options=i}update(t){let e=0;for(const i of this.__parts)void 0!==i&&i.setValue(t[e]),e++;for(const t of this.__parts)void 0!==t&&t.commit()}_clone(){const e=t?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),i=[],n=this.template.parts,s=document.createTreeWalker(e,133,null,!1);let o,r=0,l=0,d=s.nextNode();for(;r-1||s)&&-1===t.indexOf("--\x3e",r+1);const a=d.exec(t);e+=null===a?t+(s?v:n):t.substr(0,a.index)+a[1]+a[2]+"$lit$"+a[3]+i}return e+=this.strings[t],e}getTemplateElement(){const t=document.createElement("template");return t.innerHTML=this.getHTML(),t}}
-/**
- * @license
- * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
- * This code may only be used under the BSD style license found at
- * http://polymer.github.io/LICENSE.txt
- * The complete set of authors may be found at
- * http://polymer.github.io/AUTHORS.txt
- * The complete set of contributors may be found at
- * http://polymer.github.io/CONTRIBUTORS.txt
- * Code distributed by Google as part of the polymer project is also
- * subject to an additional IP rights grant found at
- * http://polymer.github.io/PATENTS.txt
- */const x=t=>null===t||!("object"==typeof t||"function"==typeof t),_=t=>Array.isArray(t)||!(!t||!t[Symbol.iterator]);class w{constructor(t,e,i){this.dirty=!0,this.element=t,this.name=e,this.strings=i,this.parts=[];for(let t=0;t{try{const t={get capture(){return E=!0,!1}};window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch(t){}})();class A{constructor(t,e,i){this.value=void 0,this.__pendingValue=void 0,this.element=t,this.eventName=e,this.eventContext=i,this.__boundHandleEvent=t=>this.handleEvent(t)}setValue(t){this.__pendingValue=t}commit(){for(;m(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=f,t(this)}if(this.__pendingValue===f)return;const t=this.__pendingValue,e=this.value,i=null==t||null!=e&&(t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive),n=null!=t&&(null==e||i);i&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),n&&(this.__options=T(t),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=t,this.__pendingValue=f}handleEvent(t){"function"==typeof this.value?this.value.call(this.eventContext||this.element,t):this.value.handleEvent(t)}}const T=t=>t&&(E?{capture:t.capture,passive:t.passive,once:t.once}:t.capture)
-/**
- * @license
- * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
- * This code may only be used under the BSD style license found at
- * http://polymer.github.io/LICENSE.txt
- * The complete set of authors may be found at
- * http://polymer.github.io/AUTHORS.txt
- * The complete set of contributors may be found at
- * http://polymer.github.io/CONTRIBUTORS.txt
- * Code distributed by Google as part of the polymer project is also
- * subject to an additional IP rights grant found at
- * http://polymer.github.io/PATENTS.txt
- */;function $(t){let e=B.get(t.type);void 0===e&&(e={stringsArray:new WeakMap,keyString:new Map},B.set(t.type,e));let n=e.stringsArray.get(t.strings);if(void 0!==n)return n;const s=t.strings.join(i);return n=e.keyString.get(s),void 0===n&&(n=new o(t,t.getTemplateElement()),e.keyString.set(s,n)),e.stringsArray.set(t.strings,n),n}const B=new Map,V=new WeakMap;
-/**
- * @license
- * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
- * This code may only be used under the BSD style license found at
- * http://polymer.github.io/LICENSE.txt
- * The complete set of authors may be found at
- * http://polymer.github.io/AUTHORS.txt
- * The complete set of contributors may be found at
- * http://polymer.github.io/CONTRIBUTORS.txt
- * Code distributed by Google as part of the polymer project is also
- * subject to an additional IP rights grant found at
- * http://polymer.github.io/PATENTS.txt
- */const O=new
-/**
- * @license
- * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
- * This code may only be used under the BSD style license found at
- * http://polymer.github.io/LICENSE.txt
- * The complete set of authors may be found at
- * http://polymer.github.io/AUTHORS.txt
- * The complete set of contributors may be found at
- * http://polymer.github.io/CONTRIBUTORS.txt
- * Code distributed by Google as part of the polymer project is also
- * subject to an additional IP rights grant found at
- * http://polymer.github.io/PATENTS.txt
- */
-class{handleAttributeExpressions(t,e,i,n){const s=e[0];if("."===s){return new k(t,e.slice(1),i).parts}return"@"===s?[new A(t,e.slice(1),n.eventContext)]:"?"===s?[new P(t,e.slice(1),i)]:new w(t,e,i).parts}handleTextExpression(t){return new C(t)}};
-/**
- * @license
- * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
- * This code may only be used under the BSD style license found at
- * http://polymer.github.io/LICENSE.txt
- * The complete set of authors may be found at
- * http://polymer.github.io/AUTHORS.txt
- * The complete set of contributors may be found at
- * http://polymer.github.io/CONTRIBUTORS.txt
- * Code distributed by Google as part of the polymer project is also
- * subject to an additional IP rights grant found at
- * http://polymer.github.io/PATENTS.txt
- */"undefined"!=typeof window&&(window.litHtmlVersions||(window.litHtmlVersions=[])).push("1.2.1");const M=(t,...e)=>new b(t,e,"html",O)
-/**
- * @license
- * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
- * This code may only be used under the BSD style license found at
- * http://polymer.github.io/LICENSE.txt
- * The complete set of authors may be found at
- * http://polymer.github.io/AUTHORS.txt
- * The complete set of contributors may be found at
- * http://polymer.github.io/CONTRIBUTORS.txt
- * Code distributed by Google as part of the polymer project is also
- * subject to an additional IP rights grant found at
- * http://polymer.github.io/PATENTS.txt
- */,U=(t,e)=>`${t}--${e}`;let z=!0;void 0===window.ShadyCSS?z=!1:void 0===window.ShadyCSS.prepareTemplateDom&&(console.warn("Incompatible ShadyCSS version detected. Please update to at least @webcomponents/webcomponentsjs@2.0.2 and @webcomponents/shadycss@1.3.1."),z=!1);const j=t=>e=>{const n=U(e.type,t);let s=B.get(n);void 0===s&&(s={stringsArray:new WeakMap,keyString:new Map},B.set(n,s));let r=s.stringsArray.get(e.strings);if(void 0!==r)return r;const a=e.strings.join(i);if(r=s.keyString.get(a),void 0===r){const i=e.getTemplateElement();z&&window.ShadyCSS.prepareTemplateDom(i,t),r=new o(e,i),s.keyString.set(a,r)}return s.stringsArray.set(e.strings,r),r},R=["html","svg"],L=new Set,I=(t,e,i)=>{L.add(t);const n=i?i.element:document.createElement("template"),s=e.querySelectorAll("style"),{length:o}=s;if(0===o)return void window.ShadyCSS.prepareTemplateStyles(n,t);const r=document.createElement("style");for(let t=0;t{R.forEach(e=>{const i=B.get(U(e,t));void 0!==i&&i.keyString.forEach(t=>{const{element:{content:e}}=t,i=new Set;Array.from(e.querySelectorAll("style")).forEach(t=>{i.add(t)}),p(t,i)})})})(t);const a=n.content;i?function(t,e,i=null){const{element:{content:n},parts:s}=t;if(null==i)return void n.appendChild(e);const o=document.createTreeWalker(n,133,null,!1);let r=c(s),a=0,l=-1;for(;o.nextNode();){for(l++,o.currentNode===i&&(a=h(e),i.parentNode.insertBefore(e,i));-1!==r&&s[r].index===l;){if(a>0){for(;-1!==r;)s[r].index+=a,r=c(s,r);return}r=c(s,r)}}}(i,r,a.firstChild):a.insertBefore(r,a.firstChild),window.ShadyCSS.prepareTemplateStyles(n,t);const l=a.querySelector("style");if(window.ShadyCSS.nativeShadow&&null!==l)e.insertBefore(l.cloneNode(!0),e.firstChild);else if(i){a.insertBefore(r,a.firstChild);const t=new Set;t.add(r),p(i,t)}};window.JSCompiler_renameProperty=(t,e)=>t;const D={toAttribute(t,e){switch(e){case Boolean:return t?"":null;case Object:case Array:return null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){switch(e){case Boolean:return null!==t;case Number:return null===t?null:Number(t);case Object:case Array:return JSON.parse(t)}return t}},F=(t,e)=>e!==t&&(e==e||t==t),q={attribute:!0,type:String,converter:D,reflect:!1,hasChanged:F};class W extends HTMLElement{constructor(){super(),this._updateState=0,this._instanceProperties=void 0,this._updatePromise=new Promise(t=>this._enableUpdatingResolver=t),this._changedProperties=new Map,this._reflectingProperties=void 0,this.initialize()}static get observedAttributes(){this.finalize();const t=[];return this._classProperties.forEach((e,i)=>{const n=this._attributeNameForProperty(i,e);void 0!==n&&(this._attributeToPropertyMap.set(n,i),t.push(n))}),t}static _ensureClassProperties(){if(!this.hasOwnProperty(JSCompiler_renameProperty("_classProperties",this))){this._classProperties=new Map;const t=Object.getPrototypeOf(this)._classProperties;void 0!==t&&t.forEach((t,e)=>this._classProperties.set(e,t))}}static createProperty(t,e=q){if(this._ensureClassProperties(),this._classProperties.set(t,e),e.noAccessor||this.prototype.hasOwnProperty(t))return;const i="symbol"==typeof t?Symbol():`__${t}`,n=this.getPropertyDescriptor(t,i,e);void 0!==n&&Object.defineProperty(this.prototype,t,n)}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(i){const n=this[t];this[e]=i,this._requestUpdate(t,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this._classProperties&&this._classProperties.get(t)||q}static finalize(){const t=Object.getPrototypeOf(this);if(t.hasOwnProperty("finalized")||t.finalize(),this.finalized=!0,this._ensureClassProperties(),this._attributeToPropertyMap=new Map,this.hasOwnProperty(JSCompiler_renameProperty("properties",this))){const t=this.properties,e=[...Object.getOwnPropertyNames(t),..."function"==typeof Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t):[]];for(const i of e)this.createProperty(i,t[i])}}static _attributeNameForProperty(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}static _valueHasChanged(t,e,i=F){return i(t,e)}static _propertyValueFromAttribute(t,e){const i=e.type,n=e.converter||D,s="function"==typeof n?n:n.fromAttribute;return s?s(t,i):t}static _propertyValueToAttribute(t,e){if(void 0===e.reflect)return;const i=e.type,n=e.converter;return(n&&n.toAttribute||D.toAttribute)(t,i)}initialize(){this._saveInstanceProperties(),this._requestUpdate()}_saveInstanceProperties(){this.constructor._classProperties.forEach((t,e)=>{if(this.hasOwnProperty(e)){const t=this[e];delete this[e],this._instanceProperties||(this._instanceProperties=new Map),this._instanceProperties.set(e,t)}})}_applyInstanceProperties(){this._instanceProperties.forEach((t,e)=>this[e]=t),this._instanceProperties=void 0}connectedCallback(){this.enableUpdating()}enableUpdating(){void 0!==this._enableUpdatingResolver&&(this._enableUpdatingResolver(),this._enableUpdatingResolver=void 0)}disconnectedCallback(){}attributeChangedCallback(t,e,i){e!==i&&this._attributeToProperty(t,i)}_propertyToAttribute(t,e,i=q){const n=this.constructor,s=n._attributeNameForProperty(t,i);if(void 0!==s){const t=n._propertyValueToAttribute(e,i);if(void 0===t)return;this._updateState=8|this._updateState,null==t?this.removeAttribute(s):this.setAttribute(s,t),this._updateState=-9&this._updateState}}_attributeToProperty(t,e){if(8&this._updateState)return;const i=this.constructor,n=i._attributeToPropertyMap.get(t);if(void 0!==n){const t=i.getPropertyOptions(n);this._updateState=16|this._updateState,this[n]=i._propertyValueFromAttribute(e,t),this._updateState=-17&this._updateState}}_requestUpdate(t,e){let i=!0;if(void 0!==t){const n=this.constructor,s=n.getPropertyOptions(t);n._valueHasChanged(this[t],e,s.hasChanged)?(this._changedProperties.has(t)||this._changedProperties.set(t,e),!0!==s.reflect||16&this._updateState||(void 0===this._reflectingProperties&&(this._reflectingProperties=new Map),this._reflectingProperties.set(t,s))):i=!1}!this._hasRequestedUpdate&&i&&(this._updatePromise=this._enqueueUpdate())}requestUpdate(t,e){return this._requestUpdate(t,e),this.updateComplete}async _enqueueUpdate(){this._updateState=4|this._updateState;try{await this._updatePromise}catch(t){}const t=this.performUpdate();return null!=t&&await t,!this._hasRequestedUpdate}get _hasRequestedUpdate(){return 4&this._updateState}get hasUpdated(){return 1&this._updateState}performUpdate(){this._instanceProperties&&this._applyInstanceProperties();let t=!1;const e=this._changedProperties;try{t=this.shouldUpdate(e),t?this.update(e):this._markUpdated()}catch(e){throw t=!1,this._markUpdated(),e}t&&(1&this._updateState||(this._updateState=1|this._updateState,this.firstUpdated(e)),this.updated(e))}_markUpdated(){this._changedProperties=new Map,this._updateState=-5&this._updateState}get updateComplete(){return this._getUpdateComplete()}_getUpdateComplete(){return this._updatePromise}shouldUpdate(t){return!0}update(t){void 0!==this._reflectingProperties&&this._reflectingProperties.size>0&&(this._reflectingProperties.forEach((t,e)=>this._propertyToAttribute(e,this[e],t)),this._reflectingProperties=void 0),this._markUpdated()}updated(t){}firstUpdated(t){}}W.finalized=!0;
-/**
- * @license
- * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
- * This code may only be used under the BSD style license found at
- * http://polymer.github.io/LICENSE.txt
- * The complete set of authors may be found at
- * http://polymer.github.io/AUTHORS.txt
- * The complete set of contributors may be found at
- * http://polymer.github.io/CONTRIBUTORS.txt
- * Code distributed by Google as part of the polymer project is also
- * subject to an additional IP rights grant found at
- * http://polymer.github.io/PATENTS.txt
- */
-const H=(t,e)=>"method"===e.kind&&e.descriptor&&!("value"in e.descriptor)?Object.assign(Object.assign({},e),{finisher(i){i.createProperty(e.key,t)}}):{kind:"field",key:Symbol(),placement:"own",descriptor:{},initializer(){"function"==typeof e.initializer&&(this[e.key]=e.initializer.call(this))},finisher(i){i.createProperty(e.key,t)}};function J(t){return(e,i)=>void 0!==i?((t,e,i)=>{e.constructor.createProperty(i,t)})(t,e,i):H(t,e)}
-/**
-@license
-Copyright (c) 2019 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at
-http://polymer.github.io/LICENSE.txt The complete set of authors may be found at
-http://polymer.github.io/AUTHORS.txt The complete set of contributors may be
-found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as
-part of the polymer project is also subject to an additional IP rights grant
-found at http://polymer.github.io/PATENTS.txt
-*/const Y="adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,K=Symbol();class Z{constructor(t,e){if(e!==K)throw new Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t}get styleSheet(){return void 0===this._styleSheet&&(Y?(this._styleSheet=new CSSStyleSheet,this._styleSheet.replaceSync(this.cssText)):this._styleSheet=null),this._styleSheet}toString(){return this.cssText}}const G=(t,...e)=>{const i=e.reduce((e,i,n)=>e+(t=>{if(t instanceof Z)return t.cssText;if("number"==typeof t)return t;throw new Error(`Value passed to 'css' function must be a 'css' function result: ${t}. Use 'unsafeCSS' to pass non-literal values, but\n take care to ensure page security.`)})(i)+t[n+1],t[0]);return new Z(i,K)};
-/**
- * @license
- * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
- * This code may only be used under the BSD style license found at
- * http://polymer.github.io/LICENSE.txt
- * The complete set of authors may be found at
- * http://polymer.github.io/AUTHORS.txt
- * The complete set of contributors may be found at
- * http://polymer.github.io/CONTRIBUTORS.txt
- * Code distributed by Google as part of the polymer project is also
- * subject to an additional IP rights grant found at
- * http://polymer.github.io/PATENTS.txt
- */
-(window.litElementVersions||(window.litElementVersions=[])).push("2.3.1");const Q={};class X extends W{static getStyles(){return this.styles}static _getUniqueStyles(){if(this.hasOwnProperty(JSCompiler_renameProperty("_styles",this)))return;const t=this.getStyles();if(void 0===t)this._styles=[];else if(Array.isArray(t)){const e=(t,i)=>t.reduceRight((t,i)=>Array.isArray(i)?e(i,t):(t.add(i),t),i),i=e(t,new Set),n=[];i.forEach(t=>n.unshift(t)),this._styles=n}else this._styles=[t]}initialize(){super.initialize(),this.constructor._getUniqueStyles(),this.renderRoot=this.createRenderRoot(),window.ShadowRoot&&this.renderRoot instanceof window.ShadowRoot&&this.adoptStyles()}createRenderRoot(){return this.attachShadow({mode:"open"})}adoptStyles(){const t=this.constructor._styles;0!==t.length&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow?Y?this.renderRoot.adoptedStyleSheets=t.map(t=>t.styleSheet):this._needsShimAdoptedStyleSheets=!0:window.ShadyCSS.ScopingShim.prepareAdoptedCssText(t.map(t=>t.cssText),this.localName))}connectedCallback(){super.connectedCallback(),this.hasUpdated&&void 0!==window.ShadyCSS&&window.ShadyCSS.styleElement(this)}update(t){const e=this.render();super.update(t),e!==Q&&this.constructor.render(e,this.renderRoot,{scopeName:this.localName,eventContext:this}),this._needsShimAdoptedStyleSheets&&(this._needsShimAdoptedStyleSheets=!1,this.constructor._styles.forEach(t=>{const e=document.createElement("style");e.textContent=t.cssText,this.renderRoot.appendChild(e)}))}render(){return Q}}X.finalized=!0,X.render=(t,i,n)=>{if(!n||"object"!=typeof n||!n.scopeName)throw new Error("The `scopeName` option is required.");const s=n.scopeName,o=V.has(i),r=z&&11===i.nodeType&&!!i.host,a=r&&!L.has(s),l=a?document.createDocumentFragment():i;if(((t,i,n)=>{let s=V.get(i);void 0===s&&(e(i,i.firstChild),V.set(i,s=new C(Object.assign({templateFactory:$},n))),s.appendInto(i)),s.setValue(t),s.commit()})(t,l,Object.assign({templateFactory:j(s)},n)),a){const t=V.get(l);V.delete(l);const n=t.value instanceof y?t.value.template:void 0;I(s,l,n),e(i,i.firstChild),i.appendChild(l),V.set(i,t)}!o&&r&&window.ShadyCSS.styleElement(i.host)};var tt=function(t,e,i,n){var s,o=arguments.length,r=o<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,i,n);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(r=(o<3?s(r):o>3?s(e,i,r):s(e,i))||r);return o>3&&r&&Object.defineProperty(e,i,r),r};let et=class extends X{constructor(){super(),this.manifestpath="manifest.json",this.openmodal=!1,this.hasprompt=!1,this.relatedApps=[],this.explainer="This app can be installed on your PC or mobile device. This will allow this web app to look and behave like any other installed app. You will find it in your app lists and be able to pin it to your home screen, start menus or task bars. This installed web app will also be able to safely interact with other apps and your operating system. ",this.featuresheader="Key Features",this.descriptionheader="Description",this.installbuttontext="Install",this.cancelbuttontext="Cancel",this.iosinstallinfotext="Tap the share button and then 'Add to Homescreen'",this.isSupportingBrowser=window.hasOwnProperty("BeforeInstallPromptEvent"),this.isIOS=navigator.userAgent.includes("iPhone")||navigator.userAgent.includes("iPad")||navigator.userAgent.includes("Macintosh")&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2,this.installed=!1,window.addEventListener("beforeinstallprompt",t=>this.handleInstallPromptEvent(t)),document.addEventListener("keyup",t=>{"Escape"===t.key&&this.cancel()})}static get styles(){return G`:host{--install-focus-color:#919c9c;--install-button-color:#0078d4;--modal-z-index:9999;--background-z-index:9998;--modal-background-color:white}button{outline:0}#installModalWrapper{height:100vh;width:100vw;overflow:auto;position:fixed;bottom:0;top:0;left:0;right:0;z-index:var(--modal-z-index);display:flex;justify-content:center;align-items:center}#descriptionWrapper{margin-bottom:3em}#installModal{position:absolute;background:var(--modal-background-color);font-family:sans-serif;box-shadow:0 25px 26px rgba(32,36,50,.25),0 5px 9px rgba(51,58,83,.53);border-radius:10px;display:flex;flex-direction:column;padding:0;animation-name:opened;animation-duration:150ms;z-index:var(--modal-z-index);max-width:56em}@keyframes opened{from{transform:scale(.8,.8);opacity:.4}to{transform:scale(1,1);opacity:1}}@keyframes mobile{from{opacity:.6}to{opacity:1}}@keyframes fadein{from{opacity:.2}to{opacity:1}}#background{position:fixed;top:0;bottom:0;left:0;right:0;background:#e3e3e3b0;backdrop-filter:blur(5px);z-index:var(--background-z-index);animation-name:fadein;animation-duration:250ms}#headerContainer{display:flex;justify-content:space-between;margin:40px;margin-bottom:32px}#headerContainer h1{font-size:34px;color:#3c3c3c;margin-top:20px;margin-bottom:7px}#headerContainer img{height:122px;width:122px;background:#d3d3d3;border-radius:10px;padding:12px;border-radius:24px;margin-right:24px}#buttonsContainer{display:flex;justify-content:flex-end;position:relative;height:100px;background:#dedede75;width:100%;right:0;border-radius:0 0 12px 12px}#installButton,#installCancelButton,#openButton{text-align:center;align-content:center;align-self:center;vertical-align:middle;justify-self:flex-end;line-height:200%;flex:0 0 auto;display:inline-block;background:#0078d4;color:#fff;cursor:pointer;border:solid 1px transparent;outline:0}#openButton{background:var(--install-button-color)}#installButton,#installCancelButton{min-width:130px;margin-right:30px;background:var(--install-button-color);border-radius:20px;font-weight:600;font-size:14px;line-height:21px;padding-top:10px;padding-bottom:9px;padding-left:20px;padding-right:20px;outline:0;color:#fff}#closeButton{background:0 0;border:none;color:#000;padding-left:12px;padding-right:12px;padding-top:4px;padding-bottom:4px;border-radius:20px;font-weight:600;outline:0;cursor:pointer;align-self:self-end}#closeButton:focus,#installButton:focus,#installCancelButton:focus{box-shadow:0 0 0 3px var(--install-focus-color)}#contentContainer{margin-left:40px;margin-right:40px;flex:1}#contentContainer h3{font-size:22px;color:#3c3c3c;margin-bottom:12px}#contentContainer p{font-size:14px;color:#3c3c3c}#featuresScreenDiv{display:flex;justify-content:space-around;align-items:center;margin-right:20px}#featuresScreenDiv h3{font-style:normal;font-weight:600;font-size:22px;line-height:225%;margin-top:0}#keyFeatures{overflow:hidden;padding-right:2em}#keyFeatures ul{padding-inline-start:22px;margin-block-start:12px}#featuresScreenDiv #keyFeatures li{font-style:normal;font-weight:600;font-size:16px;line-height:29px;color:rgba(51,51,51,.72)}#screenshotsContainer{max-height:220px;display:flex;max-width:30em}#screenshotsContainer button{border:none;width:4em;transition:background-color .2s}#screenshotsContainer button:focus,#screenshotsContainer button:hover{background-color:#bbb}#screenshotsContainer button svg{width:28px;fill:#6b6969}#screenshots{display:flex;scroll-snap-type:x mandatory;flex-wrap:wrap;flex-direction:column;overflow-x:scroll;width:22em;max-height:220px;-webkit-overflow-scrolling:touch}#screenshots div{display:flex;align-items:center;justify-content:center;scroll-snap-align:start;height:14em;width:100%;background:#efefef}#screenshots img{height:100%;object-fit:contain}#screenshots::-webkit-scrollbar{display:none}#tagsDiv{margin-top:1em;margin-bottom:1em}#desc{width:100%;max-width:40em;font-size:14px;color:#7e7e7e;text-overflow:ellipsis;overflow:hidden}#logoContainer{display:flex}#tagsDiv span{background:grey;color:#fff;padding-left:12px;padding-right:12px;padding-bottom:4px;font-weight:700;border-radius:24px;margin-right:12px;padding-top:1px}#iosText{color:var(--install-button-color);text-align:center;font-weight:700;position:fixed;bottom:0;left:0;right:0;backdrop-filter:blur(10px);background:rgba(239,239,239,.17);margin:0;padding:2em}#manifest-description{white-space:pre-wrap}@media (max-height:780px){#buttonsContainer{height:70px;background:0 0}}@media (max-width:1220px){#installModal{margin:0;border-radius:0;min-height:100%;width:100%;animation-name:mobile;animation-duration:250ms}#screenshots{justify-content:center}}@media (max-width:962px){#headerContainer h1{margin-top:0;margin-bottom:0}#logoContainer{align-items:center}#desc{display:none}#headerContainer{margin-bottom:24px}#headerContainer img{height:42px;width:42px}}@media (max-width:800px){#background{display:none}#installModal{overflow:scroll;box-shadow:none;max-width:100%;height:100%}#screenshotsContainer{width:100%}#screenshots img{height:180px}#buttonsContainer{display:flex;justify-content:center;bottom:0;margin-bottom:0;border-radius:0;padding-top:1em;padding-bottom:1em}#buttonsContainer #installButton{margin-right:0}#featuresScreenDiv{flex-direction:column;align-items:flex-start;margin-right:0}#headerContainer{margin:20px}#desc{display:none}#contentContainer{margin-left:20px;margin-right:20px;margin-bottom:5em}#headerContainer img{height:60px;width:60px;margin-right:12px}#buttonsContainer{position:fixed;bottom:0;background:#efefef2b;backdrop-filter:blur(10px)}}@media (max-width:400px){#headerContainer h1{font-size:26px}#headerContainer img{height:40px;width:40px}#featuresScreenDiv h3{font-size:18px;margin-bottom:0}#keyFeatures ul{margin-top:0}}@media all and (display-mode:standalone){button{display:none}}`}async firstUpdated(){if(this.manifestpath)try{await this.getManifestData()}catch(t){console.error("Error getting manifest, check that you have a valid web manifest")}"getInstalledRelatedApps"in navigator&&(this.relatedApps=await navigator.getInstalledRelatedApps())}handleInstallPromptEvent(t){this.deferredprompt=t,this.hasprompt=!0,t.preventDefault()}checkManifest(t){t.icons&&t.icons[0]?t.name?t.description||console.error("Your web manifest must have a description listed"):console.error("Your web manifest must have a name listed"):console.error("Your web manifest must have atleast one icon listed")}async getManifestData(){try{const t=await fetch(this.manifestpath),e=await t.json();if(this.manifestdata=e,this.manifestdata)return this.checkManifest(this.manifestdata),e}catch(t){return null}}scrollToLeft(){const t=this.shadowRoot.querySelector("#screenshots");t.scrollBy({left:-t.clientWidth,top:0,behavior:"smooth"})}scrollToRight(){const t=this.shadowRoot.querySelector("#screenshots");t.scrollBy({left:t.clientWidth,top:0,behavior:"smooth"})}openPrompt(){this.openmodal=!0;let t=new CustomEvent("show");this.dispatchEvent(t)}closePrompt(){this.openmodal=!1;let t=new CustomEvent("hide");this.dispatchEvent(t)}shouldShowInstall(){return this.isSupportingBrowser&&this.relatedApps.length<1&&(this.hasprompt||this.isIOS)}async install(){if(this.deferredprompt){this.deferredprompt.prompt();let t=new CustomEvent("show");if(this.dispatchEvent(t),"accepted"===(await this.deferredprompt.userChoice).outcome){await this.cancel(),this.installed=!0;let t=new CustomEvent("hide");return this.dispatchEvent(t),!0}{await this.cancel(),this.installed=!0;let t=new CustomEvent("hide");return this.dispatchEvent(t),!1}}}getInstalledStatus(){return navigator.standalone?navigator.standalone:!!matchMedia("(display-mode: standalone)").matches}cancel(){return new Promise((t,e)=>{this.openmodal=!1,this.hasAttribute("openmodal")&&this.removeAttribute("openmodal");let i=new CustomEvent("hide");this.dispatchEvent(i),t()})}render(){return M`${"standalone"in navigator&&!1===navigator.standalone||!0!==this.usecustom&&this.shouldShowInstall()&&!1===this.installed?M`this.openPrompt()}>${this.installbuttontext} `:null} ${!0===this.openmodal?M`${this.openmodal?M`
this.cancel()}>
`:null}
${this.manifestdata.features?M`
${this.featuresheader} ${this.manifestdata.features?this.manifestdata.features.map(t=>M`${t} `):null} `:null} ${this.manifestdata.screenshots?M`
this.scrollToLeft()} aria-label="previous image"> ${this.manifestdata.screenshots.map(t=>M``)} this.scrollToRight()} aria-label="next image"> `:null}
${this.descriptionheader} ${this.manifestdata.description}
${this.isIOS?M`
${this.iosinstallinfotext}
`:M`
${this.deferredprompt?M`this.install()}>${this.installbuttontext} ${this.manifestdata.short_name} `:M`this.cancel()} id=installCancelButton>${this.cancelbuttontext} `}
`}
`:null}`}};var it;tt([J({type:String})],et.prototype,"manifestpath",void 0),tt([J({type:String})],et.prototype,"iconpath",void 0),tt([J({type:Object})],et.prototype,"manifestdata",void 0),tt([J({type:Boolean})],et.prototype,"openmodal",void 0),tt([J({type:Boolean})],et.prototype,"showopen",void 0),tt([J({type:Boolean})],et.prototype,"isSupportingBrowser",void 0),tt([J({type:Boolean})],et.prototype,"isIOS",void 0),tt([J({type:Boolean})],et.prototype,"installed",void 0),tt([J({type:Boolean})],et.prototype,"hasprompt",void 0),tt([J({type:Boolean})],et.prototype,"usecustom",void 0),tt([J({type:Array})],et.prototype,"relatedApps",void 0),tt([J({type:String})],et.prototype,"explainer",void 0),tt([J({type:String})],et.prototype,"featuresheader",void 0),tt([J({type:String})],et.prototype,"descriptionheader",void 0),tt([J({type:String})],et.prototype,"installbuttontext",void 0),tt([J({type:String})],et.prototype,"cancelbuttontext",void 0),tt([J({type:String})],et.prototype,"iosinstallinfotext",void 0),tt([J()],et.prototype,"deferredprompt",void 0),et=tt([(it="pwa-install",t=>"function"==typeof t?((t,e)=>(window.customElements.define(t,e),e))(it,t):((t,e)=>{const{kind:i,elements:n}=e;return{kind:i,elements:n,finisher(e){window.customElements.define(t,e)}}})(it,t))],et);export{et as pwainstall};
-//# sourceMappingURL=pwa-install.js.map
diff --git a/static/pwabuilder-sw-register.js b/static/pwabuilder-sw-register.js
deleted file mode 100644
index 7c1a06ee..00000000
--- a/static/pwabuilder-sw-register.js
+++ /dev/null
@@ -1,8 +0,0 @@
-// This is the "Offline page" service worker
-
-// Add this below content to your HTML page inside a tag, or add the js file to your page at the very top to register service worker
-
-import 'https://cdn.jsdelivr.net/npm/@pwabuilder/pwaupdate';
-
-const el = document.createElement('pwa-update');
-document.body.appendChild(el);
diff --git a/static/pwabuilder-sw.js b/static/pwabuilder-sw.js
deleted file mode 100644
index 1233e820..00000000
--- a/static/pwabuilder-sw.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// This is the "Offline page" service worker
-
-importScripts('https://storage.googleapis.com/workbox-cdn/releases/5.0.0/workbox-sw.js');
-
-const CACHE = "pwabuilder-page";
-
-// TODO: replace the following with the correct offline fallback page i.e.: const offlineFallbackPage = "offline.html";
-const offlineFallbackPage = "offline.html";
-
-self.addEventListener("message", (event) => {
- if (event.data && event.data.type === "SKIP_WAITING") {
- self.skipWaiting();
- }
-});
-
-self.addEventListener('install', async (event) => {
- event.waitUntil(
- caches.open(CACHE)
- .then((cache) => cache.add(offlineFallbackPage))
- );
-});
-
-if (workbox.navigationPreload.isSupported()) {
- workbox.navigationPreload.enable();
-}
-
-self.addEventListener('fetch', (event) => {
- if (event.request.mode === 'navigate') {
- event.respondWith((async () => {
- try {
- const preloadResp = await event.preloadResponse;
-
- if (preloadResp) {
- return preloadResp;
- }
-
- const networkResp = await fetch(event.request);
- return networkResp;
- } catch (error) {
-
- const cache = await caches.open(CACHE);
- const cachedResp = await cache.match(offlineFallbackPage);
- return cachedResp;
- }
- })());
- }
-});
diff --git a/static/webadb.js b/static/webadb.js
deleted file mode 100644
index a0da5c8c..00000000
--- a/static/webadb.js
+++ /dev/null
@@ -1,1036 +0,0 @@
-// SPDX-License-Identifier: MIT
-
-var Adb = {};
-
-(function() {
- 'use strict';
-
- Adb.Opt = {};
- Adb.Opt.debug = false;
- Adb.Opt.dump = false;
-
- Adb.Opt.key_size = 2048;
- Adb.Opt.reuse_key = -1;
-
- // Set this to false for new devices (post Dec 2017) if
- // autodetection doesn't handle it automatically.
- Adb.Opt.use_checksum = true;
-
- let db = init_db();
- let keys = db.then(load_keys);
-
- Adb.open = function(transport) {
- if (transport == "WebUSB")
- return Adb.WebUSB.Transport.open();
-
- throw new Error("Unsupported transport: " + transport);
- };
-
- Adb.WebUSB = {};
-
- Adb.WebUSB.Transport = function(device) {
- this.device = device;
-
- if (Adb.Opt.debug)
- console.log(this);
- };
-
- Adb.WebUSB.Transport.open = function() {
- let filters = [
- { classCode: 255, subclassCode: 66, protocolCode: 1 },
- { classCode: 255, subclassCode: 66, protocolCode: 3 }
- ];
-
- return navigator.usb.requestDevice({ filters: filters })
- .then(device => device.open()
- .then(() => new Adb.WebUSB.Transport(device)));
- };
-
- Adb.WebUSB.Transport.prototype.close = function() {
- this.device.close();
- };
-
- Adb.WebUSB.Transport.prototype.send = function(ep, data) {
- if (Adb.Opt.dump)
- hexdump(new DataView(data), "" + ep + "==> ");
-
- return this.device.transferOut(ep, data);
- };
-
- Adb.WebUSB.Transport.prototype.receive = function(ep, len) {
- return this.device.transferIn(ep, len)
- .then(response => {
- if (Adb.Opt.dump)
- hexdump(response.data, "<==" + ep + " ");
-
- return response.data;
- });
- };
-
- Adb.WebUSB.Transport.prototype.find = function(filter) {
- for (let i in this.device.configurations) {
- let conf = this.device.configurations[i];
- for (let j in conf.interfaces) {
- let intf = conf.interfaces[j];
- for (let k in intf.alternates) {
- let alt = intf.alternates[k];
- if (filter.classCode == alt.interfaceClass &&
- filter.subclassCode == alt.interfaceSubclass &&
- filter.protocolCode == alt.interfaceProtocol) {
- return { conf: conf, intf: intf, alt: alt };
- }
- }
- }
- }
-
- return null;
- }
-
- Adb.WebUSB.Transport.prototype.isAdb = function() {
- let match = this.find({ classCode: 255, subclassCode: 66, protocolCode: 1 });
- return match != null;
- };
-
- Adb.WebUSB.Transport.prototype.isFastboot = function() {
- let match = this.find({ classCode: 255, subclassCode: 66, protocolCode: 3 });
- return match != null;
- };
-
- Adb.WebUSB.Transport.prototype.getDevice = function(filter) {
- let match = this.find(filter);
- return this.device.selectConfiguration(match.conf.configurationValue)
- .then(() => this.device.claimInterface(match.intf.interfaceNumber))
- .then(() => this.device.selectAlternateInterface(match.intf.interfaceNumber, match.alt.alternateSetting))
- .then(() => match);
- };
-
- Adb.WebUSB.Transport.prototype.connectAdb = function(banner, auth_user_notify = null) {
- let VERSION = 0x01000000;
- let VERSION_NO_CHECKSUM = 0x01000001;
- let MAX_PAYLOAD = 256 * 1024;
-
- let key_idx = 0;
- let AUTH_TOKEN = 1;
-
- let version_used = Adb.Opt.use_checksum ? VERSION : VERSION_NO_CHECKSUM;
- let m = new Adb.Message("CNXN", version_used, MAX_PAYLOAD, "" + banner + "\0");
- return this.getDevice({ classCode: 255, subclassCode: 66, protocolCode: 1 })
- .then(match => new Adb.WebUSB.Device(this, match))
- .then(adb => m.send_receive(adb)
- .then((function do_auth_response(response) {
- if (response.cmd != "AUTH" || response.arg0 != AUTH_TOKEN)
- return response;
-
- return keys.then(keys =>
- do_auth(adb, keys, key_idx++, response.data.buffer, do_auth_response, auth_user_notify));
- }))
- .then(response => {
- if (response.cmd != "CNXN")
- throw new Error("Failed to connect with '" + banner + "'");
- console.log('version', response.arg0);
- if (response.arg0 != VERSION && response.arg0 != VERSION_NO_CHECKSUM)
- throw new Error("Version mismatch: " + response.arg0 + " (expected: " + VERSION + " or " + VERSION_NO_CHECKSUM + ")");
- if (Adb.Opt.debug)
- console.log("Connected with '" + banner + "', max_payload: " + response.arg1);
- adb.max_payload = response.arg1;
- if (response.arg0 == VERSION_NO_CHECKSUM)
- Adb.Opt.use_checksum = false;
- return adb;
- })
- );
- };
-
- Adb.WebUSB.Transport.prototype.connectFastboot = function() {
- return this.getDevice({ classCode: 255, subclassCode: 66, protocolCode: 3 })
- .then(match => new Fastboot.WebUSB.Device(this, match))
- .then(fastboot => fastboot.send("getvar:max-download-size")
- .then(() => fastboot.receive()
- .then(response => {
- let cmd = decode_cmd(response.getUint32(0, true));
- if (cmd == "FAIL")
- throw new Error("Unable to open Fastboot");
-
- fastboot.get_cmd = r => decode_cmd(r.getUint32(0, true));
- fastboot.get_payload = r => r.buffer.slice(4);
- return fastboot;
- })
- )
- );
- };
-
- Adb.WebUSB.Device = function(transport, match) {
- this.transport = transport;
- this.max_payload = 4096;
-
- this.ep_in = get_ep_num(match.alt.endpoints, "in");
- this.ep_out = get_ep_num(match.alt.endpoints, "out");
- }
-
- Adb.WebUSB.Device.prototype.open = function(service) {
- return Adb.Stream.open(this, service);
- };
-
- Adb.WebUSB.Device.prototype.shell = function(command) {
- return Adb.Stream.open(this, "shell:" + command);
- };
-
- Adb.WebUSB.Device.prototype.tcpip = function(port) {
- return Adb.Stream.open(this, "tcpip:" + port);
- };
-
- Adb.WebUSB.Device.prototype.sync = function() {
- return Adb.Stream.open(this, "sync:");
- };
-
- Adb.WebUSB.Device.prototype.reboot = function(command="") {
- return Adb.Stream.open(this, "reboot:" + command);
- };
-
- Adb.WebUSB.Device.prototype.send = function(data) {
- if (typeof data === "string") {
- let encoder = new TextEncoder();
- let string_data = data;
- data = encoder.encode(string_data).buffer;
- }
-
- if (data != null && data.length > this.max_payload)
- throw new Error("data is too big: " + data.length + " bytes (max: " + this.max_payload + " bytes)");
-
- return this.transport.send(this.ep_out, data);
- };
-
- Adb.WebUSB.Device.prototype.receive = function(len) {
- return this.transport.receive(this.ep_in, len);
- };
-
- let Fastboot = {};
- Fastboot.WebUSB = {};
-
- Fastboot.WebUSB.Device = function(transport, match) {
- this.transport = transport;
- this.max_datasize = 64;
-
- this.ep_in = get_ep_num(match.alt.endpoints, "in");
- this.ep_out = get_ep_num(match.alt.endpoints, "out");
- };
-
- Fastboot.WebUSB.Device.prototype.send = function(data) {
- if (typeof data === "string") {
- let encoder = new TextEncoder();
- let string_data = data;
- data = encoder.encode(string_data).buffer;
- }
-
- if (data != null && data.length > this.max_datasize)
- throw new Error("data is too big: " + data.length + " bytes (max: " + this.max_datasize + " bytes)");
-
- return this.transport.send(this.ep_out, data);
- };
-
- Fastboot.WebUSB.Device.prototype.receive = function() {
- return this.transport.receive(this.ep_in, 64);
- };
-
- Adb.Message = function(cmd, arg0, arg1, data = null) {
- if (cmd.length != 4)
- throw new Error("Invalid command: '" + cmd + "'");
-
- this.cmd = cmd;
- this.arg0 = arg0;
- this.arg1 = arg1;
- this.length = (data === null) ? 0 : (typeof data === "string") ? data.length : data.byteLength;
- this.data = data;
- };
-
- Adb.Message.checksum = function(data_view) {
- let sum = 0;
-
- for (let i = 0; i < data_view.byteLength; i++)
- sum += data_view.getUint8(i);
-
- return sum & 0xffffffff;
- };
-
- Adb.Message.send = function(device, message) {
- let header = new ArrayBuffer(24);
- let cmd = encode_cmd(message.cmd);
- let magic = cmd ^ 0xffffffff;
- let data = null;
- let len = 0;
- let checksum = 0;
-
- if (Adb.Opt.debug)
- console.log(message);
-
- if (message.data != null) {
- if (typeof message.data === "string") {
- let encoder = new TextEncoder();
- data = encoder.encode(message.data).buffer;
- } else if (ArrayBuffer.isView(message.data)) {
- data = message.data.buffer;
- } else {
- data = message.data;
- }
-
- len = data.byteLength;
- if (Adb.Opt.use_checksum)
- checksum = Adb.Message.checksum(new DataView(data));
-
- if (len > device.max_payload)
- throw new Error("data is too big: " + len + " bytes (max: " + device.max_payload + " bytes)");
- }
-
- let view = new DataView(header);
- view.setUint32(0, cmd, true);
- view.setUint32(4, message.arg0, true);
- view.setUint32(8, message.arg1, true);
- view.setUint32(12, len, true);
- view.setUint32(16, checksum, true);
- view.setUint32(20, magic, true);
-
- let seq = device.send(header);
- if (len > 0)
- seq.then(() => device.send(data));
- return seq;
- };
-
- Adb.Message.receive = function(device) {
- return device.receive(24) //Adb.Opt.use_checksum ? 24 : 20)
- .then(response => {
- let cmd = response.getUint32(0, true);
- let arg0 = response.getUint32(4, true);
- let arg1 = response.getUint32(8, true);
- let len = response.getUint32(12, true);
- let check = response.getUint32(16, true);
- // Android seems to have stopped providing checksums
- if (Adb.use_checksum && response.byteLength > 20) {
- let magic = response.getUint32(20, true);
-
- if ((cmd ^ magic) != -1)
- throw new Error("magic mismatch");
- }
-
- cmd = decode_cmd(cmd);
-
- if (len == 0) {
- let message = new Adb.Message(cmd, arg0, arg1);
- if (Adb.Opt.debug)
- console.log(message);
- return message;
- }
-
- return device.receive(len)
- .then(data => {
- if (Adb.Opt.use_checksum && Adb.Message.checksum(data) != check)
- throw new Error("checksum mismatch");
-
- let message = new Adb.Message(cmd, arg0, arg1, data);
- if (Adb.Opt.debug)
- console.log(message);
- return message;
- });
- });
- };
-
- Adb.Message.prototype.send = function(device) {
- return Adb.Message.send(device, this);
- };
-
- Adb.Message.prototype.send_receive = function(device) {
- return this.send(device)
- .then(() => Adb.Message.receive(device));
- };
-
- Adb.SyncFrame = function(cmd, length = 0, data = null) {
- if (cmd.length != 4)
- throw new Error("Invalid command: '" + cmd + "'");
-
- this.cmd = cmd;
- this.length = length;
- this.data = data;
- };
-
- Adb.SyncFrame.send = function(stream, frame) {
- let data = new ArrayBuffer(8);
- let cmd = encode_cmd(frame.cmd);
-
- if (Adb.Opt.debug)
- console.log(frame);
-
- let view = new DataView(data);
- view.setUint32(0, cmd, true);
- view.setUint32(4, frame.length, true);
-
- return stream.send("WRTE", data);
- };
-
- Adb.SyncFrame.receive = function(stream) {
- return stream.receive()
- .then(response => {
- if (response.cmd == "WRTE") {
- let cmd = decode_cmd(response.data.getUint32(0, true));
-
- if (cmd == "OKAY" || cmd == "DATA" || cmd == "DONE" || cmd == "FAIL") {
- let len = response.data.getUint32(4, true);
- let data = new DataView(response.data.buffer.slice(8));
-
- if (len == 0 || data.byteLength >= len) {
- let frame = new Adb.SyncFrame(cmd, len, data);
- if (Adb.Opt.debug)
- console.log(frame);
- return frame;
- }
-
- return stream.send("OKAY")
- .then(() => stream.receive())
- .then(response => {
- if (response.data == null) {
- let frame = new Adb.SyncFrame(cmd);
- if (Adb.Opt.debug)
- console.log(frame);
- return frame;
- }
-
- let cmd2 = decode_cmd(response.data.getUint32(0, true));
-
- if (cmd2 == "OKAY" || cmd2 == "DATA" || cmd2 == "DONE" || cmd2 == "FAIL") {
- let len = response.data.getUint32(4, true);
- let data = new DataView(response.data.buffer.slice(8));
-
- if (len == 0 || data.byteLength >= len) {
- let frame = new Adb.SyncFrame(cmd2, len, data);
- if (Adb.Opt.debug)
- console.log(frame);
- return frame;
- }
- }
-
- if (response.data.byteLength < len)
- throw new Error("expected at least " + len + ", got " + response.data.byteLength);
-
- let frame = new Adb.SyncFrame(cmd, len, response.data);
- if (Adb.Opt.debug)
- console.log(frame);
- return frame;
- });
- }
-
- if (Adb.Opt.debug)
- console.log(response);
- if (Adb.Opt.dump)
- hexdump(response.data, "WRTE: ");
-
- throw new Error("invalid WRTE frame");
- }
-
- if (response.cmd == "OKAY") {
- let frame = new Adb.SyncFrame("OKAY");
- if (Adb.Opt.debug)
- console.log(frame);
- return frame;
- }
-
- if (Adb.Opt.debug)
- console.log(response);
-
- throw new Error("invalid SYNC frame");
- });
- };
-
- Adb.SyncFrame.prototype.send = function(stream) {
- return Adb.SyncFrame.send(stream, this);
- };
-
- Adb.SyncFrame.prototype.send_receive = function(stream) {
- return Adb.SyncFrame.send(stream, this)
- .then(() => Adb.SyncFrame.receive(stream));
- };
-
- Adb.Stream = function(device, service, local_id, remote_id) {
- this.device = device;
- this.service = service;
- this.local_id = local_id;
- this.remote_id = remote_id;
- this.cancel = null;
- };
-
- let next_id = 1;
-
- Adb.Stream.open = function(device, service) {
- let local_id = next_id++;
- let remote_id = 0;
-
- let m = new Adb.Message("OPEN", local_id, remote_id, "" + service + "\0");
- return m.send_receive(device)
- .then(function do_response(response) {
- if (response.arg1 != local_id)
- return Adb.Message.receive(device).then(do_response);
-
- if (response.cmd != "OKAY")
- throw new Error("Open failed");
-
- remote_id = response.arg0;
-
- if (Adb.Opt.debug) {
- console.log("Opened stream '" + service + "'");
- console.log(" local_id: 0x" + toHex32(local_id));
- console.log(" remote_id: 0x" + toHex32(remote_id));
- }
-
- return new Adb.Stream(device, service, local_id, remote_id);
- });
- };
-
- Adb.Stream.prototype.close = function() {
- if (this.local_id != 0) {
- this.local_id = 0;
- return this.send("CLSE");
- }
-
- if (Adb.Opt.debug) {
- console.log("Closed stream '" + this.service + "'");
- console.log(" local_id: 0x" + toHex32(this.local_id));
- console.log(" remote_id: 0x" + toHex32(this.remote_id));
- }
-
- this.service = "";
- this.remote_id = 0;
- };
-
- Adb.Stream.prototype.send = function(cmd, data=null) {
- let m = new Adb.Message(cmd, this.local_id, this.remote_id, data);
- return m.send(this.device);
- };
-
- Adb.Stream.prototype.receive = function() {
- return Adb.Message.receive(this.device)
- .then(response => {
- // remote's prospective of local_id/remote_id is reversed
- if (response.arg0 != 0 && response.arg0 != this.remote_id)
- throw new Error("Incorrect arg0: 0x" + toHex32(response.arg0) + " (expected 0x" + toHex32(this.remote_id) + ")");
- if (this.local_id != 0 && response.arg1 != this.local_id)
- throw new Error("Incorrect arg1: 0x" + toHex32(response.arg1) + " (expected 0x" + toHex32(this.local_id) + ")");
- return response;
- });
- };
-
- Adb.Stream.prototype.send_receive = function(cmd, data=null) {
- return this.send(cmd, data)
- .then(() => this.receive());
- };
-
- Adb.Stream.prototype.abort = function() {
- if (Adb.Opt.debug)
- console.log("aborting...");
-
- let self = this;
- return new Promise(function(resolve, reject) {
- self.cancel = function() {
- if (Adb.Opt.debug)
- console.log("aborted");
- self.cancel = null;
- resolve();
- };
- });
- };
-
- Adb.Stream.prototype.stat = function(filename) {
- let frame = new Adb.SyncFrame("STAT", filename.length);
- return frame.send_receive(this)
- .then(check_ok("STAT failed on " + filename))
- .then(response => {
- let encoder = new TextEncoder();
- return this.send_receive("WRTE", encoder.encode(filename))
- })
- .then(check_ok("STAT failed on " + filename))
- .then(response => {
- return this.receive().then(response =>
- this.send("OKAY").then(() =>
- response.data));
- })
- .then(response => {
- let id = decode_cmd(response.getUint32(0, true));
- let mode = response.getUint32(4, true);
- let size = response.getUint32(8, true);
- let time = response.getUint32(12, true);
-
- if (Adb.Opt.debug) {
- console.log("STAT: " + filename);
- console.log("id: " + id);
- console.log("mode: " + mode);
- console.log("size: " + size);
- console.log("time: " + time);
- }
-
- if (id != "STAT")
- throw new Error("STAT failed on " + filename);
-
- return { mode: mode, size: size, time: time };
- });
- };
-
- Adb.Stream.prototype.pull = function(filename) {
- let frame = new Adb.SyncFrame("RECV", filename.length);
- return frame.send_receive(this)
- .then(check_ok("PULL RECV failed on " + filename))
- .then(response => {
- let encoder = new TextEncoder();
- return this.send_receive("WRTE", encoder.encode(filename))
- })
- .then(check_ok("PULL WRTE failed on " + filename))
- .then(() => Adb.SyncFrame.receive(this))
- .then(check_cmd("DATA", "PULL DATA failed on " + filename))
- .catch(err => {
- return this.send("OKAY")
- .then(() => { throw err; });
- })
- .then(response => {
- return this.send("OKAY")
- .then(() => response);
- })
- .then(response => {
- let len = response.length;
- if (response.data.byteLength == len + 8) {
- let cmd = response.data.getUint32(len, true);
- let zero = response.data.getUint32(len + 4, true);
- if (decode_cmd(cmd) != "DONE" || zero != 0)
- throw new Error("PULL DONE failed on " + filename);
-
- return new DataView(response.data.buffer, 0, len);
- }
-
- if (response.data.byteLength > 64 * 1024) {
- let cmd = response.data.getUint32(response.data.byteLength - 8, true);
- let zero = response.data.getUint32(response.data.byteLength - 4, true);
- if (decode_cmd(cmd) != "DONE" || zero != 0)
- throw new Error("PULL DONE failed on " + filename);
-
- return new DataView(response.data.buffer, 0, response.data.byteLength - 8);
- }
-
- if (response.data.byteLength != len)
- throw new Error("PULL DATA failed on " + filename + ": " + response.data.byteLength + "!=" + len);
-
- return this.receive()
- .then(response => {
- let cmd = response.data.getUint32(0, true);
- let zero = response.data.getUint32(4, true);
- if (decode_cmd(cmd) != "DONE" || zero != 0)
- throw new Error("PULL DONE failed on " + filename);
- })
- .then(() => this.send("OKAY"))
- .then(() => response.data);
- });
- };
-
- Adb.Stream.prototype.push_start = function(filename, mode) {
- let mode_str = mode.toString(10);
- let encoder = new TextEncoder();
-
- let frame = new Adb.SyncFrame("SEND", filename.length + 1 + mode_str.length);
- return frame.send_receive(this)
- .then(check_ok("PUSH failed on " + filename))
- .then(response => {
- return this.send("WRTE", encoder.encode(filename))
- })
- .then(() => Adb.SyncFrame.receive(this))
- .then(check_ok("PUSH failed on " + filename))
- .then(response => {
- return this.send("WRTE", encoder.encode("," + mode_str))
- })
- .then(() => Adb.SyncFrame.receive(this))
- .then(check_ok("PUSH failed on " + filename));
- };
-
- Adb.Stream.prototype.push_data = function(data) {
- if (typeof data === "string") {
- let encoder = new TextEncoder();
- let string_data = data;
- data = encoder.encode(string_data).buffer;
- } else if (ArrayBuffer.isView(data)) {
- data = data.buffer;
- }
-
- let frame = new Adb.SyncFrame("DATA", data.byteLength);
- return frame.send_receive(this)
- .then(check_ok("PUSH failed"))
- .then(response => {
- return this.send("WRTE", data);
- })
- .then(() => Adb.SyncFrame.receive(this))
- .then(check_ok("PUSH failed"));
- };
-
- Adb.Stream.prototype.push_done = function() {
- let frame = new Adb.SyncFrame("DONE", Math.round(Date.now() / 1000));
- return frame.send_receive(this)
- .then(check_ok("PUSH failed"))
- .then(response => {
- return Adb.SyncFrame.receive(this);
- })
- .then(check_ok("PUSH failed"))
- .then(response => {
- return this.send("OKAY");
- });
- };
-
- Adb.Stream.prototype.push = function(file, filename, mode, on_progress = null) {
- // we need reduced logging during the data transfer otherwise the console may explode
- let old_debug = Adb.Opt.debug;
- let old_dump = Adb.Opt.dump;
- Adb.Opt.debug = false;
- Adb.Opt.dump = false;
-
- // read the whole file
- return read_blob(file).then(data =>
- this.push_start(filename, mode).then(() => {
- let seq = Promise.resolve();
- let rem = file.size;
- let max = Math.min(0x10000, this.device.max_payload);
- while (rem > 0) {
- // these two are needed here for the closure
- let len = Math.min(rem, max);
- let count = file.size - rem;
- seq = seq.then(() => {
- if (this.cancel) {
- Adb.Opt.debug = old_debug;
- Adb.Opt.dump = old_dump;
- this.cancel();
- throw new Error("cancelled");
- }
- if (on_progress != null)
- on_progress(count, file.size);
- return this.push_data(data.slice(count, count + len));
- });
- rem -= len;
- }
- return seq.then(() => {
- Adb.Opt.debug = old_debug;
- Adb.Opt.dump = old_dump;
- return this.push_done();
- });
- }));
- };
-
- Adb.Stream.prototype.quit = function() {
- let frame = new Adb.SyncFrame("QUIT");
- return frame.send_receive(this)
- .then(check_ok("QUIT failed"))
- .then(response => {
- return this.receive();
- })
- .then(check_cmd("CLSE", "QUIT failed"))
- .then(response => {
- return this.close();
- });
- };
-
- function check_cmd(cmd, err_msg)
- {
- return function(response) {
- if (response.cmd == "FAIL") {
- let decoder = new TextDecoder();
- throw new Error(decoder.decode(response.data));
- }
- if (response.cmd != cmd)
- throw new Error(err_msg);
- return response;
- };
- }
-
- function check_ok(err_msg)
- {
- return check_cmd("OKAY", err_msg);
- }
-
- function paddit(text, width, padding)
- {
- let padlen = width - text.length;
- let padded = "";
-
- for (let i = 0; i < padlen; i++)
- padded += padding;
-
- return padded + text;
- }
-
- function toHex8(num)
- {
- return paddit(num.toString(16), 2, "0");
- }
-
- function toHex16(num)
- {
- return paddit(num.toString(16), 4, "0");
- }
-
- function toHex32(num)
- {
- return paddit(num.toString(16), 8, "0");
- }
-
- function toB64(buffer)
- {
- return btoa(new Uint8Array(buffer).reduce((s, b) => s + String.fromCharCode(b), ""));
- }
-
- function hexdump(view, prefix="")
- {
- let decoder = new TextDecoder();
-
- for (let i = 0; i < view.byteLength; i += 16) {
- let max = (view.byteLength - i) > 16 ? 16 : (view.byteLength - i);
- let row = prefix + toHex16(i) + " ";
- let j;
-
- for (j = 0; j < max; j++)
- row += " " + toHex8(view.getUint8(i + j));
- for (; j < 16; j++)
- row += " ";
-
- row += " | " + decoder.decode(new DataView(view.buffer, i, max));
- console.log(row);
- }
- }
-
- function get_ep_num(endpoints, dir, type = "bulk")
- {
- let e, ep;
- for (e in endpoints)
- if (ep = endpoints[e], ep.direction == dir && ep.type == type)
- return ep.endpointNumber;
- if (Adb.Opt.debug)
- console.log(endpoints);
- throw new Error("Cannot find " + dir + " endpoint");
- }
-
- function encode_cmd(cmd)
- {
- let encoder = new TextEncoder();
- let buffer = encoder.encode(cmd).buffer;
- let view = new DataView(buffer);
- return view.getUint32(0, true);
- }
-
- function decode_cmd(cmd)
- {
- let decoder = new TextDecoder();
- let buffer = new ArrayBuffer(4);
- let view = new DataView(buffer);
- view.setUint32(0, cmd, true);
- return decoder.decode(buffer);
- }
-
- function generate_key()
- {
- let extractable = Adb.Opt.dump;
-
- return crypto.subtle.generateKey({
- name: "RSASSA-PKCS1-v1_5",
- modulusLength: Adb.Opt.key_size,
- publicExponent: new Uint8Array([0x01, 0x00, 0x01]),
- hash: { name: "SHA-1" }
- }, extractable, [ "sign", "verify" ])
- .then(key => {
- if (!Adb.Opt.dump)
- return key;
-
- return privkey_dump(key)
- .then(() => pubkey_dump(key))
- .then(() => key);
- });
- }
-
- function do_auth(adb, keys, key_idx, token, do_auth_response, auth_user_notify)
- {
- let AUTH_SIGNATURE = 2;
- let AUTH_RSAPUBLICKEY = 3;
-
- if (key_idx < keys.length) {
- let slot = keys.length - key_idx - 1;
- let key = keys[slot];
- let seq = Promise.resolve();
-
- if (Adb.Opt.debug)
- console.log("signing with key " + slot + "...");
- if (Adb.Opt.dump) {
- seq = seq.then(() => privkey_dump(key))
- .then(() => pubkey_dump(key))
- .then(() => hexdump(new DataView(token)))
- .then(() => console.log("-----BEGIN TOKEN-----\n" + toB64(token) + "\n-----END TOKEN-----"));
- }
-
- return seq.then(() => crypto.subtle.sign({ name: "RSASSA-PKCS1-v1_5" }, key.privateKey, token))
- .then(signed => {
- if (Adb.Opt.dump)
- console.log("-----BEGIN SIGNATURE-----\n" + toB64(signed) + "\n-----END SIGNATURE-----");
-
- let m = new Adb.Message("AUTH", AUTH_SIGNATURE, 0, signed);
- return m.send_receive(adb).then(do_auth_response);
- });
- }
-
- let seq = null;
- let dirty = false;
-
- if (Adb.Opt.reuse_key !== false) {
- key_idx = Adb.Opt.reuse_key === true ? -1 : Adb.Opt.reuse_key;
-
- if (key_idx < 0)
- key_idx += keys.length;
-
- if (key_idx >= 0 && key_idx < keys.length) {
- if (Adb.Opt.debug)
- console.log("reusing key " + key_idx + "...");
- seq = Promise.resolve(keys[key_idx]);
- }
- }
-
- if (seq === null) {
- if (Adb.Opt.debug)
- console.log("generating key " + key_idx + " (" + Adb.Opt.key_size + " bits)...");
-
- seq = generate_key();
- dirty = true;
- }
-
- return seq.then(key => {
- return crypto.subtle.exportKey("spki", key.publicKey)
- .then(pubkey => {
- let m = new Adb.Message("AUTH", AUTH_RSAPUBLICKEY, 0, toB64(pubkey) + "\0");
- return m.send(adb);
- })
- .then(() => {
- if (Adb.Opt.debug)
- console.log("waiting for user confirmation...");
- if (auth_user_notify != null)
- auth_user_notify(key.publicKey);
- return Adb.Message.receive(adb);
- })
- .then(response => {
- // return response;
- if (response.cmd != "CNXN")
- return response;
- if (!dirty)
- return response;
-
- keys.push(key);
- return db.then(db => store_key(db, key))
- .then(() => response);
- });
- });
- }
-
- function privkey_dump(key)
- {
- if (!key.privateKey.extractable) {
- console.log("cannot dump the private key, it's not extractable");
- return;
- }
-
- return crypto.subtle.exportKey("pkcs8", key.privateKey)
- .then(privkey => console.log("-----BEGIN PRIVATE KEY-----\n" + toB64(privkey) + "\n-----END PRIVATE KEY-----"));
- }
-
- function pubkey_dump(key)
- {
- if (!key.publicKey.extractable) {
- console.log("cannot dump the public key, it's not extractable");
- return;
- }
-
- return crypto.subtle.exportKey("spki", key.publicKey)
- .then(pubkey => console.log("-----BEGIN PUBLIC KEY-----\n" + toB64(pubkey) + "\n-----END PUBLIC KEY-----"));
- }
-
- function read_blob(blob)
- {
- return new Promise(function(resolve, reject) {
- let reader = new FileReader();
- reader.onload = e => resolve(e.target.result);
- reader.onerror = e => reject(e.target.error);
- reader.readAsArrayBuffer(blob);
- });
- }
-
- function promisify(request, onsuccess = "onsuccess", onerror = "onerror")
- {
- return new Promise(function (resolve, reject) {
- request[onsuccess] = event => resolve(event.target.result);
- request[onerror] = event => reject(event.target.errorCode);
- });
- }
-
- function init_db()
- {
- let req = window.indexedDB.open("WebADB", 1);
-
- req.onupgradeneeded = function (event) {
- let db = event.target.result;
-
- if (Adb.Opt.debug)
- console.log("DB: migrating from version " + event.oldVersion + " to " + event.newVersion + "...");
-
- if (db.objectStoreNames.contains('keys')) {
- if (Adb.Opt.debug)
- console.log("DB: deleting old keys...");
-
- db.deleteObjectStore('keys');
- }
-
- db.createObjectStore("keys", { autoIncrement: true });
- };
-
- return promisify(req);
- }
-
- function load_keys(db)
- {
- let transaction = db.transaction("keys");
- let store = transaction.objectStore("keys");
- let cursor = store.openCursor();
- let keys = [];
-
- cursor.onsuccess = function (event) {
- let result = event.target.result;
- if (result != null) {
- keys.push(result.value);
- result.continue();
- }
- };
-
- return promisify(transaction, "oncomplete").then(function (result) {
- if (Adb.Opt.debug)
- console.log("DB: loaded " + keys.length + " keys");
- return keys;
- });
- }
-
- function store_key(db, key)
- {
- let transaction = db.transaction("keys", "readwrite");
- let store = transaction.objectStore('keys');
- let request = store.put(key);
-
- return promisify(request).then(function (result) {
- if (Adb.Opt.debug)
- console.log("DB: stored key " + (result - 1));
- return result;
- });
- }
-
- function clear_keys(db)
- {
- let transaction = db.transaction("keys", "readwrite");
- let store = transaction.objectStore("keys");
- let request = store.clear();
-
- return promisify(request).then(function (result) {
- if (Adb.Opt.debug)
- console.log("DB: removed all the keys");
- return result;
- });
- }
-})();
-
-window.Adb = Adb;
\ No newline at end of file
diff --git a/static/webcomponents-polyfill.js b/static/webcomponents-polyfill.js
deleted file mode 100644
index e37ce27d..00000000
--- a/static/webcomponents-polyfill.js
+++ /dev/null
@@ -1,185 +0,0 @@
-/**
- * @license
- * Copyright (c) 2018 The Polymer Project Authors. All rights reserved.
- * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
- * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
- * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
- * Code distributed by Google as part of the polymer project is also
- * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
- */
-
-(function() {
- 'use strict';
-
- /**
- * Basic flow of the loader process
- *
- * There are 4 flows the loader can take when booting up
- *
- * - Synchronous script, no polyfills needed
- * - wait for `DOMContentLoaded`
- * - fire WCR event, as there could not be any callbacks passed to `waitFor`
- *
- * - Synchronous script, polyfills needed
- * - document.write the polyfill bundle
- * - wait on the `load` event of the bundle to batch Custom Element upgrades
- * - wait for `DOMContentLoaded`
- * - run callbacks passed to `waitFor`
- * - fire WCR event
- *
- * - Asynchronous script, no polyfills needed
- * - wait for `DOMContentLoaded`
- * - run callbacks passed to `waitFor`
- * - fire WCR event
- *
- * - Asynchronous script, polyfills needed
- * - Append the polyfill bundle script
- * - wait for `load` event of the bundle
- * - batch Custom Element Upgrades
- * - run callbacks pass to `waitFor`
- * - fire WCR event
- */
-
- var polyfillsLoaded = false;
- var whenLoadedFns = [];
- var allowUpgrades = false;
- var flushFn;
-
- function fireEvent() {
- window.WebComponents.ready = true;
- document.dispatchEvent(new CustomEvent('WebComponentsReady', { bubbles: true }));
- }
-
- function batchCustomElements() {
- if (window.customElements && customElements.polyfillWrapFlushCallback) {
- customElements.polyfillWrapFlushCallback(function (flushCallback) {
- flushFn = flushCallback;
- if (allowUpgrades) {
- flushFn();
- }
- });
- }
- }
-
- function asyncReady() {
- batchCustomElements();
- ready();
- }
-
- function ready() {
- // bootstrap elements before custom elements
- if (window.HTMLTemplateElement && HTMLTemplateElement.bootstrap) {
- HTMLTemplateElement.bootstrap(window.document);
- }
- polyfillsLoaded = true;
- runWhenLoadedFns().then(fireEvent);
- }
-
- function runWhenLoadedFns() {
- allowUpgrades = false;
- var fnsMap = whenLoadedFns.map(function(fn) {
- return fn instanceof Function ? fn() : fn;
- });
- whenLoadedFns = [];
- return Promise.all(fnsMap).then(function() {
- allowUpgrades = true;
- flushFn && flushFn();
- }).catch(function(err) {
- console.error(err);
- });
- }
-
- window.WebComponents = window.WebComponents || {};
- window.WebComponents.ready = window.WebComponents.ready || false;
- window.WebComponents.waitFor = window.WebComponents.waitFor || function(waitFn) {
- if (!waitFn) {
- return;
- }
- whenLoadedFns.push(waitFn);
- if (polyfillsLoaded) {
- runWhenLoadedFns();
- }
- };
- window.WebComponents._batchCustomElements = batchCustomElements;
-
- var name = 'webcomponents-loader.js';
- // Feature detect which polyfill needs to be imported.
- var polyfills = [];
- if (!('attachShadow' in Element.prototype && 'getRootNode' in Element.prototype) ||
- (window.ShadyDOM && window.ShadyDOM.force)) {
- polyfills.push('sd');
- }
- if (!window.customElements || window.customElements.forcePolyfill) {
- polyfills.push('ce');
- }
-
- var needsTemplate = (function() {
- // no real because no `content` property (IE and older browsers)
- var t = document.createElement('template');
- if (!('content' in t)) {
- return true;
- }
- // broken doc fragment (older Edge)
- if (!(t.content.cloneNode() instanceof DocumentFragment)) {
- return true;
- }
- // broken cloning (Edge up to at least version 17)
- var t2 = document.createElement('template');
- t2.content.appendChild(document.createElement('div'));
- t.content.appendChild(t2);
- var clone = t.cloneNode(true);
- return (clone.content.childNodes.length === 0 ||
- clone.content.firstChild.content.childNodes.length === 0);
- })();
-
- // NOTE: any browser that does not have template or ES6 features
- // must load the full suite of polyfills.
- if (!window.Promise || !Array.from || !window.URL || !window.Symbol || needsTemplate) {
- polyfills = ['sd-ce-pf'];
- }
-
- if (polyfills.length) {
- var url;
- var polyfillFile = 'bundles/webcomponents-' + polyfills.join('-') + '.js';
-
- // Load it from the right place.
- if (window.WebComponents.root) {
- url = window.WebComponents.root + polyfillFile;
- } else {
- var script = document.querySelector('script[src*="' + name +'"]');
- // Load it from the right place.
- url = script.src.replace(name, polyfillFile);
- }
-
- var newScript = document.createElement('script');
- newScript.src = url;
- // if readyState is 'loading', this script is synchronous
- if (document.readyState === 'loading') {
- // make sure custom elements are batched whenever parser gets to the injected script
- newScript.setAttribute('onload', 'window.WebComponents._batchCustomElements()');
- document.write(newScript.outerHTML);
- document.addEventListener('DOMContentLoaded', ready);
- } else {
- newScript.addEventListener('load', function () {
- asyncReady();
- });
- newScript.addEventListener('error', function () {
- throw new Error('Could not load polyfill bundle' + url);
- });
- document.head.appendChild(newScript);
- }
- } else {
- // if readyState is 'complete', script is loaded imperatively on a spec-compliant browser, so just fire WCR
- if (document.readyState === 'complete') {
- polyfillsLoaded = true;
- fireEvent();
- } else {
- // this script may come between DCL and load, so listen for both, and cancel load listener if DCL fires
- window.addEventListener('load', ready);
- window.addEventListener('DOMContentLoaded', function() {
- window.removeEventListener('load', ready);
- ready();
- })
- }
- }
-})();
\ No newline at end of file
diff --git a/static/webfonts/fa-brands-400.eot b/static/webfonts/fa-brands-400.eot
deleted file mode 100644
index e4ccce2d..00000000
Binary files a/static/webfonts/fa-brands-400.eot and /dev/null differ
diff --git a/static/webfonts/fa-brands-400.svg b/static/webfonts/fa-brands-400.svg
deleted file mode 100644
index eb0f26fc..00000000
--- a/static/webfonts/fa-brands-400.svg
+++ /dev/null
@@ -1,3570 +0,0 @@
-
-
-
-
-
-Created by FontForge 20190801 at Tue Feb 4 18:05:39 2020
- By Robert Madole
-Copyright (c) Font Awesome
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/static/webfonts/fa-brands-400.ttf b/static/webfonts/fa-brands-400.ttf
deleted file mode 100644
index 08622a3b..00000000
Binary files a/static/webfonts/fa-brands-400.ttf and /dev/null differ
diff --git a/static/webfonts/fa-brands-400.woff b/static/webfonts/fa-brands-400.woff
deleted file mode 100644
index a43870c2..00000000
Binary files a/static/webfonts/fa-brands-400.woff and /dev/null differ
diff --git a/static/webfonts/fa-brands-400.woff2 b/static/webfonts/fa-brands-400.woff2
deleted file mode 100644
index 3c5189de..00000000
Binary files a/static/webfonts/fa-brands-400.woff2 and /dev/null differ
diff --git a/static/webfonts/fa-regular-400.eot b/static/webfonts/fa-regular-400.eot
deleted file mode 100644
index dbc06a4a..00000000
Binary files a/static/webfonts/fa-regular-400.eot and /dev/null differ
diff --git a/static/webfonts/fa-regular-400.svg b/static/webfonts/fa-regular-400.svg
deleted file mode 100644
index 273a9841..00000000
--- a/static/webfonts/fa-regular-400.svg
+++ /dev/null
@@ -1,803 +0,0 @@
-
-
-
-
-
-Created by FontForge 20190801 at Tue Feb 4 18:05:39 2020
- By Robert Madole
-Copyright (c) Font Awesome
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/static/webfonts/fa-regular-400.ttf b/static/webfonts/fa-regular-400.ttf
deleted file mode 100644
index 4b6fdef6..00000000
Binary files a/static/webfonts/fa-regular-400.ttf and /dev/null differ
diff --git a/static/webfonts/fa-regular-400.woff b/static/webfonts/fa-regular-400.woff
deleted file mode 100644
index f17953a7..00000000
Binary files a/static/webfonts/fa-regular-400.woff and /dev/null differ
diff --git a/static/webfonts/fa-regular-400.woff2 b/static/webfonts/fa-regular-400.woff2
deleted file mode 100644
index 1f796c75..00000000
Binary files a/static/webfonts/fa-regular-400.woff2 and /dev/null differ
diff --git a/static/webfonts/fa-solid-900.eot b/static/webfonts/fa-solid-900.eot
deleted file mode 100644
index 550f8f02..00000000
Binary files a/static/webfonts/fa-solid-900.eot and /dev/null differ
diff --git a/static/webfonts/fa-solid-900.svg b/static/webfonts/fa-solid-900.svg
deleted file mode 100644
index 6933b2b5..00000000
--- a/static/webfonts/fa-solid-900.svg
+++ /dev/null
@@ -1,4700 +0,0 @@
-
-
-
-
-
-Created by FontForge 20190801 at Tue Feb 4 18:05:39 2020
- By Robert Madole
-Copyright (c) Font Awesome
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/static/webfonts/fa-solid-900.ttf b/static/webfonts/fa-solid-900.ttf
deleted file mode 100644
index 9dd8c7fd..00000000
Binary files a/static/webfonts/fa-solid-900.ttf and /dev/null differ
diff --git a/static/webfonts/fa-solid-900.woff b/static/webfonts/fa-solid-900.woff
deleted file mode 100644
index 3c9ef934..00000000
Binary files a/static/webfonts/fa-solid-900.woff and /dev/null differ
diff --git a/static/webfonts/fa-solid-900.woff2 b/static/webfonts/fa-solid-900.woff2
deleted file mode 100644
index ba7507b1..00000000
Binary files a/static/webfonts/fa-solid-900.woff2 and /dev/null differ
diff --git a/store/index.ts b/store/index.ts
deleted file mode 100755
index 4ceb5fe1..00000000
--- a/store/index.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import * as root from './root';
-import * as generator from './modules/generator';
-import * as serviceworker from './modules/serviceworker';
-import * as publish from './modules/publish';
-import * as i18n from './modules/i18n';
-import * as windows from './modules/windows';
-
-// More info about store: https://vuex.vuejs.org/en/core-concepts.html
-// Structure of the store:
- // Types: Types that represent the keys of the mutations to commit
- // State: The information of our app, we can get or update it.
- // Getters: Get complex information from state
- // Action: Sync or async operations that commit mutations
- // Mutations: Modify the state
-
-export const modules = {
- [generator.name]: generator,
- [serviceworker.name]: serviceworker,
- [publish.name]: publish,
- [i18n.name]: i18n,
- [windows.name]: windows
-};
-
-interface ModulesStates {
- generator: generator.State;
- serviceworker: serviceworker.State;
- publish: publish.State;
- i18n: i18n.State;
- windows: windows.State;
-}
-
-export type RootState = root.State & ModulesStates;
-
-export const state = root.state;
-export const getters = root.getters;
-export const actions = root.actions;
-export const mutations = root.mutations;
\ No newline at end of file
diff --git a/store/modules/generator/generator.actions.ts b/store/modules/generator/generator.actions.ts
deleted file mode 100644
index 774fb551..00000000
--- a/store/modules/generator/generator.actions.ts
+++ /dev/null
@@ -1,393 +0,0 @@
-import { ActionTree, ActionContext } from 'vuex';
-import {
- Manifest,
- Icon,
- RelatedApplication,
- CustomMember,
- ColorOptions,
- types,
- helpers,
- State,
-} from '~/store/modules/generator';
-import { RootState } from 'store';
-import { ManifestFetcher } from '~/utils/manifest-fetcher';
-
-const apiUrl = `${process.env.apiUrl}/manifests`;
-const screenshotsUrl = `${process.env.screenshotsUrl}`;
-
-export interface Actions extends ActionTree {
- update(context: ActionContext): void;
- updateManifest(context: ActionContext, manifest: Manifest): void;
- updateLinkFromStorage(context: ActionContext, url: string): void;
- updateLink(context: ActionContext, url: string): void;
- getManifestInformation(context: ActionContext): Promise;
- removeIcon(context: ActionContext, icon: Icon): void;
- resetStates(context: ActionContext): void;
- addIconFromUrl(context: ActionContext, newIconSrc: string): void;
- addScreenshotsFromUrl(
- context: ActionContext,
- urls: string[]
- ): Promise;
- uploadIcon(context: ActionContext, iconFile: File): void;
- generateMissingImages(context: ActionContext, iconFile: File): void;
- addRelatedApplication(
- context: ActionContext,
- payload: RelatedApplication
- ): void;
- removeRelatedApplication(context: ActionContext, id: string): void;
- changePreferRelatedApplication(
- context: ActionContext,
- status: boolean
- ): void;
- addCustomMember(context: ActionContext, payload: CustomMember): void;
- removeCustomMember(context: ActionContext, name: string): void;
- updateColor(context: ActionContext, payload: ColorOptions): void;
-}
-
-export const actions: Actions = {
- async update({ commit, state, rootState }): Promise {
- if (!state.manifestId) {
- if (state.manifest && rootState.generator.manifest) {
- // Fix common issues with the manifest
- if (typeof state.manifest.related_applications === 'string') {
- state.manifest.related_applications = [];
- rootState.generator.manifest.related_applications = [];
- }
-
- if (state.manifest.generated) {
- delete state.manifest.generated;
- delete rootState.generator.manifest.generated;
- }
- }
-
- // Create
- await new ManifestFetcher(state.url!, this.$axios).fetch();
- }
-
- // Update
- const customManifest: any = Object.assign({}, state.manifest);
- state.members.forEach((member) => {
- customManifest[member.name] = member.value;
- });
-
- customManifest['icons'] = [];
-
- state.icons.forEach((icon) => {
- customManifest['icons'].push(Object.assign({}, icon));
- });
-
- customManifest['screenshots'] = [];
-
- if (state.screenshots !== undefined) {
- state.screenshots.forEach((screenshot) => {
- customManifest['screenshots'].push(Object.assign({}, screenshot));
- });
- } else {
- state.screenshots = [];
- }
- if (typeof customManifest.related_applications === 'string') {
- customManifest.related_applications = [];
- }
-
- if (customManifest.generated) {
- delete customManifest.generated;
- }
-
- const result = await this.$axios.$put(
- `${apiUrl}/${state.manifestId}`,
- customManifest
- );
-
- commit(types.UPDATE_WITH_MANIFEST, result);
- commit(types.SET_DEFAULTS_MANIFEST, {
- displays: rootState.displays ? rootState.displays[0].name : '',
- orientations: rootState.orientations
- ? rootState.orientations[0].name
- : '',
- });
- },
-
- updateManifest({ commit, dispatch }, manifest): void {
- commit(types.UPDATE_MANIFEST, manifest);
- dispatch('update');
- },
-
- commitManifest({ commit }, manifest): void {
- commit(types.UPDATE_MANIFEST, manifest);
- },
-
- updateLinkFromStorage({ commit }, url: string): void {
- commit(types.UPDATE_LINK, url);
- },
-
- async updateLink({ commit }, url: string): Promise {
- if (url && !url.startsWith('http')) {
- url = 'https://' + url;
- }
-
- const test = await helpers.isValidUrl(url);
-
- if (
- test.message !== undefined &&
- !url.toLowerCase().startsWith('http://')
- ) {
- throw `${
- test.message
- }: this error means that you may have a bad https cert or the url may not be correct`;
- }
-
- commit(types.UPDATE_LINK, url);
- },
-
- async getManifestInformation({ commit, state, rootState }): Promise {
- if (!state.url) {
- throw 'error.url_empty';
- }
- if (state.manifest && state.manifest.url === state.url) {
- return;
- }
-
- try {
- const manifest: any = state.manifest;
-
- if (manifest && rootState.generator.manifest) {
- // Fix common issues with the manifest
- if (typeof manifest.related_applications === 'string') {
- manifest.related_applications = [];
- rootState.generator.manifest.related_applications = [];
- }
-
- if (manifest.generated) {
- delete manifest.generated;
- delete rootState.generator.manifest.generated;
- }
- }
-
- // Grab the manifest.
- const manifestFetcher = new ManifestFetcher(state.url, this.$axios);
- const result = await manifestFetcher.fetch();
-
- // Convert color if necessary
- result.content.background_color = helpers.fixColorFromServer(result.content.background_color);
-
- // Fix common issues with the manifest
- if (typeof result.content.related_applications === 'string') {
- result.content.related_applications = [];
- }
-
- if (result.content.generated) {
- delete result.content.generated;
- }
-
- result.content.url = state.url;
-
- commit(types.UPDATE_WITH_MANIFEST, result);
- commit(types.SET_DEFAULTS_MANIFEST, {
- displays: rootState.displays ? rootState.displays[0].name : '',
- orientations: rootState.orientations
- ? rootState.orientations[0].name
- : '',
- });
- return;
- } catch (e) {
- if (e.response && e.response.data) {
- let errorMessage = e.response.data
- ? e.response.data.error
- : e.response.data || e.response.statusText;
- throw errorMessage;
- }
-
- throw e;
- }
- },
-
- removeIcon({ commit, state, dispatch }, icon: Icon): void {
- let icons = [...state.icons];
- const index = icons.findIndex((i) => {
- return i.src === icon.src;
- });
-
- if (index > -1) {
- icons.splice(index, 1);
- commit(types.UPDATE_ICONS, icons);
- }
- dispatch('update', { root: true });
- },
-
- removeScreenshot({ commit, state, dispatch }, screenshot: Icon): void {
- let screenshots = [...state.screenshots];
- const index = screenshots.findIndex((i) => {
- return i.src === screenshot.src;
- });
-
- if (index > -1) {
- screenshots.splice(index, 1);
- commit(types.UPDATE_SCREENSHOTS, screenshots);
- }
- dispatch('update', { root: true });
- },
-
- resetStates({ commit }): void {
- commit(types.RESET_STATES);
- },
-
- async addIconFromUrl(
- { commit, state, dispatch },
- newIconSrc: string
- ): Promise {
- let src = newIconSrc;
-
- if (!src) {
- return;
- }
-
- if (src.charAt(0) === '/') {
- src = src.slice(1);
- }
-
- if (!src.includes('http')) {
- let prefix = state.manifest ? state.manifest.start_url : state.url;
- src = (prefix || '') + src;
- }
-
- try {
- const sizes = await helpers.getImageIconSize(src);
- commit(types.ADD_ICON, { src, sizes: `${sizes.width}x${sizes.height}` });
- dispatch('update');
- } catch (e) {
- throw e;
- }
- },
-
- async uploadIcon({ commit, dispatch }, iconFile: File): Promise {
- const dataUri: string = await helpers.getImageDataURI(iconFile);
- const sizes = await helpers.getImageIconSize(dataUri);
- commit(types.ADD_ICON, {
- src: dataUri,
- sizes: `${sizes.width}x${sizes.height}`,
- fileName: iconFile.name,
- });
-
- dispatch('update');
- },
-
- async isValidUrls({ }, urls: string[]) {
- var invalidUrls: string[] = [];
- for (var i = 0; i < urls.length; i++) {
- const test = await helpers.isValidScreenshotUrl(urls[i]);
- if (!test) invalidUrls.push(urls[i]);
- }
- console.log(invalidUrls);
- return invalidUrls;
- },
-
- async addScreenshotsFromUrl(
- { commit, state, dispatch },
- urls: string[]
- ): Promise {
- //fetch screenshots from each URL
- // receive screenshots and add src to manifest
- console.log(urls);
- console.log();
- await fetch(screenshotsUrl + '/screenshotsAsBase64Strings', {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- },
- body: JSON.stringify({
- url: urls,
- }),
- }).then((res) => {
- res.json().then((jsonData) => {
- console.log(jsonData.images);
- this.$axios
- .$post(
- `${apiUrl}/${state.manifestId}/generateMissingScreenshots`,
- jsonData.images
- )
- .then((result) => {
- console.log('Result');
- console.log(result);
- commit(types.OVERWRITE_MANIFEST, result);
- commit(types.ADD_ASSETS, result.assets);
- dispatch('update');
- });
- });
- });
- },
- async generateMissingImages(
- { commit, state, dispatch },
- iconFile: File
- ): Promise {
- let formData = new FormData();
- formData.append('file', iconFile);
-
- const result = await this.$axios.$post(
- `${apiUrl}/${state.manifestId}/generatemissingimages`,
- formData
- );
-
- commit(types.OVERWRITE_MANIFEST, result);
- commit(types.ADD_ASSETS, result.assets);
- dispatch('update');
- },
-
- addRelatedApplication(
- { commit, dispatch },
- payload: RelatedApplication
- ): void {
- const errors = helpers.hasRelatedApplicationErrors(payload);
-
- if (errors) {
- throw errors;
- }
-
- commit(types.ADD_RELATED_APPLICATION, payload);
- dispatch('update');
- },
-
- removeRelatedApplication({ commit, dispatch }, id: string): void {
- commit(types.REMOVE_RELATED_APPLICATION, id);
- dispatch('update');
- },
-
- // @ts-ignore TS6133
- changePreferRelatedApplication({ commit, dispatch }, status: boolean): void {
- commit(types.UPDATE_PREFER_RELATED_APPLICATION, status);
- dispatch('update');
- },
-
- addCustomMember({ commit, state, dispatch }, payload: CustomMember): void {
- if (state.members.find((member) => member.name === payload.name)) {
- throw 'error.custom_value';
- }
-
- if (!payload.name.includes('_')) {
- payload.name = helpers.MEMBER_PREFIX + payload.name;
- }
-
- try {
- payload.value = JSON.parse(payload.value);
- commit(types.ADD_CUSTOM_MEMBER, payload);
- dispatch('update');
- } catch (e) {
- throw 'error.parsing_value';
- }
- },
-
- removeCustomMember({ commit, dispatch }, name: string): void {
- commit(types.REMOVE_CUSTOM_MEMBER, name);
- dispatch('update');
- },
-
- updateColor({ commit, dispatch }, payload: ColorOptions): void {
- let color = payload.colorOption;
-
- if (color === helpers.COLOR_OPTIONS.pick) {
- color = payload.color;
- }
-
- commit(types.UPDATE_COLOR, color);
- dispatch('update');
- },
-};
diff --git a/store/modules/generator/generator.getters.ts b/store/modules/generator/generator.getters.ts
deleted file mode 100644
index 5e9ad02e..00000000
--- a/store/modules/generator/generator.getters.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { GetterTree } from 'vuex';
-import { RootState } from 'store';
-import { State, helpers } from '~/store/modules/generator';
-
-export const getters: GetterTree = {
- suggestionsTotal: (state: State): number => {
- return helpers.sumIssues(state.suggestions);
-
- },
-
- warningsTotal: (state: State): number => {
- return helpers.sumIssues(state.warnings);
- }
-};
\ No newline at end of file
diff --git a/store/modules/generator/generator.helpers.ts b/store/modules/generator/generator.helpers.ts
deleted file mode 100644
index 5ef7f70a..00000000
--- a/store/modules/generator/generator.helpers.ts
+++ /dev/null
@@ -1,133 +0,0 @@
-import colorConverter from '~/utils/color-converter';
-import { Icon, RelatedApplication, CodeError } from '~/store/modules/generator';
-
-export const helpers = {
- MEMBER_PREFIX: 'mjs_',
- COLOR_OPTIONS: {
- none: 'none',
- transparent: 'transparent',
- pick: 'pick',
- },
-
- async isValidUrl(siteUrl: string): Promise {
- /*try {
- return await fetch(siteUrl, {
- mode: 'no-cors'
- });
-
- // return /^(http|https):\/\/[^ "]+$/.test(siteUrl);
- }
- catch(err) {
- console.error('error in helper', err, err.message);
- return err;
- }*/
-
- try {
- return await fetch(siteUrl, {
- mode: 'no-cors',
- credentials: 'include',
- });
- } catch (err) {
- return err;
- }
- },
-
- async isValidScreenshotUrl(siteUrl: string): Promise {
- console.log('SiteURL', siteUrl);
- try {
- var response = await fetch(siteUrl, {
- mode: 'no-cors',
- credentials: 'include',
- });
- if (response.status > 400) return false;
- else return true;
- } catch (err) {
- return false;
- }
- },
- getImageIconSize(aSrc: string): Promise<{ width: number; height: number }> {
- return new Promise((resolve) => {
- if (typeof document === 'undefined') {
- resolve({ width: -1, height: -1 });
- }
-
- let tmpImg = document.createElement('img');
- tmpImg.onload = () => {
- resolve({
- width: tmpImg.width,
- height: tmpImg.height,
- });
- };
-
- tmpImg.src = aSrc;
- });
- },
-
- prepareIconsUrls(icons: Icon[], baseUrl: string) {
- return icons.map((icon) => {
- if (!icon.src.includes('http') && !icon.src.includes('data:image')) {
- // Create an absolute path to the icon.
- // Developer note: changing this code? Make sure it works for images on the following URLs:
- // - Analyzed URL https://www.sensoryapphouse.com/abstract4-pwa-xbox/index.html -> valid image https://www.sensoryapphouse.com/abstract4-pwa-xbox/images/abstract-512.png
- icon.src = new URL(icon.src, baseUrl).href;
-
- //remove posible trailing/leading slashes
- icon.src = `${icon.src.replace(/^\/+/g, '')}`;
- }
- return icon;
- });
- },
-
- async getImageDataURI(file: File): Promise {
- return new Promise((resolve) => {
- const reader = new FileReader();
-
- reader.onload = (aImg: any) => {
- const result: string = aImg.target.result;
- resolve(result);
- };
-
- reader.readAsDataURL(file);
- });
- },
-
- hasRelatedApplicationErrors(app: RelatedApplication): string | undefined {
- if (!app.platform) {
- return 'error.enter_platform';
- }
-
- if (!app.url && !app.id) {
- return 'error.enter_url';
- }
-
- const urlRegExpr = /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.?[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi;
- if (app.url && !urlRegExpr.test(app.url)) {
- return 'error.enter_valid_url';
- }
-
- return;
- },
-
- fixColorFromServer(color: string | null): string {
- if (!color) {
- return '';
- }
-
- return '#' + colorConverter.toHexadecimal(color).slice(4, 10);
- },
-
- sumIssues(errors: CodeError[] | null): number {
- if (!errors) {
- return 0;
- }
-
- let total = 0;
- errors.forEach((error) => {
- if (error.issues && error.issues.length) {
- total += error.issues.length;
- }
- });
-
- return total;
- },
-};
diff --git a/store/modules/generator/generator.mutations.ts b/store/modules/generator/generator.mutations.ts
deleted file mode 100644
index a7cea938..00000000
--- a/store/modules/generator/generator.mutations.ts
+++ /dev/null
@@ -1,243 +0,0 @@
-import { MutationTree } from "vuex";
-import {
- types,
- Manifest,
- helpers,
- Icon,
- Asset,
- RelatedApplication,
- CustomMember,
- State,
-} from "~/store/modules/generator";
-
-export const mutations: MutationTree = {
- [types.UPDATE_LINK](state, url: string): void {
- state.url = url;
- },
-
- [types.UPDATE_MANIFEST](state, manifest: Manifest): void {
- if (manifest.generated) {
- delete manifest.generated;
- }
-
- if (typeof manifest.related_applications === "string") {
- manifest.related_applications = [];
- }
-
- state.manifest = manifest;
- },
-
- [types.UPDATE_WITH_MANIFEST](state, result): void {
- /*if (result.content.generated) {
- delete result.content.generated;
- }*/
-
- if (typeof result.content.related_applications === "string") {
- result.content.related_applications = [];
- }
-
- state.manifest = result.content;
- state.manifestUrl = result.generatedUrl;
- state.manifestId = result.id;
- state.siteServiceWorkers = result.siteServiceWorkers;
- if (result && result.content) {
- // Set icons
- if (result.content.icons) {
- var generatedIcons =
- result.generated &&
- result.content.icons &&
- result.content.icons.length > 0;
- if (result.generatedUrl || generatedIcons) {
- state.icons =
- (
- helpers.prepareIconsUrls(
- result.content.icons,
- result.generatedUrl
- )
- ) || [];
- } else {
- state.icons =
- (
- helpers.prepareIconsUrls(
- [],
- state.manifest && state.manifest.start_url
- ? state.manifest.start_url
- : ""
- )
- ) || [];
- }
- }
-
- // Set screenshots
- if (result.content.screenshots) {
- var generatedScreenshots =
- result.generated &&
- result.content.icons &&
- result.content.icons.length > 0;
- if (result.generatedUrl || generatedScreenshots) {
- state.screenshots =
- helpers.prepareIconsUrls(
- result.content.screenshots,
- result.generatedUrl
- ) || [];
- } else {
- state.screenshots =
- helpers.prepareIconsUrls(
- [],
- state.manifest && state.manifest.start_url
- ? state.manifest.start_url
- : ""
- ) || [];
- }
- }
-
- // Set shortcuts
- state.shortcuts = result.content.shortcuts || [];
- }
-
- state.suggestions = result.suggestions;
- state.warnings = result.warnings;
- state.errors = result.errors;
- state.generated = result.generated ? result.generated : false;
- },
-
- [types.OVERWRITE_MANIFEST](state, result): void {
- console.log("Inside state", result.content.screenshots);
- if (result.content.generated) {
- delete result.content.generated;
- }
-
- if (typeof result.content.related_applications === "string") {
- result.content.related_applications = [];
- }
-
- state.manifest = result.content;
- state.manifestUrl = result.generatedUrl;
- state.icons = result.content.icons;
- state.screenshots = result.content.screenshots;
- },
-
- [types.SET_DEFAULTS_MANIFEST](state, payload): void {
- if (!state.manifest) {
- return;
- }
-
- // fix some common issues with manifest
- if (state.manifest.generated) {
- delete state.manifest.generated;
- }
-
- if (typeof state.manifest.related_applications === "string") {
- state.manifest.related_applications = [];
- }
-
- state.manifest.lang = state.manifest.lang || "";
- state.manifest.display = state.manifest.display || payload.defaultDisplay;
- state.manifest.orientation =
- state.manifest.orientation || payload.defaultOrientation;
- state.manifest.generated = state.generated || payload.generated;
- state.icons = state.icons || payload.icons;
- },
-
- [types.UPDATE_ICONS](state, icons: Icon[]): void {
- state.icons = icons;
- },
-
- [types.UPDATE_SCREENSHOTS](state, screenshots: Screenshot[]): void {
- state.screenshots = screenshots;
- },
-
- [types.ADD_ASSETS](state, assets: Asset[]): void {
- state.assets = assets;
- },
-
- [types.ADD_ICON](state, icon: Icon): void {
- state.icons.push(icon);
- },
-
- [types.ADD_SCREENSHOT](state, screenshot: Screenshot): void {
- state.screenshots.push(screenshot);
- },
-
- [types.RESET_STATES](state): void {
- state.url = null;
- state.manifest = null;
- state.manifestUrl = null;
- state.manifestId = null;
- state.siteServiceWorkers = null;
- state.icons = [];
- state.suggestions = null;
- state.warnings = null;
- state.errors = null;
- },
-
- [types.ADD_RELATED_APPLICATION](state, payload: RelatedApplication): void {
- if (!state.manifest || !state.manifest.related_applications) {
- return;
- }
-
- state.manifest.related_applications =
- state.manifest.related_applications || [];
-
- state.manifest.related_applications.push(payload);
- },
-
- [types.REMOVE_RELATED_APPLICATION](state, id: string): void {
- if (!state.manifest || !state.manifest.related_applications) {
- return;
- }
-
- state.manifest.related_applications =
- state.manifest.related_applications || [];
-
- const index = state.manifest.related_applications.findIndex((app) => {
- return app.id === id;
- });
-
- if (index < 0) {
- return;
- }
-
- state.manifest.related_applications.splice(index, 1);
- },
-
- [types.UPDATE_PREFER_RELATED_APPLICATION](state, status: boolean): void {
- if (!state.manifest) {
- return;
- }
-
- state.manifest.prefer_related_applications = status;
- },
-
- [types.ADD_CUSTOM_MEMBER](state, payload: CustomMember): void {
- if (!state.members) {
- return;
- }
-
- state.members.push(payload);
- },
-
- [types.REMOVE_CUSTOM_MEMBER](state, name: string): void {
- if (!state.members) {
- return;
- }
-
- const index = state.members.findIndex((member) => {
- return member.name === name;
- });
-
- if (index < 0) {
- return;
- }
-
- state.members.splice(index, 1);
- },
-
- [types.UPDATE_COLOR](state, color: string): void {
- if (!state.manifest) {
- return;
- }
-
- state.manifest.background_color = color;
- },
-};
diff --git a/store/modules/generator/generator.state.ts b/store/modules/generator/generator.state.ts
deleted file mode 100644
index d76c5c22..00000000
--- a/store/modules/generator/generator.state.ts
+++ /dev/null
@@ -1,130 +0,0 @@
-export interface Manifest {
- background_color: string | null;
- description: string | null;
- dir: string | null;
- display: string;
- lang: string | null;
- name: string | null;
- orientation?: string | null;
- prefer_related_applications?: boolean;
- related_applications?: RelatedApplication[];
- scope: string | null;
- short_name: string | null;
- start_url: string | null;
- theme_color: string | null;
- generated?: boolean | null;
- url: string | null;
- shortcuts?: ShortcutItem[];
- categories?: string[];
- screenshots?: Icon[];
- iarc_rating_id?: string;
- icons?: Icon[];
-}
-
-export interface ShortcutItem {
- name: string;
- url: string;
- description?: string;
- short_name?: string;
- icons?: Icon[];
-}
-
-export interface Fingerprint {
- type: string;
- value: string;
-}
-
-export interface StaticContent {
- code: string;
- name: string;
-}
-
-export interface Icon {
- src: string;
- generated?: boolean;
- type?: string;
- sizes?: string;
- purpose?: "any" | "maskable" | "monochrome";
- platform?: string;
-}
-
-export interface Asset {
- filename: string;
- data: Blob;
-}
-
-export interface RelatedApplication {
- platform: string;
- url?: string | null;
- id?: string | null;
- min_version?: string | null;
- fingerprints?: Fingerprint[];
-}
-
-export interface CustomMember {
- name: string;
- value: string;
-}
-
-export interface ColorOptions {
- colorOption: string;
- color: string;
-}
-
-export interface CodeIssue {
- code: string;
- description: string;
- platform: string;
-}
-
-export interface CodeError {
- member: string;
- issues: CodeIssue[];
-}
-
-export interface State {
- url: string | null;
- manifest: Manifest | null;
- manifestUrl: string | null;
- manifestId: string | null;
- siteServiceWorkers: any;
- icons: Icon[];
- screenshots: Icon[];
- shortcuts: ShortcutItem[];
- members: CustomMember[];
- suggestions: CodeError[] | null;
- warnings: CodeError[] | null;
- errors: string[] | null;
- assets: Asset[] | null;
- generated: boolean | null;
-}
-
-export const state = (): State => ({
- url: null,
- manifest: null,
- manifestUrl: null,
- manifestId: null,
- siteServiceWorkers: null,
- icons: [],
- screenshots: [],
- shortcuts: [],
- members: [],
- suggestions: null,
- warnings: null,
- errors: null,
- assets: null,
- generated: null,
-});
-
-export interface ManifestDetectionResult {
- content: Manifest,
- format: "w3c" | "chromeos" | "edgeextension" | "windows10" | "firefox",
- generatedUrl: string,
- default: {
- short_name: string
- },
- id: string,
- errors: [],
- suggestions: [],
- warnings: []
-}
\ No newline at end of file
diff --git a/store/modules/generator/generator.types.ts b/store/modules/generator/generator.types.ts
deleted file mode 100644
index e74dbbe3..00000000
--- a/store/modules/generator/generator.types.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-export const types = {
- SET_LANGUAGES: 'SET_LANGUAGES',
- SET_DISPLAYS: 'SET_DISPLAYS',
- SET_ORIENTATIONS: 'SET_ORIENTATIONS',
- UPDATE_LINK: 'UPDATE_LINK',
- UPDATE_WITH_MANIFEST: 'UPDATE_WITH_MANIFEST',
- UPDATE_MANIFEST: 'UPDATE_MANIFEST',
- OVERWRITE_MANIFEST: 'OVERRIDE_MANIFEST',
- SET_DEFAULTS_MANIFEST: 'SET_DEFAULTS_MANIFEST',
- UPDATE_ICONS: 'UPDATE_ICONS',
- ADD_ICON: 'ADD_ICON',
- ADD_SCREENSHOT: 'ADD_SCREENSHOT',
- UPDATE_SCREENSHOTS: 'UPDATE_SCREENSHOTS',
- ADD_ASSETS: 'ADD_ASSETS',
- RESET_STATES: 'RESET_STATES',
- ADD_RELATED_APPLICATION: 'ADD_RELATED_APPLICATION',
- REMOVE_RELATED_APPLICATION: 'REMOVE_RELATED_APPLICATION',
- UPDATE_PREFER_RELATED_APPLICATION: 'UPDATE_PREFER_RELATED_APPLICATION',
- ADD_CUSTOM_MEMBER: 'ADD_CUSTOM_MEMBER',
- REMOVE_CUSTOM_MEMBER: 'REMOVE_CUSTOM_MEMBER',
- UPDATE_COLOR: 'UPDATE_COLOR',
-};
diff --git a/store/modules/generator/index.ts b/store/modules/generator/index.ts
deleted file mode 100644
index fbdad2d4..00000000
--- a/store/modules/generator/index.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-export const name = 'generator';
-export * from './generator.state';
-export * from './generator.actions';
-export * from './generator.types';
-export * from './generator.getters';
-export * from './generator.helpers';
-export * from './generator.mutations';
diff --git a/store/modules/i18n.ts b/store/modules/i18n.ts
deleted file mode 100644
index 869e6804..00000000
--- a/store/modules/i18n.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { ActionTree, MutationTree, GetterTree } from 'vuex';
-import { RootState } from 'store';
-
-export const name = 'i18n';
-
-export const types = {
- SET: 'SET'
-};
-
-export interface State {
- locales: string[];
- locale: string;
-}
-
-export const state = (): State => ({
- locales: ['en', 'es'],
- locale: 'en'
-});
-
-export const getters: GetterTree = {};
-
-export interface Actions extends ActionTree {}
-
-export const actions: Actions = {};
-
-export const mutations: MutationTree = {
- [types.SET](state, locale) {
- if (state.locales.indexOf(locale) !== -1) {
- state.locale = locale;
- }
- }
-};
-
diff --git a/store/modules/publish.ts b/store/modules/publish.ts
deleted file mode 100644
index 7af9fa53..00000000
--- a/store/modules/publish.ts
+++ /dev/null
@@ -1,262 +0,0 @@
-import { ActionTree, MutationTree, GetterTree, ActionContext } from 'vuex';
-import { RootState } from 'store';
-import { Manifest, ShortcutItem } from './generator';
-
-const apiUrl = `${process.env.apiUrl}/manifests`;
-const platforms = {
- web: 'web',
- windows10: 'windows10',
- windows: 'windows',
- ios: 'ios',
- android: 'android',
- androidTWA: 'android-twa',
- samsung: 'samsung',
- msteams: 'msteams',
- all: 'All'
-};
-
-export const name = 'publish';
-
-export const types = {
- UPDATE_STATUS: 'UPDATE_STATUS',
- UPDATE_ARCHIVELINK: 'UPDATE_ARCHIVELINK',
- UPDATE_APPXLINK: 'UPDATE_APPXLINK',
- UPDATE_DOWNLOAD_DISABLED: "UPDATE_DOWNLOAD_DISABLED"
-};
-
-export interface State {
- status: boolean | null;
- archiveLink: string | null;
- appXLink: string | null;
- downloadDisabled: boolean;
-}
-
-export interface AppxParams {
- publisher: string | null;
- publisher_id: string | null;
- package: string | null;
- version: string | null;
-}
-
-/**
- * Settings for the Windows Package generation. This is the raw data passed to the Edge Package service.
- * Should match server interface: https://github.com/pwa-builder/pwabuilder-windows-chromium/blob/master/Models/WindowsAppPackageOptions.cs
- */
-
-export interface WindowsPackageOptions {
- name: string;
- packageId: string;
- url: string;
- version: string;
- allowSigning?: boolean;
- edgeChannel?: "stable" | "beta" | "dev" | "canary" | "internal";
- edgeLaunchArgs?: string;
- appUserModelId?: string;
- generateModernPackage?: boolean;
- manifestUrl?: string;
- manifest?: Manifest;
- classicPackage?: {
- generate?: boolean;
- version?: string;
- url?: string;
- },
- edgeHtmlPackage?: {
- generate?: boolean;
- version?: string;
- url?: string;
- urlsWithWindowsRuntimeAccess?: string[];
- }
- images?: WindowsImageOptions;
- publisher: WindowsPublisherOptions;
-}
-
-/**
- * Publisher options for the Windows Package generation.
- */
-export interface WindowsPublisherOptions {
- displayName: string;
- commonName: string;
-}
-
-/**
- * Images to use for a Windows PWA. Should match server implementation: https://github.com/pwa-builder/pwabuilder-windows-chromium/blob/master/Models/WindowsImages.cs
- */
-export interface WindowsImageOptions {
- baseImage: string | null;
- backgroundColor?: string;
- padding?: number;
-}
-
-/**
- * Settings for the Android APK generation. This is the raw data passed to the CloudApk service.
- * It should match the CloudApk service's AndroidPackageOptions interface: https://github.com/pwa-builder/CloudAPK/blob/master/build/androidPackageOptions.ts
- */
-export interface AndroidApkOptions {
- appVersion: string;
- appVersionCode: number;
- backgroundColor: string;
- display: "standalone" | "fullscreen";
- enableNotifications: boolean;
- enableSiteSettingsShortcut: boolean;
- fallbackType: "customtabs" | "webview";
- features?: {
- appsFlyer?: unknown;
- }
- host: string;
- iconUrl: string;
- includeSourceCode: boolean;
- isChromeOSOnly: boolean;
- launcherName: string;
- maskableIconUrl: string | null;
- monochromeIconUrl: string | null;
- name: string;
- navigationColor: string;
- navigationColorDark: string;
- navigationDividerColor: string;
- navigationDividerColorDark: string;
- packageId: string;
- shortcuts: ShortcutItem[];
- signing: AndroidSigningOptions | null;
- signingMode: "new" | "none" | "mine";
- splashScreenFadeOutDuration: number;
- startUrl: string;
- themeColor: string;
- webManifestUrl: string;
-}
-
-/**
- * Signing options for Android APK generation. This is sent to the Cloud APK service as part of AndroidApkOptions.
- * It should generally match the CloudApk service's SigningOptions interface: https://github.com/pwa-builder/CloudAPK/blob/master/build/signingOptions.ts
- */
-export interface AndroidSigningOptions {
- /**
- * The base64 encoded contents of the Android .keystore file.
- * This can be null when signing mode is "none" or "new".
- */
- file: string | null;
- alias: string;
- fullName: string;
- organization: string;
- organizationalUnit: string;
- countryCode: string;
- keyPassword: string;
- storePassword: string;
-}
-
-export interface TeamsParams {
- publisherName: string | null;
- shortDescription: string | null;
- longDescription: string | null;
- privacyUrl: string | null;
- termsOfUseUrl: string | null;
- colorImageFile: File | null;
- outlineImageFile: File | null;
-}
-
-export const state = (): State => ({
- status: null,
- archiveLink: null,
- appXLink: null,
- downloadDisabled: false
-});
-
-export const getters: GetterTree = {};
-
-export interface Actions extends ActionTree {
- resetAppData(context: ActionContext): void;
- updateStatus(context: ActionContext): void;
- build(context: ActionContext, params: { platform: string, href: string, options?: string[] }): Promise;
- buildTeams(context: ActionContext, params: { href: string, options?: string[] }): Promise;
- disableDownloadButton(context: ActionContext): Promise;
- enableDownloadButton(context: ActionContext): Promise;
-}
-
-export const actions: Actions = {
-
- resetAppData({ dispatch }): void {
- dispatch('generator/resetStates', undefined, { root: true });
- dispatch('serviceworker/resetStates', undefined, { root: true });
- },
-
- updateStatus({ commit, rootState }): void {
- let status = !!rootState.generator['url'];
- commit(types.UPDATE_STATUS, status);
- },
-
- async build({ commit, rootState }, params: { platform: string, href: string, options?: string[] }): Promise {
- return new Promise(async (resolve, reject) => {
- const manifestId = rootState.generator.manifestId;
- const serviceworker = rootState.serviceworker.serviceworker;
-
- if (!manifestId || !serviceworker) {
- reject('error.manifest_required');
- }
-
- if (!params || !params.platform) {
- reject('error.platform_required');
- }
-
- let platformsList: string[] = [];
- if (params.platform === platforms.all) {
- platformsList = [platforms.web, platforms.windows10, platforms.windows, platforms.ios, platforms.android, platforms.androidTWA, platforms.samsung, platforms.msteams];
- } else {
- platformsList = [params.platform];
- }
-
- try {
- const options = { platforms: platformsList, dirSuffix: params.platform, parameters: params.options };
- const result = await this.$axios.$post(`${apiUrl}/${manifestId}/build?ids=${serviceworker}&href=${params.href}
- `, options);
- commit(types.UPDATE_ARCHIVELINK, result.archive);
- resolve();
- } catch (e) {
- let errorMessage = e.response.data ? e.response.data.error : e.response.data || e.response.statusText;
-
- reject(errorMessage);
- }
- });
- },
-
- async buildTeams({ dispatch, rootState }, params: { href: string, options?: string[] }): Promise {
- return new Promise(async (resolve, reject) => {
- const manifestId = rootState.generator.manifestId;
-
- if (!manifestId) {
- reject('error.manifest_required');
- }
-
- const { publisherName, longDescription, shortDescription, privacyUrl, termsOfUseUrl, colorImageFile }: TeamsParams = JSON.parse(params.options ? params.options[0] : "{}");
- if (!publisherName || !longDescription || !shortDescription || !privacyUrl || !termsOfUseUrl || !colorImageFile) {
- reject('error.fields_required');
- }
-
- resolve();
- }).then(() => {
- return dispatch("build", { platform: platforms.msteams, href: params.href, options: params.options });
- })
- },
-
- async disableDownloadButton({ commit }): Promise {
- commit(types.UPDATE_DOWNLOAD_DISABLED, true);
- },
-
- async enableDownloadButton({ commit }): Promise {
- commit(types.UPDATE_DOWNLOAD_DISABLED, false);
- }
-};
-
-export const mutations: MutationTree = {
- [types.UPDATE_STATUS](state, status: boolean): void {
- state.status = status;
- },
- [types.UPDATE_ARCHIVELINK](state, url: string): void {
- state.archiveLink = url;
- },
- [types.UPDATE_APPXLINK](state, url: string): void {
- state.appXLink = url;
- },
- [types.UPDATE_DOWNLOAD_DISABLED](state, disabled: boolean): void {
- state.downloadDisabled = disabled;
- }
-};
-
diff --git a/store/modules/serviceworker/index.ts b/store/modules/serviceworker/index.ts
deleted file mode 100644
index 3e889ef7..00000000
--- a/store/modules/serviceworker/index.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export const name = 'serviceworker';
-export * from './serviceworker.state';
-export * from './serviceworker.actions';
-export * from './serviceworker.types';
-export * from './serviceworker.mutations';
\ No newline at end of file
diff --git a/store/modules/serviceworker/serviceworker.actions.ts b/store/modules/serviceworker/serviceworker.actions.ts
deleted file mode 100644
index ab081345..00000000
--- a/store/modules/serviceworker/serviceworker.actions.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-import { ActionTree, ActionContext } from 'vuex';
-import { State, types } from '~/store/modules/serviceworker';
-import { RootState } from 'store';
-
-const apiUrl = `${process.env.apiUrl}/serviceworkers`;
-
-
-export interface Actions extends ActionTree {
- downloadServiceWorker(context: ActionContext, serviceWorkerId: number): Promise;
- getCode(context: ActionContext, serviceworker: number): Promise;
- getServiceworkers(context: ActionContext): Promise;
- resetStates(context: ActionContext): void;
-}
-
-export const actions: Actions = {
- async downloadServiceWorker({ commit }, serviceworker: number): Promise {
- return new Promise(async (resolve, reject) => {
- if (!serviceworker) {
- reject('error.serviceworker_not_defined');
- }
-
- commit(types.UPDATE_SERVICEWORKER, serviceworker);
-
- try {
- const result = await this.$axios.$get(`${apiUrl}?ids=${serviceworker}`);
- commit(types.UPDATE_ARCHIVE, result.archive);
- resolve();
- } catch (e) {
- let errorMessage = e.response.data ? e.response.data.error : e.response.data || e.response.statusText;
- reject(errorMessage);
- }
- });
- },
- async getCode({ commit }, serviceworker: number): Promise {
- return new Promise(async (resolve, reject) => {
- if (!serviceworker) {
- reject('error.serviceworker_not_defined');
- }
- try {
- const result = await this.$axios.$get(`${apiUrl}/previewcode?ids=${serviceworker}`);
- commit(types.UPDATE_SERVICEWORKERPREVIEW, result.serviceWorker);
- commit(types.UPDATE_WEBPREVIEW, result.webSite);
- commit(types.UPDATE_SERVICEWORKER, serviceworker);
- resolve();
- } catch (e) {
- let errorMessage = e.response.data ? e.response.data.error : e.response.data || e.response.statusText;
- reject(errorMessage);
- }
- });
- },
- async getServiceworkers({ commit }): Promise {
- return new Promise(async (resolve, reject) => {
- try {
- await this.$axios.$get(`${apiUrl}/getServiceWorkersDescription`).then(data => {
- commit(types.UPDATE_SERVICEWORKERS, data.serviceworkers);
- resolve();
- });
- }
- catch (e) {
- let errorMessage = e.response.data ? e.response.data.error : e.response.data || e.response.statusText;
- reject(errorMessage);
- }
- });
- },
- resetStates({ commit }): void {
- commit(types.RESET_STATES);
- }
-};
\ No newline at end of file
diff --git a/store/modules/serviceworker/serviceworker.mutations.ts b/store/modules/serviceworker/serviceworker.mutations.ts
deleted file mode 100644
index f615f57f..00000000
--- a/store/modules/serviceworker/serviceworker.mutations.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { MutationTree } from 'vuex';
-import { State, ServiceWorker, types } from '~/store/modules/serviceworker';
-
-export const mutations: MutationTree = {
- [types.UPDATE_SERVICEWORKERS](state, serviceworkers: Array): void {
- state.serviceworkers = serviceworkers;
- },
- [types.UPDATE_ARCHIVE](state, archive: string): void {
- state.archive = archive;
- },
- [types.UPDATE_SERVICEWORKER](state, serviceworker: number): void {
- state.serviceworker = serviceworker;
- },
- [types.UPDATE_SERVICEWORKERPREVIEW](state, code: string): void {
- state.serviceworkerPreview = code;
- },
- [types.UPDATE_WEBPREVIEW](state, code: string): void {
- state.webPreview = code;
- },
- [types.RESET_STATES](state): void {
- state.archive = null;
- state.serviceworker = 1;
- }
-};
\ No newline at end of file
diff --git a/store/modules/serviceworker/serviceworker.state.ts b/store/modules/serviceworker/serviceworker.state.ts
deleted file mode 100644
index b0386034..00000000
--- a/store/modules/serviceworker/serviceworker.state.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-export interface ServiceWorker {
- id: number;
- serviceworkerPreview: string | null;
- webPreview: string | null;
- description: string | null;
- title: string | null;
- disable: boolean | false;
-}
-
-export interface State {
- archive: string | null;
- serviceworker: number;
- serviceworkerPreview: string | null;
- webPreview: string | null;
- serviceworkers: ServiceWorker[];
-}
-
-export const state = (): State => ({
- archive: null,
- serviceworker: 1,
- serviceworkerPreview: null,
- webPreview: null,
- serviceworkers: []
-});
diff --git a/store/modules/serviceworker/serviceworker.types.ts b/store/modules/serviceworker/serviceworker.types.ts
deleted file mode 100644
index 28f77974..00000000
--- a/store/modules/serviceworker/serviceworker.types.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-export const types = {
- UPDATE_ARCHIVE: 'UPDATE_ARCHIVE',
- UPDATE_SERVICEWORKER: 'UPDATE_SERVICEWORKER',
- UPDATE_SERVICEWORKERPREVIEW: 'UPDATE_SERVICEWORKERPREVIEW',
- UPDATE_WEBPREVIEW: 'UPDATE_WEBPREVIEW',
- RESET_STATES: 'RESET_STATES',
- UPDATE_SERVICEWORKERS: 'UPDATE_SERVICEWORKERS'
-};
\ No newline at end of file
diff --git a/store/modules/windows/index.ts b/store/modules/windows/index.ts
deleted file mode 100644
index 4c27fc46..00000000
--- a/store/modules/windows/index.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export const name = 'windows';
-export * from './windows.state';
-export * from './windows.actions';
-export * from './windows.types';
-export * from './windows.mutations';
\ No newline at end of file
diff --git a/store/modules/windows/windows.actions.ts b/store/modules/windows/windows.actions.ts
deleted file mode 100644
index 449fe981..00000000
--- a/store/modules/windows/windows.actions.ts
+++ /dev/null
@@ -1,163 +0,0 @@
-import { ActionTree, ActionContext } from 'vuex';
-import { State, Parm, Sample, types } from '~/store/modules/windows';
-import { RootState } from 'store';
-
-const apiUrl = `${process.env.imageGeneratorUrl}/api/winrt`;
-
-export interface Actions extends ActionTree {
- getSamples(context: ActionContext): Promise;
- selectSample(context: ActionContext, sample: Sample): Promise;
-}
-
-export const actions: Actions = {
-
- async getSamples({ commit }): Promise {
- return new Promise(async (resolve, reject) => {
- try {
- const data = await this.$axios.$get(apiUrl).then(res => {
- let fromItem = function(func, file, source) {
- let id = file.Id + '.' + func.Name; //file.id is undefined
-
- let parms = Array();
-
- for (let i = 0; i < func.Parameters.length; i++) {
- let parm = func.Parameters[i];
-
- let newParm: Parm = {
- name: parm.Name,
- id: id + '.' + parm.Name,
- default: parm.Default,
- type: parm.Type,
- description: parm.Description
- };
-
- parms.push(newParm);
- }
-
- let result: Sample = {
- title: func.Name || file.Name || source.Name,
- description: func.Description || file.Description || source.Description,
- image: func.Image || file.Image || source.Image || './assets/images/logo_small.png',
- id: file.Id + '.' + func.Name,
- parms: parms,
- url: source.Url,
- hash: source.Hash,
- included: false,
- snippet: func.Snippet.replace(/(\/\*[\s\S]*?\*\/|([^:/]|^)\/\/.*$)/g, '').trim(),
- source: null
- };
-
- return result;
- };
-
- let results = [
- {
- title: "Install your PWA",
- description: "A simple component that gives users a button to install your PWA directly from the browser"
- },
- {
- title: "Enable 2D inking on the web",
- description: "A basic 2D inking canvas that supports pointer events (mouse, touch, and pen) and can be controlled through a complementary toolbar."
-
- },
- {
- title: "Sign In with Microsoft, Google, Facebook, Apple",
- description: "Web component that lets your users sign-in using their Microsoft, Google, Facebook, or Apple account. Your app receives their email address, name, and profile picture."
- },
- {
- title: "Immersive Reader",
- description: "Immersive Reader mode makes it easier for users to read your content on the web"
- },
- {
- title: "Web MIDI",
- description: "A simple script that gives your app the ability to connect to a MIDI device such as a keyboard"
- },
- {
- title: "People Picker Graph Component",
- description: "The People Picker component enables the user to view, add, or remove people objects from a dynamic drop-down list as they type."
- },
- {
- title: "Person Graph Component",
- description: "The person component is used to display a person or contact by using their photo, name, and/or email address."
- },
- {
- title: "Tasks Graph Component",
- description: "The Tasks component enables the user to view, add, remove, complete, or edit tasks. It works with tasks in Microsoft Planner or Microsoft To-Do."
- },
- /*({
- title: "Samsung Smart View",
- description: "A Smart View enabled app provides separate views which are connected and running on different devices."
- } as any),
- ({
- title: "Samsung Pay",
- description: "Samsung Pay can be used for mobile web payments too, to make secure purchases across the web in eligible countries. No more clunky forms and input fields!"
- } as any),
- ({
- title: "Get Channels from Microsoft Teams",
- description: "This component lets you get the channels for a signed in user"
- } as any),
- ({
- title: "Create a new Channel in Microsoft Teams",
- description: "Allow a user to easily create a new channel in Teams."
- } as any),
- ({
- title: "Get teams from Microsoft Teams",
- description: "Get the teams a signed in user is a member of in Teams"
- } as any),*/
- ];
-
- if (res.Sources) {
- for (let s = 0; s < res.Sources.length; s++) {
- let source = res.Sources[s];
- let file = source.Parsed.File;
- for (let f = 0; f < source.Parsed.Functions.length; f++) {
- let fn = source.Parsed.Functions[f];
- let newItem = fromItem(fn, file, source);
-
- if (newItem.title === "Microsoft Graph Authentication") {
- newItem.title = "Login Graph Component";
- }
- else if (newItem.title === "Microsoft Graph Contacts API") {
- newItem.title = "People Graph Component";
- }
- else if (newItem.title === "Microsoft Graph Calendar API") {
- newItem.title = "Agenda Graph Component";
- }
- else if (newItem.title === "Microsoft Graph Activity API") {
- newItem.title = "Activity Graph Component";
- }
-
- results.push(newItem as any);
- }
- }
- }
-
- return results;
- });
-
- commit(types.UPDATE_SAMPLES, data);
- resolve();
-
- } catch (e) {
- let errorMessage = e.response.data ? e.response.data.error : e.response.data || e.response.statusText;
- reject (errorMessage);
- }
- });
- },
-
- async selectSample({ commit }, sample: Sample): Promise {
- return new Promise(async (resolve) => {
-
- await this.$axios.$get(sample.url).then(res => {
- let source = res.replace(/(\/\*[\s\S]*?\*\/|([^:/]|^)\/\/.*$)/g, '').trim();
-
- commit(types.UPDATE_SAMPLE, {sample: sample, source: source});
- resolve();
- });
- });
- },
-
- resetStates({ commit }): void {
- commit(types.RESET_STATES);
- }
-};
\ No newline at end of file
diff --git a/store/modules/windows/windows.mutations.ts b/store/modules/windows/windows.mutations.ts
deleted file mode 100644
index c06bec5f..00000000
--- a/store/modules/windows/windows.mutations.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { MutationTree } from 'vuex';
-import { State, Sample, types } from '~/store/modules/windows';
-
-
-export const mutations: MutationTree = {
- [types.UPDATE_SAMPLES](state, data: Array): void {
- state.samples = data;
- },
- [types.UPDATE_SAMPLE](state, payload): void {
- payload.sample.source = payload.source;
- state.sample = payload.sample;
- },
- [types.RESET_STATES](state): void {
- state.samples = [];
- }
-};
\ No newline at end of file
diff --git a/store/modules/windows/windows.state.ts b/store/modules/windows/windows.state.ts
deleted file mode 100644
index f5ee1854..00000000
--- a/store/modules/windows/windows.state.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-export interface Parm {
- name: string | null;
- id: string | null;
- default: string | null;
- type: string | null;
- description: string | null;
-}
-
-export interface Sample {
- title: string | null;
- description: string | null;
- image: string | null;
- id: string | null;
- parms: Parm[];
- url: string | null;
- hash: string | null;
- included: boolean | false;
- snippet: string | null;
- source: string | null;
- usercode?: string | null;
-}
-
-export interface State {
- samples: Sample[];
- sample: Sample | null;
-}
-
-export const state = (): State => ({
- samples: [],
- sample: null
-});
\ No newline at end of file
diff --git a/store/modules/windows/windows.types.ts b/store/modules/windows/windows.types.ts
deleted file mode 100644
index 8ac6a4a5..00000000
--- a/store/modules/windows/windows.types.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export const types = {
- UPDATE_SAMPLES: 'UPDATE_SNIPPETS',
- RESET_STATES: 'RESET_STATES',
- UPDATE_SAMPLE: 'UPDATE_SNIPPET'
-};
\ No newline at end of file
diff --git a/store/root.ts b/store/root.ts
deleted file mode 100644
index 96941817..00000000
--- a/store/root.ts
+++ /dev/null
@@ -1,82 +0,0 @@
-import { GetterTree, ActionContext, ActionTree, MutationTree } from 'vuex';
-import { RootState } from 'store';
-
-export const types = {
- SET_LANGUAGES: 'SET_LANGUAGES',
- SET_DISPLAYS: 'SET_DISPLAYS',
- SET_ORIENTATIONS: 'SET_ORIENTATIONS'
-};
-
-export interface StaticContent {
- code: string;
- name: string;
-}
-
-export interface State {
- languages: StaticContent[] | null;
- displays: StaticContent[] | null;
- orientations: StaticContent[] | null;
-}
-
-export const state = (): State => ({
- languages: null,
- displays: null,
- orientations: null
-});
-
-export const helpers = {
- getStaticContentNames(collection: StaticContent[] | null): string[] {
- if (!collection) {
- return [];
- }
-
- return collection.map(x => x.name);
- }
-};
-
-export const getters: GetterTree = {
- languagesNames(state: State): string[] {
- return helpers.getStaticContentNames(state.languages);
- },
-
- displaysNames(state: State): string[] {
- return helpers.getStaticContentNames(state.displays);
- },
-
- orientationsNames(state: State): string[] {
- return helpers.getStaticContentNames(state.orientations);
- }
-};
-
-
-export interface Actions extends ActionTree {
- nuxtServerInit(context: ActionContext): void;
-}
-
-export const actions: Actions = {
- nuxtServerInit({ commit }): void {
- try {
- commit(types.SET_LANGUAGES, require('~/static/data/languages.json'));
- commit(types.SET_DISPLAYS, require('~/static/data/displays.json'));
- commit(types.SET_ORIENTATIONS, require('~/static/data/orientations.json'));
- } catch (e) {
- throw e;
- }
- }
-};
-
-export const mutations: MutationTree = {
- [types.SET_LANGUAGES](state, languages: StaticContent[]): void {
- state.languages = languages;
- },
-
- [types.SET_DISPLAYS](state, displays: StaticContent[]): void {
- state.displays = displays;
- },
-
- [types.SET_ORIENTATIONS](state, orientations: StaticContent[]): void {
- state.orientations = orientations;
- }
-};
-
-
diff --git a/styles/animations.css b/styles/animations.css
new file mode 100644
index 00000000..32f2a619
--- /dev/null
+++ b/styles/animations.css
@@ -0,0 +1,9 @@
+@keyframes fadeIn {
+ from {
+ opacity: 0;
+ }
+
+ to {
+ opacity: 1;
+ }
+}
\ No newline at end of file
diff --git a/styles/error-styles.css b/styles/error-styles.css
new file mode 100644
index 00000000..1ac7103c
--- /dev/null
+++ b/styles/error-styles.css
@@ -0,0 +1,15 @@
+.error {
+ color: var(--error-color);
+ border: 1px solid var(--error-color);
+ border-radius: var(--input-radius);
+ background: var(--error-background-color);
+}
+
+.error-message {
+ color: var(--error-color);
+ font-size: var(--small-font-size);
+}
+
+.error::part(control) {
+ background: var(--error-background-color);
+}
diff --git a/styles/form-styles.css b/styles/form-styles.css
new file mode 100644
index 00000000..202dcce2
--- /dev/null
+++ b/styles/form-styles.css
@@ -0,0 +1,137 @@
+#form-layout {
+ padding-left: 2em;
+ padding-right: 2em;
+ overflow-y: auto;
+
+ max-height: 14em;
+}
+
+.tooltip {
+ margin-left: 10px;
+}
+
+.form-group .tooltip a {
+ color: #fff;
+}
+
+.form-group {
+ display: flex;
+ flex-direction: column;
+}
+
+.form-group label {
+ font-size: var(--small-medium-font-size);
+ font-weight: bold;
+ line-height: 40px;
+ display: flex;
+ align-items: center;
+}
+
+.form-group label a {
+ text-decoration: none;
+ color: var(--font-color);
+}
+
+#form-options-actions {
+ display: flex;
+ justify-content: center;
+ margin-top: 37px;
+}
+
+#form-details-block {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+#form-details-block p {
+ text-align: center;
+ font-weight: 300;
+ font-size: var(--small-medium-font-size);
+
+ color: rgba(128, 128, 128, 1);
+ line-height: 30px;
+
+ padding-left: 2em;
+ padding-right: 2em;
+}
+
+.select-group {
+ display: flex;
+ margin-bottom: 10px;
+ padding-left: 2em;
+}
+
+#all-settings-header {
+ color: var(--font-color);
+ font-weight: var(--font-bold);
+ font-size: 18px;
+
+ display: flex;
+ align-items: center;
+}
+
+fast-accordion {
+ margin-top: 15px;
+ margin-bottom: 15px;
+}
+
+fast-accordion,
+fast-accordion-item {
+ border: none;
+}
+
+fast-accordion-item::part(icon) {
+ display: none;
+}
+
+.flipper-button {
+ background: white;
+ box-shadow: 0 1px 4px 0px rgb(0 0 0 / 25%);
+ border-radius: 50%;
+ color: #5231a7;
+
+ height: 16px;
+ min-width: 16px;
+
+ margin-left: 5px;
+}
+
+.flipper-button ion-icon {
+ pointer-events: none;
+
+ height: 10px;
+ width: 10px;
+}
+
+.flipper-button::part(control) {
+ font-size: 18px;
+ padding: 0;
+}
+
+.flipper-button::part(content) {
+ padding: 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.adv-settings {
+ display: grid;
+ grid-template-columns: 50% 50%;
+ gap: 10px;
+}
+
+form {
+ max-height: 24em;
+}
+
+.form-check {
+ display: flex;
+ align-items: center;
+}
+
+.form-check label {
+ font-weight: normal;
+ margin-left: 8px;
+}
\ No newline at end of file
diff --git a/styles/global.css b/styles/global.css
new file mode 100644
index 00000000..7450ec69
--- /dev/null
+++ b/styles/global.css
@@ -0,0 +1,144 @@
+/*
+ This file is used for all of your global styles and CSS variables.
+ Check here https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties for more info on using CSS variables.
+*/
+
+/*
+ for more info on font-display
+ https://web.dev/optimize-webfont-loading/#customize-the-text-rendering-delay
+*/
+@font-face {
+ font-family: 'Hind';
+ src: url('/assets/fonts/Hind-Regular.ttf');
+ font-weight: 400;
+ font-style: normal;
+ font-display: swap;
+}
+
+@font-face {
+ font-family: 'Hind';
+ src: url('/assets/fonts/Hind-Bold.ttf');
+ font-weight: 700;
+ font-style: bold;
+ font-display: swap;
+}
+
+:root {
+ --font-family: Hind;
+ --font-color: #292c3a;
+ --secondary-font-color: #808080;
+ --font-bold: 700;
+ --font-medium: 400;
+
+ --font-size: 14px;
+ --smallish-font-size: 16px;
+ --small-font-size: 12px;
+ --small-medium-font-size: 22px;
+ --medium-font-size: 28px;
+ --large-font-size: 32px;
+ --xlarge-font-size: 44px;
+
+ --primary-background-color: white;
+ --primary-color: #292c3a;
+ --secondary-color: #ffffff;
+ --primary-purple: #342a6a;
+ --error-background-color: #fff5f5;
+ --warning-color: #ebc157;
+ --error-color: #eb5757;
+ --success-color: #63c093;
+ --sidebar-accent: #a2f4cc;
+
+ --button-shadow: 0px 1px 4px rgba(0, 0, 0, 0.25);
+ --button-radius: 44px;
+ --mobile-button-radius: 61px;
+ --mobile-button-height: 64px;
+ --mobile-button-fontsize: 22px;
+ --desktop-button-height: 40px;
+
+ --input-radius: 8px;
+
+ --link-color: var(--primary-purple);
+ --mobile-link-color: #0683f9;
+
+ --list-border: 0.67681px solid #e5e5e5;
+ --light-primary-color: rgba(255, 255, 255, 0.6);
+}
+
+* {
+ box-sizing: border-box;
+}
+
+html,
+body {
+ font-size: min(max(1rem, 4vw), 22px);
+ font-family: var(--font-family), sans-serif;
+ line-height: 1.5;
+ color: var(--font-color);
+ background: var(--primary-background-color);
+ padding: 0;
+ margin: 0;
+ background: var(--primary-background-color);
+
+ overflow-x: hidden;
+}
+
+p,
+li,
+a {
+ margin-bottom: 1rem;
+ font-size: 1rem;
+ transition: all 200ms ease-in;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5 {
+ margin-top: calc((1.5rem - 2rem) + 1.5rem);
+ margin-bottom: 1.5rem;
+ font-weight: bold;
+ letter-spacing: 1px;
+ line-height: 2rem;
+ font-weight: 600;
+ line-height: 1.3;
+ transition: all 200ms ease-in;
+ word-break: break-word;
+}
+
+h1 {
+ margin-top: 0;
+ font-size: 3.052rem;
+}
+
+h2 {
+ font-size: 2.441rem;
+}
+
+h3 {
+ font-size: 1.953rem;
+}
+
+h4 {
+ font-size: 1.563rem;
+}
+
+h5 {
+ font-size: 1.25rem;
+}
+
+small {
+ font-size: 0.8rem;
+}
+
+fast-design-system-provider {
+ color: var(--font-color);
+ --background-color: var(--primary-background-color);
+ --neutral-foreground-rest: var(--font-color);
+ --neutral-fill-input-rest: white;
+ --neutral-fill-input-hover: white;
+ --neutral-fill-stealth-rest: #e5e5e5;
+ --neutral-fill-rest: #292c3a;
+ --neutral-fill-active: #09090a;
+ --neutral-fill-input-active: #e5e5e5;
+}
diff --git a/styles/layout-defaults.css b/styles/layout-defaults.css
new file mode 100644
index 00000000..e36121c8
--- /dev/null
+++ b/styles/layout-defaults.css
@@ -0,0 +1,17 @@
+#grid {
+ display: grid;
+ grid-template-columns: 180px auto;
+}
+
+#grid.grid-mobile {
+ display: initial;
+}
+
+#tablet-sidebar {
+ display: none;
+}
+
+#desktop-sidebar {
+ display: block;
+}
+
diff --git a/styles/list-defaults.css b/styles/list-defaults.css
new file mode 100644
index 00000000..ce598b0e
--- /dev/null
+++ b/styles/list-defaults.css
@@ -0,0 +1,5 @@
+ul {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
diff --git a/test-e2e/test.js b/test-e2e/test.js
deleted file mode 100644
index aac85257..00000000
--- a/test-e2e/test.js
+++ /dev/null
@@ -1,19 +0,0 @@
-const env = require(`../environments/${process.env.NODE_ENV}`)
-
-module.exports = {
- beforeEach: browser => {
- browser
- .url(env.baseUrl)
- .waitForElementVisible('.container', 1000);
- },
- 'Smoke test': browser => {
- browser
- .assert.visible('#siteUrl', 'Check if website input exist')
- .assert.value('#siteUrl', '')
- .click('.get-started.pwa-button.isEnabled.next-step')
- .pause(1000)
- .assert.visible('.l-generator-error')
- .assert.containsText('.l-generator-error', 'Please provide a URL.');
- },
- after: browser => browser.end(),
- };
\ No newline at end of file
diff --git a/test/libs/axios.ts b/test/libs/axios.ts
deleted file mode 100644
index e121d111..00000000
--- a/test/libs/axios.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-import axios from 'axios';
-import MockAdapter from 'axios-mock-adapter';
-
-export const axiosMock = new MockAdapter(axios);
\ No newline at end of file
diff --git a/test/libs/chai.ts b/test/libs/chai.ts
deleted file mode 100644
index 0d9d919e..00000000
--- a/test/libs/chai.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import * as chai from 'chai';
-import * as sinon from 'sinon';
-let sinonStubPromise = require('sinon-stub-promise'); // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/11880
-import * as sinonChai from 'sinon-chai';
-import * as chaiAsPromised from 'chai-as-promised';
-
-sinonStubPromise(sinon);
-chai.use(sinonChai);
-chai.use(chaiAsPromised);
-
-export { expect, should, assert } from 'chai';
-export { SinonStub, spy, stub } from 'sinon';
\ No newline at end of file
diff --git a/test/middleware/default.test.ts b/test/middleware/default.test.ts
deleted file mode 100644
index 40eeb29e..00000000
--- a/test/middleware/default.test.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import { expect } from 'test/libs/chai';
-
-import defaultMiddleware from '~/middleware/default';
-
-let paramsMockBuilder = (route: string) => ({
- route: {
- path: route
- },
- redirect: (path) => path
-});
-
-let params;
-
-describe('default middleware', () => {
-
- describe('when the middleware is loaded', () => {
- it('should return if url is not generator', () => {
- const route = '/test';
- params = paramsMockBuilder(route);
-
- expect(defaultMiddleware(params)).to.be.undefined;
- });
-
- it('should redirect to home if url is not generator', () => {
- const route = '/generator';
- params = paramsMockBuilder(route);
- expect(defaultMiddleware(params)).to.be.equal('/');
- });
- });
-});
\ No newline at end of file
diff --git a/test/setup.js b/test/setup.js
deleted file mode 100644
index 75ac72aa..00000000
--- a/test/setup.js
+++ /dev/null
@@ -1,4 +0,0 @@
-let customEnv = require('../environments/test');
-
-// Configure environment variables for tests
-process.env = { ...process.env, ...customEnv };
\ No newline at end of file
diff --git a/test/store/modules/generator/generator.actions.test.ts b/test/store/modules/generator/generator.actions.test.ts
deleted file mode 100644
index cf8df491..00000000
--- a/test/store/modules/generator/generator.actions.test.ts
+++ /dev/null
@@ -1,258 +0,0 @@
-import { ActionContext } from 'vuex';
-import { RootState } from 'store';
-
-import { expect, SinonStub, spy, stub } from 'test/libs/chai';
-import { axiosMock } from 'test/libs/axios';
-
-import { actionContextMockBuilder, nuxtAxiosMockBuilder } from 'test/utils';
-
-import * as generator from 'store/modules/generator';
-import { Manifest, helpers } from 'store/modules/generator';
-
-let state: generator.State;
-let actionContext: ActionContext;
-let actions: generator.Actions;
-
-describe('store generator actions', () => {
-
- beforeEach(() => {
- state = generator.state();
- actionContext = actionContextMockBuilder(state);
- spy(actionContext, 'commit');
- stub(generator.helpers, 'getImageIconSize').resolves(Promise.resolve({ width: 0, height: 0 }));
- actions = nuxtAxiosMockBuilder(generator.actions);
- });
-
- afterEach(() => {
- (generator.helpers.getImageIconSize as SinonStub).restore();
- });
-
- describe('when adds link with an invalid url', () => {
- it('should throw an error', () => {
- const url = 'httptest';
-
- expect(() => actions.updateLink(actionContext, url)).to.throw();
- });
- });
-
- describe('when adds link with a valid url', () => {
- it('should update state with the new url', () => {
- const url = 'http://microsoft.com';
- actions.updateLink(actionContext, url);
-
- expect(actionContext.commit).to.have.been.calledWith(generator.types.UPDATE_LINK, url);
- });
- });
-
- describe('when adds link without http://', () => {
- it('should change it to have https://', () => {
- const url = 'microsoft.com';
- actions.updateLink(actionContext, url);
-
- expect(actionContext.commit).to.have.been.calledWith(generator.types.UPDATE_LINK, 'https://' + url);
- });
- });
-
- describe('when submit url', () => {
- it('should change generate manifest information', async () => {
- const url = 'http://microsoft.com';
- const status = 200;
- actionContext.state.url = url;
-
- axiosMock.onPost(`${process.env.apiUrl}/manifests`).reply(status, {});
-
- await actions.getManifestInformation(actionContext);
-
- expect(actionContext.commit).to.have.been.calledWith(generator.types.UPDATE_WITH_MANIFEST);
- expect(actionContext.commit).to.have.been.calledWith(generator.types.SET_DEFAULTS_MANIFEST);
- });
-
- it('should throw an error if params are incorrect and API respond with error', async () => {
- const url = 'http://microsoft.com';
- const status = 500;
- actionContext.state.url = url;
-
- axiosMock.onPost(`${process.env.apiUrl}/manifests`).reply(status, {});
-
- expect(actions.getManifestInformation(actionContext)).to.eventually.throw();
- });
-
- afterEach(() => {
- axiosMock.reset();
- });
- });
-
- describe('when submit empty url', () => {
- it('should throw an error', async () => {
- const url = '';
- actionContext.state.url = url;
-
- expect(actions.getManifestInformation(actionContext)).to.eventually.throw();
- });
- });
-
- describe('when tries to remove an icon', () => {
- it('should update the state without this icon', async () => {
- const icon = { src: 'icon', sizes: '1x1'};
- actionContext.state.icons = [icon];
-
- await actions.removeIcon(actionContext, icon);
- expect(actionContext.commit).to.not.have.been.calledWith(generator.types.UPDATE_ICONS, [icon]);
- expect(actionContext.commit).to.have.been.calledWith(generator.types.UPDATE_ICONS, []);
- });
- });
-
- describe('when adds and icon from url', () => {
- it('should not change state if src is empty', async () => {
- const src = '';
-
- await actions.addIconFromUrl(actionContext, src);
- expect(actionContext.commit).to.not.have.been.calledWith(generator.types.ADD_ICON);
- });
-
- it('should add website url as prefix if doesn\'t have it', async () => {
- const src = 'icon.png';
- const baseUrl = 'http://microsoft.com/';
-
- actionContext.state.manifest = actionContext.state.manifest || {} as Manifest;
- actionContext.state.manifest.start_url = baseUrl;
-
- await actions.addIconFromUrl(actionContext, src);
- expect(actionContext.commit).to.have.been.calledWith(generator.types.ADD_ICON, {src: baseUrl + src, sizes: '0x0'});
- });
-
- it('should remove slash if necessary', async () => {
- const src = '/icon.png';
- const baseUrl = 'http://microsoft.com/';
-
- actionContext.state.manifest = actionContext.state.manifest || {} as Manifest;
- actionContext.state.manifest.start_url = baseUrl;
-
- await actions.addIconFromUrl(actionContext, src);
- expect(actionContext.commit).to.have.been.calledWith(generator.types.ADD_ICON, {src: baseUrl + src.slice(1), sizes: '0x0'});
- });
- });
-
- describe('when reset generator states', () => {
- it('should reset states', () => {
- actions.resetStates(actionContext);
- expect(actionContext.commit).to.have.been.calledWith(generator.types.RESET_STATES);
- });
- });
-
- describe('when add a related application', () => {
- it('should not commit an update if is not valid application', () => {
- const app = {
- platform: '',
- url: '',
- id: ''
- };
-
- expect(() => actions.addRelatedApplication(actionContext, app)).to.throw();
- });
-
- it('should commit an update if is a valid application', () => {
- const app = {
- platform: 'testplatform',
- url: 'website',
- id: 'myid'
- };
-
- actions.addRelatedApplication(actionContext, app);
-
- expect(actionContext.commit).to.have.been.calledWith(generator.types.ADD_RELATED_APPLICATION);
- });
- });
-
- describe('when add a custom member', () => {
- it('should not commit an update if member already exists', () => {
- const member = {
- name: 'test',
- value: '{}',
- };
-
- actionContext.state.members = [member];
-
- expect(() => actions.addCustomMember(actionContext, member)).to.throw();
- });
-
- it('should add prefix is doest not contain "_"', () => {
- const name = 'test';
- const member = {
- name,
- value: '{}',
- };
-
- actionContext.state.members = [];
-
- actions.addCustomMember(actionContext, member);
-
- expect(member.name).to.have.be.equal(generator.helpers.MEMBER_PREFIX + name);
- });
-
- it('should not commit an update if member value is not valid', () => {
- const member = {
- name: 'test',
- value: 'not a json',
- };
-
- actionContext.state.members = [];
-
- expect(() => actions.addCustomMember(actionContext, member)).to.throw();
- });
-
- it('should commit an update if member is valid', () => {
- const member = {
- name: 'test',
- value: '{}',
- };
-
- actionContext.state.members = [];
-
- actions.addCustomMember(actionContext, member);
-
- expect(actionContext.commit).to.have.been.calledWith(generator.types.ADD_CUSTOM_MEMBER);
- });
- });
-
- describe('when update color', () => {
- it('should commit with transparent if the selection is transparent', () => {
- const colorOption = helpers.COLOR_OPTIONS.transparent;
- const color = '#FF0000';
- const colorOptions = {
- colorOption,
- color
- };
-
- actions.updateColor(actionContext, colorOptions);
-
- expect(actionContext.commit).to.have.been.calledWith(generator.types.UPDATE_COLOR, colorOption);
- });
-
- it('should commit with none if the selection is none', () => {
- const colorOption = helpers.COLOR_OPTIONS.none;
- const color = '#FF0000';
- const colorOptions = {
- colorOption,
- color
- };
-
- actions.updateColor(actionContext, colorOptions);
-
- expect(actionContext.commit).to.have.been.calledWith(generator.types.UPDATE_COLOR, colorOption);
- });
-
- it('should commit with the selected color if the selection is pick', () => {
- const colorOption = helpers.COLOR_OPTIONS.pick;
- const color = '#FF0000';
- const colorOptions = {
- colorOption,
- color
- };
-
- actions.updateColor(actionContext, colorOptions);
-
- expect(actionContext.commit).to.have.been.calledWith(generator.types.UPDATE_COLOR, color);
- });
- });
-});
\ No newline at end of file
diff --git a/test/store/modules/generator/generator.helpers.test.ts b/test/store/modules/generator/generator.helpers.test.ts
deleted file mode 100644
index a12ac963..00000000
--- a/test/store/modules/generator/generator.helpers.test.ts
+++ /dev/null
@@ -1,191 +0,0 @@
-import { expect, stub } from 'test/libs/chai';
-
-import * as generator from 'store/modules/generator';
-import colorConverter from 'utils/color-converter';
-import { SinonStub } from 'sinon';
-import { CodeIssue, CodeError } from 'store/modules/generator';
-
-class MockImage {
- constructor(public width = 0, public height = 0) {
- setTimeout(() => {
- this.onload();
- }, 10);
- }
-
- public onload() {}
-}
-
-describe('store generator helpers', () => {
-
- describe('when isValidUrl receives an url', () => {
- it('should return false if url is invalid', () => {
- const url = 'httmicrosoft.com';
- expect(generator.helpers.isValidUrl(url)).to.be.equal(false);
- });
-
- it('should return true if url is valid', () => {
- const url = 'http://microsoft.com';
- expect(generator.helpers.isValidUrl(url)).to.be.equal(true);
- });
- });
-
- describe('when getImageIconSize receives a src', () => {
- it('should return the correct object with default size if there is no document', async () => {
- // Simple stub to onload images
- // to more complex logic use jsdom
- const _global = global as any;
- const size = -1;
-
- _global.document = undefined;
-
- const src = '';
- const response = { width: size, height: size};
-
- const sizes = await generator.helpers.getImageIconSize(src);
-
- expect(sizes.width).to.be.equal(response.width);
- expect(sizes.height).to.be.equal(response.height);
- });
-
- it('should return the correct object with size if document exist', async () => {
- const _global = global as any;
- const size = 10;
-
- _global.document = {
- // @ts-ignore TS6133 src
- createElement: (src: string) => new MockImage(size, size)
- };
-
- const src = '';
- const response = { width: size, height: size};
-
- const sizes = await generator.helpers.getImageIconSize(src);
- expect(sizes.width).to.be.equal(response.width);
- expect(sizes.height).to.be.equal(response.height);
- });
- });
-
- describe('when prepareIconsUrls receives an array', () => {
- it('should return empty array if is empty', () => {
- const icons = [];
- const baseUrl = '';
-
- expect(generator.helpers.prepareIconsUrls(icons, baseUrl).length).to.be.equal(0);
- });
-
- it('should return an array with baseUrl/src if the icons have not slashes', () => {
- const icons = [{
- src: 'test',
- sizes: '0x0'
- }];
- const baseUrl = 'https://test.com';
-
- expect(generator.helpers.prepareIconsUrls(icons, baseUrl)[0].src).to.be.equal(`${baseUrl}/test`);
- });
-
- it('should return an array with baseUrl/src if the icons haveslashes', () => {
- const icons = [{
- src: '/test',
- sizes: '0x0'
- }];
- const baseUrl = 'https://test.com';
-
- expect(generator.helpers.prepareIconsUrls(icons, baseUrl)[0].src).to.be.equal(`${baseUrl}/test`);
- });
-
- it('should return an array with baseUrl/src if the baseUrl has slashes', () => {
- const icons = [{
- src: 'test',
- sizes: '0x0'
- }];
- const baseUrl = 'https://test.com';
-
- expect(generator.helpers.prepareIconsUrls(icons, baseUrl)[0].src).to.be.equal(`${baseUrl}/test`);
- });
-
- it('should return an array with baseUrl/src if the baseUrl and icons have slashes', () => {
- const icons = [{
- src: '/test',
- sizes: '0x0'
- }];
- const baseUrl = 'https://test.com';
-
- expect(generator.helpers.prepareIconsUrls(icons, baseUrl)[0].src).to.be.equal(`${baseUrl}/test`);
- });
- });
-
- describe('when hasRelatedApplicationErrors receives an app', () => {
- it('should return the error error.enter_platform if there is no platform', () => {
- const app = {
- platform: null,
- url: null,
- id: null
- };
-
- expect(generator.helpers.hasRelatedApplicationErrors(app)).to.be.equal('error.enter_platform');
- });
-
- it('should return the error error.enter_url if there is no url and id', () => {
- const app = {
- platform: 'test',
- url: null,
- id: null
- };
-
- expect(generator.helpers.hasRelatedApplicationErrors(app)).to.be.equal('error.enter_url');
- });
-
- it('should return the error error.enter_valid_url if the url is not valid', () => {
- const app = {
- platform: 'test',
- url: '$$',
- id: 'test'
- };
-
- expect(generator.helpers.hasRelatedApplicationErrors(app)).to.be.equal('error.enter_valid_url');
- });
-
- it('should return undefined if there is no problem', () => {
- const app = {
- platform: 'test',
- url: 'microsoft.com',
- id: 'test'
- };
-
- expect(generator.helpers.hasRelatedApplicationErrors(app)).to.be.equal(undefined);
- });
- });
-
- describe('when fixColorFromServer receives a color', () => {
- it('should return empty string if color is empty', () => {
- const color = '';
- expect(generator.helpers.fixColorFromServer(color)).to.be.equal('');
- });
-
- it('should return an hexadececimal color if color is not empty', () => {
- const color = 'rgb(0, 0, 0)';
-
- stub(colorConverter, 'toHexadecimal').returns('0000000000');
-
- expect(generator.helpers.fixColorFromServer(color)).to.be.equal('#000000');
-
- (colorConverter.toHexadecimal as SinonStub).restore();
- });
- });
-
- describe('when sumIssues an array of issues', () => {
- it('should return 0 if the array is null', () => {
- const errors = null;
- expect(generator.helpers.sumIssues(errors)).to.be.equal(0);
- });
-
- it('should return the correct amount if the array has issues', () => {
- const errors = [
- {
- issues: [{} as CodeIssue, {} as CodeIssue]
- } as CodeError
- ];
- expect(generator.helpers.sumIssues(errors)).to.be.equal(2);
- });
- });
-});
\ No newline at end of file
diff --git a/test/store/modules/generator/generator.mutations.test.ts b/test/store/modules/generator/generator.mutations.test.ts
deleted file mode 100644
index 101a1756..00000000
--- a/test/store/modules/generator/generator.mutations.test.ts
+++ /dev/null
@@ -1,108 +0,0 @@
-import { MutationTree, ActionContext } from 'vuex';
-
-import { expect } from 'test/libs/chai';
-
-import * as generator from 'store/modules/generator';
-import { Manifest } from 'store/modules/generator';
-import { actionContextMockBuilder } from 'test/utils';
-import { RootState } from 'store';
-
-let state: generator.State;
-let actionContext: ActionContext;
-let mutations: MutationTree;
-
-describe('store generator mutations', () => {
-
- beforeEach(() => {
- state = generator.state();
- actionContext = actionContextMockBuilder(state);
- mutations = generator.mutations;
- });
-
- describe('when add a related application', () => {
- it('should update the state with new application', () => {
- const payload = {
- platform: 'testplatform',
- url: 'website',
- id: 'myid'
- };
-
- state.manifest = {} as Manifest;
- state.manifest.related_applications = [];
-
- mutations[generator.types.ADD_RELATED_APPLICATION](state, payload);
- expect(state.manifest.related_applications.length).to.be.equal(1);
- });
- });
-
- describe('when remove a related application', () => {
- it('should not remove if index is not found', () => {
- const id = 'myid';
- const app = {
- platform: 'testplatform',
- url: 'website',
- id
- };
-
- state.manifest = {} as Manifest;
- state.manifest.related_applications = [app];
-
- mutations[generator.types.REMOVE_RELATED_APPLICATION](state, `${id}__`);
- expect(state.manifest.related_applications.length).to.be.equal(1);
- });
-
- it('should remove if index is found', () => {
- const id = 'myid';
- const app = {
- platform: 'testplatform',
- url: 'website',
- id
- };
-
- state.manifest = {} as Manifest;
- state.manifest.related_applications = [app];
-
- mutations[generator.types.REMOVE_RELATED_APPLICATION](state, id);
- expect(state.manifest.related_applications.length).to.be.equal(0);
- });
- });
-
- describe('when change prefer related application', () => {
- it('should change the state value', () => {
- state.manifest = {} as Manifest;
- state.manifest.prefer_related_applications = false;
-
- mutations[generator.types.UPDATE_PREFER_RELATED_APPLICATION](state, true);
- expect(state.manifest.prefer_related_applications).to.be.equal(true);
- });
- });
-
- describe('when remove a custom member', () => {
- it('should not remove if index is not found', () => {
- const name = 'name';
- const member = {
- name,
- value: '{}'
- };
-
- actionContext.state.members = [member];
-
- mutations[generator.types.REMOVE_CUSTOM_MEMBER](state, `${name}__`);
- expect(actionContext.state.members.length).to.be.equal(1);
- });
-
- it('should remove if index is found', () => {
- const name = 'name';
- const member = {
- name,
- value: '{}'
- };
-
- actionContext.state.members = [member];
-
- mutations[generator.types.REMOVE_CUSTOM_MEMBER](state, name);
- expect(actionContext.state.members.length).to.be.equal(0);
- });
- });
-
-});
\ No newline at end of file
diff --git a/test/store/modules/i18n.test.ts b/test/store/modules/i18n.test.ts
deleted file mode 100644
index ff404cc6..00000000
--- a/test/store/modules/i18n.test.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { expect } from 'test/libs/chai';
-
-import * as i18n from 'store/modules/i18n';
-
-let state: i18n.State;
-
-describe('store i18n', () => {
-
- beforeEach(() => {
- state = i18n.state();
- });
-
- describe('when set new language', () => {
- it('should not change the language if not exist', () => {
- const newLang = 'randomLanguage';
- i18n.mutations[i18n.types.SET](state, newLang);
- expect(state.locale).to.not.equal(newLang);
- });
-
- it('should keep the new language in the state', () => {
- const newLang = 'es';
- i18n.mutations[i18n.types.SET](state, newLang);
- expect(state.locale).to.equal(newLang);
- });
- });
-});
\ No newline at end of file
diff --git a/test/store/modules/publish.test.ts b/test/store/modules/publish.test.ts
deleted file mode 100644
index 08af5445..00000000
--- a/test/store/modules/publish.test.ts
+++ /dev/null
@@ -1,60 +0,0 @@
-import { ActionContext } from 'vuex';
-import { RootState } from 'store';
-
-import { expect, spy } from 'test/libs/chai';
-import { axiosMock } from 'test/libs/axios';
-
-import { actionContextMockBuilder, nuxtAxiosMockBuilder } from 'test/utils';
-
-import * as publish from 'store/modules/publish';
-
-let state: publish.State;
-let actionContext: ActionContext;
-let actions: publish.Actions;
-
-describe('store publish', () => {
-
- beforeEach(() => {
- state = publish.state();
- actionContext = actionContextMockBuilder(state);
- spy(actionContext, 'commit');
- actions = nuxtAxiosMockBuilder(publish.actions);
- });
-
- describe('when build package', () => {
- it('should update archivelink', async () => {
- const manifestId = 'manifestId';
- const serviceworker = 1;
- const platform = 'web';
- const status = 200;
-
- actionContext.rootState.generator.manifestId = manifestId;
- actionContext.rootState.serviceworker.serviceworker = serviceworker;
-
- axiosMock.onPost(`${process.env.apiUrl}/manifests/${manifestId}/build?ids=${serviceworker}`, {'platforms': ['web'], 'dirSuffix': 'web'}).reply(status);
-
- await actions.build(actionContext, { platform: platform });
-
- expect(actionContext.commit).to.have.been.calledWith(publish.types.UPDATE_ARCHIVELINK);
- });
-
- it('should throw an error if params are incorrect and API respond with error', () => {
- const manifestId = '-1';
- const serviceworker = -1;
- const platform = 'web';
- const status = 500;
-
- actionContext.rootState.generator.manifestId = manifestId;
- actionContext.rootState.serviceworker.serviceworker = serviceworker;
-
- axiosMock.onPost(`${process.env.apiUrl}/manifests/${manifestId}/build?ids=${serviceworker}`, {'platforms': ['web'], 'dirSuffix': 'web'}).reply(status);
-
- expect(actions.build(actionContext, { platform: platform })).to.eventually.throw();
- });
-
- it('should throw an error if platform parameter is empty', () => {
- expect(actions.build(actionContext, { platform: ''})).to.eventually.throw();
- });
- });
-
-});
\ No newline at end of file
diff --git a/test/store/modules/serviceworker.test.ts b/test/store/modules/serviceworker.test.ts
deleted file mode 100644
index aa84471e..00000000
--- a/test/store/modules/serviceworker.test.ts
+++ /dev/null
@@ -1,90 +0,0 @@
-import { ActionContext } from 'vuex';
-import { RootState } from 'store';
-
-import { expect, spy } from 'test/libs/chai';
-import { axiosMock } from 'test/libs/axios';
-
-import { actionContextMockBuilder, nuxtAxiosMockBuilder } from 'test/utils';
-
-import * as serviceworker from 'store/modules/serviceworker';
-
-let state: serviceworker.State;
-let actionContext: ActionContext;
-let actions: serviceworker.Actions;
-
-describe('store serviceworker', () => {
-
- beforeEach(() => {
- state = serviceworker.state();
- actionContext = actionContextMockBuilder(state);
- spy(actionContext, 'commit');
- actions = nuxtAxiosMockBuilder(serviceworker.actions);
- });
-
- describe('when download service worker', () => {
- it('should change generate download link', async () => {
- const serviceworkerId = 1;
- const status = 200;
-
- axiosMock.onGet(`${process.env.apiUrl}/serviceworkers?ids=${serviceworkerId}`).reply(status, {});
-
- await actions.downloadServiceWorker(actionContext, serviceworkerId);
-
- expect(actionContext.commit).to.have.been.calledWith(serviceworker.types.UPDATE_ARCHIVE);
- });
-
- it('should throw an error if params are incorrect and API respond with error', () => {
- const serviceworkerId = -1;
- const status = 500;
-
- axiosMock.onGet(`${process.env.apiUrl}/serviceworkers?ids=${serviceworkerId}`).reply(status, {});
-
- expect(actions.downloadServiceWorker(actionContext, serviceworkerId)).to.eventually.throw();
- });
-
- it('should throw an error if we send null serviceworkerId param', () => {
- expect(actions.downloadServiceWorker(actionContext, 0)).to.eventually.throw();
- });
-
- afterEach(() => {
- axiosMock.reset();
- });
- });
-
- describe('when get code', () => {
- it('should change code', async () => {
- const serviceworkerId = 1;
- const status = 200;
- axiosMock.onGet(`${process.env.apiUrl}/serviceworkers/previewcode?ids=${serviceworkerId}`).reply(status, {});
-
- await actions.getCode(actionContext, serviceworkerId);
-
- expect(actionContext.commit).to.have.been.calledWith(serviceworker.types.UPDATE_SERVICEWORKERPREVIEW);
- expect(actionContext.commit).to.have.been.calledWith(serviceworker.types.UPDATE_WEBPREVIEW);
- });
-
- it('should update error if params are incorrect and API respond with error', () => {
- const serviceworkerId = -1;
- const status = 500;
-
- axiosMock.onGet(`${process.env.apiUrl}/serviceworkers/previewcode?ids=${serviceworkerId}`).reply(status, {});
-
- expect(actions.getCode(actionContext, serviceworkerId)).to.eventually.throw();
- });
-
- it('should return error message if we send null serviceworkerId param', () => {
- expect(actions.getCode(actionContext, 0)).to.eventually.throw();
- });
-
- afterEach(() => {
- axiosMock.reset();
- });
- });
-
- describe('when reset serviceworker states', () => {
- it('should reset states', () => {
- actions.resetStates(actionContext);
- expect(actionContext.commit).to.have.been.calledWith(serviceworker.types.RESET_STATES);
- });
- });
-});
\ No newline at end of file
diff --git a/test/store/root.test.ts b/test/store/root.test.ts
deleted file mode 100644
index d0b0d3d7..00000000
--- a/test/store/root.test.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { expect } from 'test/libs/chai';
-
-import * as root from 'store/root';
-import { RootState } from 'store';
-
-describe('store root', () => {
-
- describe('when getStaticContentNames receives a collection', () => {
- it('should return empty array if collection is null', () => {
- const collection = null;
-
- expect(root.helpers.getStaticContentNames(collection)).to.be.an('array').that.is.empty;
- });
-
- it('should return mapped array if collection has values', () => {
- const collection = [
- { code: '1', name: 'test'}
- ];
-
- expect(root.helpers.getStaticContentNames(collection)[0]).to.be.equal(collection[0].name);
- });
-
- it('should works fin when is ussed in a getter', () => {
- const collection = [
- { code: '1', name: 'test'}
- ];
-
- const state = {
- languages: collection,
- displays: collection,
- orientations: collection
- };
-
- expect(root.getters.languagesNames(state, null, {} as RootState, null)[0]).to.be.equal(collection[0].name);
- expect(root.getters.displaysNames(state, null, {} as RootState, null)[0]).to.be.equal(collection[0].name);
- expect(root.getters.orientationsNames(state, null, {} as RootState, null)[0]).to.be.equal(collection[0].name);
- });
- });
-});
\ No newline at end of file
diff --git a/test/tsconfig.mocha.js b/test/tsconfig.mocha.js
deleted file mode 100644
index 0f9b99b6..00000000
--- a/test/tsconfig.mocha.js
+++ /dev/null
@@ -1,5 +0,0 @@
-require('ts-node').register({
- compilerOptions: {
- module: 'commonjs'
- }
-});
\ No newline at end of file
diff --git a/test/utils/action-context.mock.ts b/test/utils/action-context.mock.ts
deleted file mode 100644
index 628ed201..00000000
--- a/test/utils/action-context.mock.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import { ActionContext } from 'vuex';
-import { RootState, modules, state } from 'store';
-
-const modulesStates = {
- generator: modules.generator.state(),
- serviceworker: modules.serviceworker.state(),
- publish: modules.publish.state(),
- i18n: modules.i18n.state(),
- windows: modules.windows.state()
-};
-
-export let actionContextMockBuilder = (s: S): ActionContext => ({
- // @ts-ignore TS6133 type
- dispatch: (type: string) => Promise.resolve(),
- // @ts-ignore TS6133 type
- commit: (type: string) => {},
- state: s,
- getters: {},
- rootState: {...modulesStates, ...state()},
- rootGetters: {}
-});
\ No newline at end of file
diff --git a/test/utils/index.ts b/test/utils/index.ts
deleted file mode 100644
index 0b284607..00000000
--- a/test/utils/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from './action-context.mock';
-export * from './nuxt-axios.mock';
\ No newline at end of file
diff --git a/test/utils/nuxt-axios.mock.ts b/test/utils/nuxt-axios.mock.ts
deleted file mode 100644
index b8ae8bba..00000000
--- a/test/utils/nuxt-axios.mock.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import axios from 'axios';
-
-export let nuxtAxiosMockBuilder = actions => {
- let mockActions = {...actions};
- mockActions.$axios = axios;
- mockActions.$axios.$post = axios.post;
- mockActions.$axios.$get = axios.get;
-
- return mockActions;
-};
\ No newline at end of file
diff --git a/tsconfig.dev.json b/tsconfig.dev.json
new file mode 100644
index 00000000..7fd1a7f4
--- /dev/null
+++ b/tsconfig.dev.json
@@ -0,0 +1,55 @@
+{
+ "compilerOptions": {
+ "target": "es2017",
+ "module": "es2020",
+ "moduleResolution": "node",
+ "lib": ["esnext.array", "esnext", "es2017", "dom"],
+ "forceConsistentCasingInFileNames": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true,
+ "noImplicitReturns": true,
+ "noImplicitAny": true,
+ "noImplicitThis": true,
+ "noUncheckedIndexedAccess": true,
+ "strict": true,
+ "strictPropertyInitialization": true,
+ "strictFunctionTypes": true,
+ "strictNullChecks": true,
+ "allowUnusedLabels": false,
+ "preserveWatchOutput": true,
+ "outDir": "./build/",
+ "sourceMap": true,
+ // Only necessary because @types/uglify-js can't find types for source-map
+ "skipLibCheck": true,
+ "experimentalDecorators": true,
+ "allowSyntheticDefaultImports": true,
+ "plugins": [
+ {
+ "name": "ts-lit-plugin",
+ "rules": {
+ "no-complex-attribute-binding": "error",
+ "no-expressionless-property-binding": "error",
+ "no-incompatible-property-type": "error",
+ "no-incompatible-type-binding": "error",
+ "no-invalid-attribute-name": "error",
+ "no-invalid-boolean-binding": "error",
+ "no-invalid-css": "off",
+ "no-invalid-directive-binding": "error",
+ "no-invalid-tag-name": "error",
+ "no-missing-import": "off",
+ "no-noncallable-event-binding": "error",
+ "no-nullable-attribute-binding": "off",
+ "no-unclosed-tag": "error",
+ "no-unknown-attribute": "off",
+ "no-unknown-event": "off",
+ "no-unknown-property": "error",
+ "no-unknown-property-converter": "error",
+ "no-unknown-slot": "off",
+ "no-unknown-tag-name": "error"
+ }
+ }
+ ]
+ },
+ "exclude": ["node_modules", "**/*.spec.ts"]
+}
diff --git a/tsconfig.json b/tsconfig.json
index 1d6c66b6..607186c6 100755
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,35 +1,56 @@
{
"compilerOptions": {
- "target": "es5",
- "lib": [
- "dom",
- "ES2018"
- ],
- "module": "es2015",
+ "target": "es2017",
+ "module": "es2020",
"moduleResolution": "node",
- "experimentalDecorators": true,
- "noImplicitAny": false,
- "noImplicitThis": false,
+ "lib": ["esnext.array", "esnext", "es2017", "dom"],
+ "forceConsistentCasingInFileNames": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true,
+ "noImplicitReturns": true,
+ "noImplicitAny": true,
+ "noImplicitThis": true,
+ "noUncheckedIndexedAccess": true,
+ "strict": true,
+ "strictPropertyInitialization": true,
+ "strictFunctionTypes": true,
"strictNullChecks": true,
- "removeComments": true,
- "suppressImplicitAnyIndexErrors": true,
+ "allowUnusedLabels": false,
+ "preserveWatchOutput": true,
+ "outDir": "./dist/",
+ // Only necessary because @types/uglify-js can't find types for source-map
+ "skipLibCheck": true,
+ "experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
- "baseUrl": ".",
- "allowJs": true,
- "paths": {
- "~/*": ["./"],
- "~/assets/*": ["./assets/*"],
- "~/components/*": ["./components/*"],
- "~/middleware/*": ["./middleware/*"],
- "~/pages/*": ["./pages/*"],
- "~/plugins/*": ["./plugins/*"],
- "~/static/*": ["./static/*"],
- "~/store/*": ["./store/*"],
- "~/utils/*": ["./utils/*"],
- "~/test/*": ["./test/*"]
- }
+ "resolveJsonModule": true,
+ "plugins": [
+ {
+ "name": "ts-lit-plugin",
+ "rules": {
+ "no-complex-attribute-binding": "error",
+ "no-expressionless-property-binding": "error",
+ "no-incompatible-property-type": "error",
+ "no-incompatible-type-binding": "error",
+ "no-invalid-attribute-name": "error",
+ "no-invalid-boolean-binding": "error",
+ "no-invalid-css": "off",
+ "no-invalid-directive-binding": "error",
+ "no-invalid-tag-name": "error",
+ "no-missing-import": "off",
+ "no-noncallable-event-binding": "error",
+ "no-nullable-attribute-binding": "off",
+ "no-unclosed-tag": "error",
+ "no-unknown-attribute": "off",
+ "no-unknown-event": "off",
+ "no-unknown-property": "error",
+ "no-unknown-property-converter": "error",
+ "no-unknown-slot": "off",
+ "no-unknown-tag-name": "error"
+ }
+ }
+ ]
},
- "exclude": ["./environments/*"]
+ "include": ["pwabuilder-sw.ts"],
+ "exclude": ["node_modules", "**/*.spec.ts", "build/pwabuilder-sw.js"]
}
diff --git a/tslint.json b/tslint.json
deleted file mode 100644
index 2bbd055e..00000000
--- a/tslint.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "defaultSeverity": "warning",
- "rules": {
- "class-name": true,
- "comment-format": [
- false,
- "check-space"
- ],
- "indent": [
- true,
- "spaces"
- ],
- "linebreak-style": false,
- "one-line": [
- true,
- "check-open-brace",
- "check-whitespace"
- ],
- "no-var-keyword": true,
- /*"quotemark": [
- true,
- "single",
- "avoid-escape"
- ],*/
- "semicolon": [
- true,
- "ignore-bound-class-methods"
- ],
- "whitespace": [
- true,
- "check-branch",
- "check-decl",
- "check-operator",
- "check-module",
- "check-separator",
- "check-type"
- ],
- "typedef-whitespace": [
- true,
- {
- "call-signature": "nospace",
- "index-signature": "nospace",
- "parameter": "nospace",
- "property-declaration": "nospace",
- "variable-declaration": "nospace"
- }
- ],
- "no-internal-module": true,
- "no-trailing-whitespace": false,
- "no-inferrable-types": true,
- "no-null-keyword": false,
- "prefer-const": false
- }
-}
\ No newline at end of file
diff --git a/typings/vue.d.ts b/typings/vue.d.ts
deleted file mode 100644
index c2df76fc..00000000
--- a/typings/vue.d.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-// Make sure to import 'vue' before declaring augmented types
-import Vue from 'vue'
-import VueRouter from 'vue-router';
-
-// Specify a file with the types you want to augment
-
-declare module 'vue-i18n/types/index' {
- // Declare augmentation for Vue-i18n
- interface IVueI18n {
- path: (path: string) => string;
- }
-}
-
-declare module 'vue/types/vue' {
- // Declare augmentation for Vue
- interface Vue {
- $awa: any;
- $ga: any;
- $router: VueRouter;
- }
-}
-
-
-
diff --git a/uitest/index.spec.js b/uitest/index.spec.js
deleted file mode 100644
index 5bc10c58..00000000
--- a/uitest/index.spec.js
+++ /dev/null
@@ -1,66 +0,0 @@
-const { expect } = require('chai');
-const puppeteer = require('puppeteer');
-
-let browser;
-let page;
-
-before(async () => {
- browser = await puppeteer.launch({
- headless: true,
- slowMo: 100
- });
-
- page = await browser.newPage();
- await page.goto('https://pwabuilder-site-prod-staging.azurewebsites.net');
-});
-
-beforeEach(async () => {
- await page.goto('https://pwabuilder-site-prod-staging.azurewebsites.net');
- await page.reload();
-})
-
-after(() => {
- browser.close();
-});
-
-describe('report card page', () => {
- it('should test a site', async () => {
- await page.waitFor('#getStartedInput');
-
- await page.click('#getStartedInput');
-
- await page.type('#getStartedInput', 'https://webboard.app');
-
- await page.click('#getStartedButton');
-
- await page.waitFor('#overallScore');
-
- expect(await page.$eval('#overallScore', el => el)).to.exist;
- });
-
- it('should fail a bad URL', async () => {
- await page.waitFor('#getStartedInput');
-
- await page.click('#getStartedInput');
-
- await page.type('#getStartedInput', 'https://self-signed.badssl.com/');
-
- await page.click('#getStartedButton');
-
- await page.waitFor('#overallScore');
-
- expect(await page.$eval('.brkManifestError', el => el)).to.exist;
- });
-});
-
-describe('features page', () => {
- it('should load the features page', async () => {
- await page.waitFor('#getStartedInput');
-
- await page.goto('https://pwabuilder-site-prod-staging.azurewebsites.net/features');
-
- await page.waitFor('#featurePageHeader');
-
- expect(await page.$eval('#featureListBlock', el => el)).to.exist;
- })
-});
diff --git a/utils/android-utils.ts b/utils/android-utils.ts
deleted file mode 100644
index 150ae667..00000000
--- a/utils/android-utils.ts
+++ /dev/null
@@ -1,174 +0,0 @@
-import { AndroidApkOptions, AndroidSigningOptions } from "~/store/modules/publish";
-
-type AndroidPackageValidationError = {
- field: keyof AndroidApkOptions | keyof AndroidSigningOptions | null;
- error: string;
-}
-
-const DISALLOWED_ANDROID_PACKAGE_CHARS_REGEX = /[^a-zA-Z0-9_]/g;
-export function generatePackageId(host: string): string {
- const parts = host
- .split(".")
- .reverse()
- .map(p => p.trim().toLowerCase())
- .filter(p => p.length > 0)
- .map(p => p.replace(DISALLOWED_ANDROID_PACKAGE_CHARS_REGEX, "_"))
- parts.push("twa");
- return parts.join(".");
-}
-
-export function validateAndroidOptions(options: Partial): AndroidPackageValidationError[] {
- const validationErrors: AndroidPackageValidationError[] = [];
- if (!options) {
- validationErrors.push({ field: null, error: "No options specified " });
- return validationErrors;
- }
-
- if (!options.packageId) {
- validationErrors.push({ field: "packageId", error: "No package ID" });
- }
-
- if (options.packageId && options.packageId.search(/[^a-zA-Z0-9_\.]/) !== -1) {
- validationErrors.push({ field: "packageId", error: "Package ID must not contain any character other than alphanumeric and period." });
- }
-
- if (!options.name || options.name.trim().length === 0) {
- validationErrors.push({ field: "name", error: "Must have a valid app name" });
- }
-
- if (!options.appVersion || options.appVersion.trim().length === 0) {
- validationErrors.push({ field: "appVersion", error: "Must have a valid app version" });
- }
-
- if (!options.appVersionCode || options.appVersionCode > 2100000000) {
- validationErrors.push({ field: "appVersionCode", error: "App version code must be between 1 and 2100000000" });
- }
-
- if (!options.backgroundColor) {
- validationErrors.push({ field: "backgroundColor", error: "Must have a background color" });
- }
-
- if ((options.display as string) !== "standalone" && (options.display as string) !== "fullscreen") {
- validationErrors.push({ field: "display", error: "Display must be 'standalone' or 'fullscreen'" })
- }
-
- if ((options.fallbackType as string) !== "customtabs" && (options.fallbackType as string) !== "webview") {
- validationErrors.push({ field: "fallbackType", error: "Fallback type must be 'customtabs' or 'webview'" });
- }
-
- if (!options.host) {
- validationErrors.push({ field: "host", error: "Host must be specified" });
- } else {
- const hostUrlError = validateUrl(options.host);
- if (hostUrlError) {
- validationErrors.push({ field: "host", error: "Host URL must be a valid absolute URL" });
- }
- }
-
- if (!options.iconUrl) {
- validationErrors.push({ field: "iconUrl", error: "Must have a icon URL" });
- } else {
- const iconUrlError = validateUrl(options.iconUrl, options.host);
- if (iconUrlError) {
- validationErrors.push({ field: "iconUrl", error: "Icon URL is invalid" });
- }
- }
-
- if (!options.launcherName || options.launcherName.trim().length === 0) {
- validationErrors.push({ field: "launcherName", error: "Must have an app launcher name" });
- }
-
- if (!options.webManifestUrl) {
- validationErrors.push({ field: "webManifestUrl", error: "Must have a manifest URL" });
- } else {
- const manifestUrlError = validateUrl(options.webManifestUrl);
- if (manifestUrlError) {
- validationErrors.push({ field: "webManifestUrl", error: "Manifest URL is invalid" });
- }
- }
-
- // Maskable icon is optional. But if it's specified, it must be a valid URL.
- if (options.maskableIconUrl) {
- const maskableIconError = validateUrl(options.maskableIconUrl, options.host);
- if (maskableIconError) {
- validationErrors.push({ field: "maskableIconUrl", error: "Maskable icon URL was invalid. If you specify a maskable icon URL, it must be a valid URL." });
- }
- }
-
- // monochrome icon is also optional.
- if (options.monochromeIconUrl) {
- const monochromeIconError = validateUrl(options.monochromeIconUrl, options.host);
- if (monochromeIconError) {
- validationErrors.push({ field: "monochromeIconUrl", error: "Monochrome icon URL was invalid. If you specify a monochrome icon URL, it must be a valid URL." });
- }
- }
-
- if (!options.navigationColor) {
- validationErrors.push({ "field": "navigationColor", error: "Navigation color is required" });
- }
-
- // Validating signing options when we have a signing mode
- if (options.signingMode === "mine" || options.signingMode === "new") {
- if (!options.signing) {
- validationErrors.push({ field: "signing", error: "Signing information must be supplied." });
- } else {
- // Full name, organization, organizational unit, and country are required if signingMode !== mine
- // File is required only signingMode === "mine"
- // Store password and key password are required only if signingMode === "mine"; otherwise, they're optional and CloudAPK will generate a new password for you.
- const requiredSigningFields: Array = [
- "alias"
- ];
- if (options.signingMode === "mine") {
- requiredSigningFields.push("file", "keyPassword", "storePassword");
- } else if (options.signingMode === "new") {
- // New key? We require these details to create the key.
- requiredSigningFields.push("fullName", "organization", "organizationalUnit", "countryCode");
- }
-
- requiredSigningFields
- .filter(prop => !options.signing![prop])
- .forEach(prop => validationErrors.push({ field: prop, error: `${prop} must be specified` }));
-
- // If key password and store password are specified, they must be >= 6 chars in length.
- if (options.signing.keyPassword && options.signing.keyPassword.length < 6) {
- validationErrors.push({ field: "keyPassword" , error: "Key password must be at least 6 characters" });
- }
- if (options.signing.storePassword && options.signing.storePassword.length < 6) {
- validationErrors.push({ field: "storePassword" , error: "Key store password must be at least 6 characters" });
- }
-
- // Ensure country code is 2 chars
- if (options.signingMode === "new" && options.signing.countryCode && options.signing.countryCode.length !== 2) {
- validationErrors.push({ field: "countryCode", error: "Signing key country code must be 2 letters" });
- }
- }
- }
-
- if (options.splashScreenFadeOutDuration === null || options.splashScreenFadeOutDuration === undefined || options.splashScreenFadeOutDuration < 0) {
- validationErrors.push({ field: "splashScreenFadeOutDuration", error: "Splash screen fade duration must be 0 or greater" })
- }
-
- if (!options.startUrl) {
- validationErrors.push({ field: "startUrl", error: "Start URL must be specified. If your start URL is the same as Host, you can use '/' as the start URL." });
- } else {
- const startUrlError = validateUrl(options.startUrl, options.host);
- if (startUrlError) {
- validationErrors.push({ field: "startUrl", error: "Start URL is invalid" });
- }
- }
-
- if (!options.themeColor) {
- validationErrors.push({ field: "themeColor", error: "Theme color must be specified" });
- }
-
- return validationErrors;
-}
-
-export function validateUrl(url: string, base?: string): string | null {
- try {
- new URL(url, base);
- return null;
- } catch (urlError) {
- return urlError;
- }
-}
\ No newline at end of file
diff --git a/utils/caching.ts b/utils/caching.ts
deleted file mode 100644
index 18f81e5c..00000000
--- a/utils/caching.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-export const setCache = (type: string, url: string, data) => {
- const existingData = sessionStorage.getItem(`${type}/${url}`);
-
- if (existingData) {
- return JSON.parse(existingData);
- }
- else {
- sessionStorage.setItem(`${type}/${url}`, JSON.stringify(data));
- }
-}
-
-export const getCache = (type: string, url) => {
- const data = sessionStorage.getItem(`${type}/${url}`);
-
- if (data) {
- return JSON.parse(data);
- }
- else {
- return null;
- }
-}
\ No newline at end of file
diff --git a/utils/color-constants.ts b/utils/color-constants.ts
deleted file mode 100644
index 2335756a..00000000
--- a/utils/color-constants.ts
+++ /dev/null
@@ -1,153 +0,0 @@
-export default {
- colorsAlias: {
- 'aliceblue': '#f0f8ff',
- 'antiquewhite': '#faebd7',
- 'aqua': '#00ffff',
- 'aquamarine': '#7fffd4',
- 'azure': '#f0ffff',
- 'beige': '#f5f5dc',
- 'bisque': '#ffe4c4',
- 'black': '#000000',
- 'blanchedalmond': '#ffebcd',
- 'blue': '#0000ff',
- 'blueviolet': '#8a2be2',
- 'brown': '#a52a2a',
- 'burlywood': '#deb887',
- 'cadetblue': '#5f9ea0',
- 'chartreuse': '#7fff00',
- 'chocolate': '#d2691e',
- 'coral': '#ff7f50',
- 'cornflowerblue': '#6495ed',
- 'cornsilk': '#fff8dc',
- 'crimson': '#dc143c',
- 'cyan': '#00ffff',
- 'darkblue': '#00008b',
- 'darkcyan': '#008b8b',
- 'darkgoldenrod': '#b8860b',
- 'darkgray': '#a9a9a9',
- 'darkgrey': '#a9a9a9',
- 'darkgreen': '#006400',
- 'darkkhaki': '#bdb76b',
- 'darkmagenta': '#8b008b',
- 'darkolivegreen': '#556b2f',
- 'darkorange': '#ff8c00',
- 'darkorchid': '#9932cc',
- 'darkred': '#8b0000',
- 'darksalmon': '#e9967a',
- 'darkseagreen': '#8fbc8f',
- 'darkslateblue': '#483d8b',
- 'darkslategray': '#2f4f4f',
- 'darkslategrey': '#2f4f4f',
- 'darkturquoise': '#00ced1',
- 'darkviolet': '#9400d3',
- 'deeppink': '#ff1493',
- 'deepskyblue': '#00bfff',
- 'dimgray': '#696969',
- 'dimgrey': '#696969',
- 'dodgerblue': '#1e90ff',
- 'firebrick': '#b22222',
- 'floralwhite': '#fffaf0',
- 'forestgreen': '#228b22',
- 'fuchsia': '#ff00ff',
- 'gainsboro': '#dcdcdc',
- 'ghostwhite': '#f8f8ff',
- 'gold': '#ffd700',
- 'goldenrod': '#daa520',
- 'gray': '#808080',
- 'grey': '#808080',
- 'green': '#008000',
- 'greenyellow': '#adff2f',
- 'honeydew': '#f0fff0',
- 'hotpink': '#ff69b4',
- 'indianred': '#cd5c5c',
- 'indigo': '#4b0082',
- 'ivory': '#fffff0',
- 'khaki': '#f0e68c',
- 'lavender': '#e6e6fa',
- 'lavenderblush': '#fff0f5',
- 'lawngreen': '#7cfc00',
- 'lemonchiffon': '#fffacd',
- 'lightblue': '#add8e6',
- 'lightcoral': '#f08080',
- 'lightcyan': '#e0ffff',
- 'lightgoldenrodyellow': '#fafad2',
- 'lightgray': '#d3d3d3',
- 'lightgrey': '#d3d3d3',
- 'lightgreen': '#90ee90',
- 'lightpink ': '#ffb6c1',
- 'lightsalmon': '#ffa07a',
- 'lightseagreen': '#20b2aa',
- 'lightskyblue': '#87cefa',
- 'lightslategray': '#778899',
- 'lightslategrey': '#778899',
- 'lightsteelblue': '#b0c4de',
- 'lightyellow': '#ffffe0',
- 'lime': '#00ff00',
- 'limegreen': '#32cd32',
- 'linen': '#faf0e6',
- 'magenta': '#ff00ff',
- 'maroon': '#800000',
- 'mediumaquamarine': '#66cdaa',
- 'mediumblue': '#0000cd',
- 'mediumorchid': '#ba55d3',
- 'mediumpurple': '#9370db',
- 'mediumseagreen': '#3cb371',
- 'mediumslateblue': '#7b68ee',
- 'mediumspringgreen': '#00fa9a',
- 'mediumturquoise': '#48d1cc',
- 'mediumvioletred': '#c71585',
- 'midnightblue': '#191970',
- 'mintcream': '#f5fffa',
- 'mistyrose': '#ffe4e1',
- 'moccasin': '#ffe4b5',
- 'navajowhite': '#ffdead',
- 'navy': '#000080',
- 'oldlace': '#fdf5e6',
- 'olive': '#808000',
- 'olivedrab': '#6b8e23',
- 'orange': '#ffa500',
- 'orangered': '#ff4500',
- 'orchid': '#da70d6',
- 'palegoldenrod': '#eee8aa',
- 'palegreen': '#98fb98',
- 'paleturquoise': '#afeeee',
- 'palevioletred': '#db7093',
- 'papayawhip': '#ffefd5',
- 'peachpuff ': '#ffdab9',
- 'peru': '#cd853f',
- 'pink': '#ffc0cb',
- 'plum': '#dda0dd',
- 'powderblue': '#b0e0e6',
- 'purple ': '#800080',
- 'rebeccapurple': '#663399',
- 'red': '#ff0000',
- 'rosybrown': '#bc8f8f',
- 'royalblue': '#4169e1',
- 'saddlebrown': '#8b4513',
- 'salmon': '#fa8072',
- 'sandybrown': '#f4a460',
- 'seagreen': '#2e8b57',
- 'seashell': '#fff5ee',
- 'sienna': '#a0522d',
- 'silver': '#c0c0c0',
- 'skyblue': '#87ceeb',
- 'slateblue': '#6a5acd',
- 'slategray': '#708090',
- 'slategrey': '#708090',
- 'snow': '#fffafa',
- 'springgreen': '#00ff7f',
- 'steelblue': '#4682b4',
- 'tan': '#d2b48c',
- 'teal': '#008080',
- 'thistle': '#d8bfd8',
- 'tomato': '#ff6347',
- 'turquoise': '#40e0d0',
- 'violet': '#ee82ee',
- 'wheat': '#f5deb3',
- 'white': '#ffffff',
- 'whitesmoke': '#f5f5f5',
- 'yellow': '#ffff00',
- 'yellowgreen': '#9acd32',
- 'transparent': '#000000'
- }
-};
\ No newline at end of file
diff --git a/utils/color-converter.ts b/utils/color-converter.ts
deleted file mode 100644
index a9f99032..00000000
--- a/utils/color-converter.ts
+++ /dev/null
@@ -1,168 +0,0 @@
-import colorConstants from './color-constants';
-
-// Migrated from ember project
-export default {
- isAlias: function(color) {
- return typeof colorConstants.colorsAlias[color.toLowerCase()] !== 'undefined';
- },
- isHexadecimal: function(color) {
- return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(color);
- },
- rgbRegExp : /^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(0?\.?\d+))?\)$/,
- isRGB: function(color) {
- return this.rgbRegExp.test(color.toLowerCase());
- },
- hslRegExp : /^hsla?\(\s*(0|[1-9]\d?|[12]\d\d|3[0-5]\d)\s*,\s*((0|[1-9]\d?|100)%)\s*,\s*((0|[1-9]\d?|100)%)\s*(?:,\s*(0?\.?\d+)?)?\)$/,
- isHSL : function (color) {
- return this.hslRegExp.test(color.toLowerCase());
- },
- fromHexadecimal: function (color, aChannel) {
- if (!this.isHexadecimal(color)) {
- throw new Error('The color passed has not a valid format: ' + color);
- }
-
- aChannel = aChannel || 'ff';
-
- color = color.replace('#', '');
- if (color.length === 3) {
- color = color[0] + color[0] + color[1] + color[1] + color[2] + color[2];
- }
-
- return '0x' + aChannel + color;
- },
- fromAlias: function (color) {
- if (!this.isAlias(color)) {
- throw new Error('The color passed has not a valid format.');
- }
- let alphaChannel = 1;
- if (color === 'transparent') {
- alphaChannel = 0;
- }
- alphaChannel = this.getHexaWithPadding(alphaChannel * 255);
-
- let hexColor = colorConstants.colorsAlias[color.toLowerCase()];
- return this.fromHexadecimal(hexColor, alphaChannel);
- },
- fromRGB: function(color) {
- if (!this.isRGB(color)) {
- throw new Error('The color passed has not a valid format: ' + color);
- }
- let channels = this.rgbRegExp.exec(color);
- if (channels === null) {
- throw new Error('The color passed has not a valid format: ' + channels);
- }
-
- let hexaColor = '#' + this.getHexaWithPadding(channels[1]) + this.getHexaWithPadding(channels[2]) + this.getHexaWithPadding(channels[3]);
-
- let alphaChannel = 'ff';
-
- if (channels.length === 5 && channels[4] !== null) {
- //Convert Alpha Channel.
- alphaChannel = this.getHexaWithPadding(channels[4] * 255);
- }
- return this.fromHexadecimal(hexaColor, alphaChannel);
- },
- fromHSL: function(color) {
- if (!this.isHSL(color)) {
- throw new Error('The color passed has not a valid format: ' + color);
- }
-
- let channels = this.hslRegExp.exec(color);
- if (channels === null) {
- throw new Error('The color passed has not a valid format: ' + channels);
- }
-
- let alphaChannel = 'ff';
- if (channels.length === 7 && channels[6] !== null) {
- //Convert Alpha Channel.
- alphaChannel = this.getHexaWithPadding(channels[6] * 255);
- }
-
- let rgb = this.hslToRgb(channels[1], channels[3], channels[5]);
-
- let hexaColor = '#' + this.getHexaWithPadding(rgb.r) + this.getHexaWithPadding(rgb.g) + this.getHexaWithPadding(rgb.b);
- return this.fromHexadecimal(hexaColor, alphaChannel);
- },
- toHexadecimal: function(color) {
- if (this.isAlias(color)) {
- return this.fromAlias(color);
- }
- if (this.isHexadecimal(color)) {
- return this.fromHexadecimal(color);
- }
- if (this.isRGB(color)) {
- return this.fromRGB(color);
- }
- if (this.isHSL(color)) {
- return this.fromHSL(color);
- }
- return null;
- },
- hslToRgb: function (h, s, l) {
- let r, g, b;
-
- h = this.bound01(h, 360);
- s = this.bound01(s, 100);
- l = this.bound01(l, 100);
-
- function hue2rgb(p, q, t) {
- if (t < 0) {
- t += 1;
- }
- if (t > 1) {
- t -= 1;
- }
- if (t < 1 / 6) {
- return p + (q - p) * 6 * t;
- }
- if (t < 1 / 2) {
- return q;
- }
- if (t < 2 / 3) {
- return p + (q - p) * (2 / 3 - t) * 6;
- }
- return p;
- }
-
- if (s === 0) {
- r = g = b = l; // achromatic
- }
- else {
- let q = l < 0.5 ? l * (1 + s) : l + s - l * s;
- let p = 2 * l - q;
- r = hue2rgb(p, q, h + 1 / 3);
- g = hue2rgb(p, q, h);
- b = hue2rgb(p, q, h - 1 / 3);
- }
-
- return { r: r * 255, g: g * 255, b: b * 255 };
- },
- bound01: function(n, max) {
- if (this.isOnePointZero(n)) { n = '100%'; }
-
- let processPercent = this.isPercentage(n);
- n = Math.min(max, Math.max(0, parseFloat(n)));
-
- if (processPercent) {
- n = parseInt((n * max) + '', 10) / 100;
- }
-
- if ((Math.abs(n - max) < 0.000001)) {
- return 1;
- }
-
- return (n % max) / parseFloat(max);
- },
- isOnePointZero: function(n) {
- return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;
- },
- isPercentage: function(n) {
- return typeof n === 'string' && n.indexOf('%') !== -1;
- },
- getHexaWithPadding: function(number) {
- let simpleHexa = parseInt(number).toString(16);
- let pad = '00';
-
- return (pad + simpleHexa).slice(-2);
- }
-};
\ No newline at end of file
diff --git a/utils/helper.ts b/utils/helper.ts
deleted file mode 100644
index 17c7918c..00000000
--- a/utils/helper.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-export default {
- debounce: function (func:any, wait:number, immediate:boolean) {
- var timeout;
- return function() {
- var context = this, args = arguments;
- var later = function() {
- timeout = null;
- if (!immediate) func.apply(context, args);
- };
- var callNow = immediate && !timeout;
- clearTimeout(timeout);
- timeout = setTimeout(later, wait);
- if (callNow) func.apply(context, args);
- };
- },
- isValidJson: function (json) {
- try {
- JSON.parse(json);
- return true;
- } catch (e) {
- return false;
- }
- }
-};
\ No newline at end of file
diff --git a/utils/manifest-fetcher.ts b/utils/manifest-fetcher.ts
deleted file mode 100644
index d8817638..00000000
--- a/utils/manifest-fetcher.ts
+++ /dev/null
@@ -1,162 +0,0 @@
-import { ManifestDetectionResult, Manifest } from "~/store/modules/generator/generator.state";
-
-/**
- * Fetches web manifests from a URL. Wraps up logic that uses multiple services to find the manifest.
- */
-export class ManifestFetcher {
- private readonly apiUrl = `${process.env.apiUrl}/manifests`;
-
- constructor (private url: string, private axios: any) {
-
- }
-
- async fetch(): Promise {
-
- // Manifest detection is surprisingly tricky due to redirects, dynamic code generation, SSL problems, and other issues.
- // We have 3 techniques to detect the manifest:
- // 1. The legacy PWABuilder API
- // 2. An Azure function that uses Chrome Puppeteer to fetch the manifest
- // 3. An Azure function that parses the HTML to find the manifest.
- // This fetch() function runs all 3 manifest detection schemes concurrently and returns the first one that succeeds.
-
- const manifestDetectors = [
- this.getManifestViaApi(),
- this.getManifestViaFilePost(),
- this.getManifestViaHtmlParse()
- ];
-
- // We want to use Promise.any(...), but browser support is too low at the time of this writing: https://caniuse.com/mdn-javascript_builtins_promise_any
- // Use our polyfill if needed.
- const promiseAnyOrPolyfill: (promises: Promise[]) => Promise =
- (promises) => Promise["any"] ? Promise["any"](promises) : this.promiseAny(promises);
-
- try {
- return await promiseAnyOrPolyfill(manifestDetectors);
- } catch (manifestDetectionError) {
- console.error("All manifest detectors failed.", manifestDetectionError);
-
- // Well, we sure tried.
- throw manifestDetectionError;
- }
- }
-
- // This is a polyfill for Promise.any(...), which isn't well supported yet at the time of this writing: https://caniuse.com/mdn-javascript_builtins_promise_any
- private promiseAny(promises: Promise[]): Promise