From 04fe1c0b08a560d0d584e53ecbc81a9cd89e0bca Mon Sep 17 00:00:00 2001 From: Michele Pegoraro Date: Thu, 19 Mar 2020 15:54:30 +0000 Subject: [PATCH] General Availability Release codebase --- .env.development | 1 + .env.local | 1 + .env.production | 1 + .env.staging | 1 + .gitignore | 72 +- .markdownlint.json | 1 + .travis.yml | 14 +- README.md | 2 +- book.json | 5 - dockerfiles/HTTPServer/CE.Dockerfile | 43 + dockerfiles/HTTPServer/Dockerfile | 26 - .../HTTPServer/StaticContent.Dockerfile | 49 + dockerfiles/HTTPServer/configure_admin.sh | 18 - .../HTTPServer/httpdconfig/custom_ssl.conf | 8 +- .../httpdconfig/custom_staticcontent.conf | 2 +- dockerfiles/HTTPServer/ihs_responsefile.txt | 25 - dockerfiles/HTTPServer/ihsstart.sh | 68 + dockerfiles/Liberty/Batch.Dockerfile | 28 +- dockerfiles/Liberty/EAR.Dockerfile | 50 +- dockerfiles/Liberty/XMLServer.Dockerfile | 25 +- dockerfiles/Liberty/content/build.gradle | 32 - .../application_CuramServerCode.xml | 39 - .../configOverride/application_TEMPLATE.xml | 39 - .../configOverride/server_endpoints.xml | 19 - dockerfiles/Liberty/content/docker-server.sh | 51 + dockerfiles/Liberty/content/getJavaMail.xml | 36 + dockerfiles/MQ/Dockerfile | 2 +- docs/01-PREREQ/Docker-Kubernetes-Helm.md | 43 - docs/01-PREREQ/prereq.md | 9 - docs/02-BUILD-CONTAINERS/build_docker.md | 175 - docs/02-BUILD-CONTAINERS/build_docker2.md | 57 - docs/03-DEPLOYMENT/hc_deployment.md | 73 - docs/03-DEPLOYMENT/hc_preparation.md | 100 - docs/04-RUNTIME/xmlserver.md | 15 - docs/CONTACT/contact_us.md | 8 - docs/CONTRIBUTING.md | 46 - docs/IMAGES/MiniKube-dashboard.png | Bin 273490 -> 0 bytes docs/IMAGES/architecture.png | Bin 33743 -> 0 bytes docs/IMAGES/summary_process.png | Bin 36430 -> 0 bytes docs/IMAGES/summary_process.pptx | Bin 38092 -> 0 bytes docs/README.md | 42 - docs/SUMMARY.md | 38 - gatsby-browser.js | 1 + gatsby-config.js | 53 + helm-charts/apps/Chart.yaml | 12 +- helm-charts/apps/templates/_helpers.tpl | 51 +- .../apps/templates/configmap-customsql.yaml | 35 +- .../configmap-jvm-options-override.yaml | 32 + .../apps/templates/deployment-consumer.yaml | 331 + .../apps/templates/deployment-producer.yaml | 395 + helm-charts/apps/templates/deployment.yaml | 245 - helm-charts/apps/templates/service.yaml | 4 +- helm-charts/apps/values.yaml | 248 +- helm-charts/batch/Chart.yaml | 12 +- helm-charts/batch/templates/_helpers.tpl | 16 +- helm-charts/batch/templates/cronjob.yaml | 30 +- helm-charts/batch/values.yaml | 49 +- helm-charts/ce-app/.helmignore | 22 + helm-charts/ce-app/Chart.yaml | 34 + helm-charts/ce-app/LICENSE | 201 + helm-charts/ce-app/templates/_helpers.tpl | 101 + helm-charts/ce-app/templates/deployment.yaml | 88 + helm-charts/ce-app/templates/service.yaml | 34 + helm-charts/ce-app/values.yaml | 45 + helm-charts/configmaps/Chart.yaml | 12 +- helm-charts/configmaps/templates/NOTES.txt | 3 - helm-charts/configmaps/templates/_helpers.tpl | 36 +- .../templates/configmap-applications.yaml | 40 + .../templates/configmap-birt-bind.yaml | 44 + .../templates/configmap-bootstrap.yaml | 3 +- .../templates/configmap-dbconn.yaml | 2 +- .../templates/configmap-endpoints.yaml | 2 +- .../configmap-jms-consumer-bind.yaml | 64 + .../configmap-jms-consumer-security.yaml | 72 + .../configmap-jms-producer-bind.yaml | 73 + .../configmap-jms-producer-security.yaml | 80 + .../templates/configmap-jvm-options.yaml | 34 + .../configmaps/templates/configmap-log4j.yaml | 2 +- .../templates/configmap-logging.yaml | 2 +- .../templates/configmap-ltpa-keys.yaml | 30 + .../templates/configmap-openldap.yaml | 45 + .../templates/configmap-server.yaml | 5 +- .../templates/configmap-sessions.yaml | 20 +- .../templates/configmap-transactions.yaml | 33 + helm-charts/configmaps/values.yaml | 43 +- helm-charts/ihs/Chart.yaml | 16 +- helm-charts/ihs/templates/NOTES.txt | 21 - helm-charts/ihs/templates/_helpers.tpl | 53 + helm-charts/ihs/templates/deployment.yaml | 50 +- helm-charts/ihs/templates/secret.yaml | 10 - helm-charts/ihs/templates/service.yaml | 25 +- .../ihs/templates/tests/test-connection.yaml | 15 - helm-charts/ihs/values.yaml | 68 +- helm-charts/mqserver/Chart.yaml | 13 +- helm-charts/mqserver/templates/_helpers.tpl | 16 +- .../templates/configmap-messaging.yaml | 146 +- .../mqserver/templates/configmap-mqsc.yaml | 4 +- .../mqserver/templates/deployment.yaml | 34 +- helm-charts/mqserver/templates/mq-secret.yaml | 6 +- helm-charts/mqserver/templates/service.yaml | 4 +- helm-charts/mqserver/values.yaml | 42 +- helm-charts/openldap/.helmignore | 21 + helm-charts/openldap/Chart.yaml | 34 + helm-charts/openldap/LICENSE | 201 + helm-charts/openldap/templates/_helpers.tpl | 56 + .../templates/configmap-customldif.yaml | 40 + .../openldap/templates/configmap-env.yaml | 37 + .../openldap/templates/deployment.yaml | 191 + helm-charts/openldap/templates/pvc.yaml | 44 + helm-charts/openldap/templates/secret.yaml | 35 + helm-charts/openldap/templates/service.yaml | 59 + .../templates/tests/openldap-test-runner.yaml | 67 + .../templates/tests/openldap-tests.yaml | 39 + helm-charts/openldap/values.yaml | 133 + helm-charts/spm/Chart.yaml | 13 +- helm-charts/spm/requirements.yaml | 28 +- helm-charts/spm/templates/_helpers.tpl | 19 +- helm-charts/spm/templates/ingress.yaml | 29 +- .../spm/templates/persistence-pvc.yaml | 37 + .../spm/templates/persistence-secret.yaml | 27 + helm-charts/spm/templates/pull-secret.yaml | 5 +- helm-charts/spm/templates/tls-secret.yaml | 5 +- helm-charts/spm/values.yaml | 235 +- helm-charts/xmlserver/Chart.yaml | 13 +- helm-charts/xmlserver/templates/_helpers.tpl | 40 +- .../xmlserver/templates/deployment.yaml | 8 +- helm-charts/xmlserver/templates/service.yaml | 6 +- helm-charts/xmlserver/values.yaml | 17 +- package-lock.json | 19787 ++++++++++++++++ package.json | 23 + src/data/nav-items.yaml | 86 + src/gatsby-theme-carbon/components/Footer.js | 23 + src/gatsby-theme-carbon/components/Header.js | 13 + .../components/LeftNav/ResourceLinks.js | 18 + .../components/languages/prism-powershell.js | 56 + src/gatsby-theme-carbon/templates/Homepage.js | 20 + .../templates/Homepage.module.scss | 5 + src/images/Minikube-dashboard.png | Bin 0 -> 493983 bytes src/images/carbon.jpg | Bin 0 -> 74033 bytes src/images/dev_workstation_architecture.png | Bin 0 -> 63438 bytes src/images/remote_debugger.png | Bin 0 -> 630027 bytes src/images/spm-reference-arch-kube.png | Bin 0 -> 329919 bytes .../spm_batch_processing_on_kubernetes.png | Bin 0 -> 40334 bytes src/images/spm_on_kubernetes.png | Bin 0 -> 43116 bytes .../spm_static_content_on_kubernetes.png | Bin 0 -> 116607 bytes src/images/summary_process.png | Bin 0 -> 29661 bytes src/images/upgrade_flow.png | Bin 0 -> 59010 bytes src/pages/00-intro/IHSStaticContent.mdx | 37 + src/pages/00-intro/arch-overview.mdx | 45 + src/pages/00-intro/deploy-arch.mdx | 67 + src/pages/00-intro/referenceArchSPM.mdx | 28 + .../pages/01-deploy-spm/SPM-sw.mdx | 37 +- .../pages/01-deploy-spm/create_spm_db.mdx | 15 +- .../pages/01-deploy-spm/spm-build.mdx | 303 +- .../pages/01-prereq/3rdparty-sw.mdx | 53 +- .../01-prereq/Docker-Kubernetes-Helm.mdx | 58 + .../pages/01-prereq/chartmuseum.mdx | 47 +- .../git.md => src/pages/01-prereq/git.mdx | 19 +- src/pages/01-prereq/iks.mdx | 24 + .../pages/01-prereq/minikube.mdx | 153 +- src/pages/01-prereq/prereq.mdx | 14 + src/pages/02-build-images/build_images.mdx | 136 + .../02-build-images/setup_docker_context.mdx | 153 + src/pages/03-deployment/hc_deployment.mdx | 242 + src/pages/03-deployment/hc_preparation.mdx | 127 + src/pages/04-operations/updating_curam.mdx | 80 + src/pages/04-operations/updating_tools.mdx | 39 + .../05-supporting-infrastructure/COS.mdx | 54 + .../05-supporting-infrastructure/LDAP.mdx | 43 + .../05-supporting-infrastructure/LogDNA.mdx | 14 + .../MQSetupConfig.mdx | 299 + .../05-supporting-infrastructure/batch.mdx | 154 + src/pages/06-runtime/Remote-Debugging.mdx | 61 + .../pages/06-runtime/batch.mdx | 9 +- .../pages/06-runtime/interrogate_runtime.mdx | 19 +- .../pages/06-runtime/troubleshoot.mdx | 28 +- src/pages/06-runtime/xmlserver.mdx | 14 + src/pages/404.js | 12 + src/pages/contact/contact_us.mdx | 11 + src/pages/contributing.mdx | 49 + .../DISCLAIMER.md => src/pages/disclaimer.mdx | 7 +- src/pages/index.mdx | 3 + .../pages/known_issues.mdx | 28 +- src/styles/index.scss | 61 + ...te_for_issues.md => template_for_issues.md | 14 +- 185 files changed, 26705 insertions(+), 1793 deletions(-) create mode 100644 .env.development create mode 100644 .env.local create mode 100644 .env.production create mode 100644 .env.staging delete mode 100644 book.json create mode 100644 dockerfiles/HTTPServer/CE.Dockerfile delete mode 100644 dockerfiles/HTTPServer/Dockerfile create mode 100644 dockerfiles/HTTPServer/StaticContent.Dockerfile delete mode 100755 dockerfiles/HTTPServer/configure_admin.sh delete mode 100644 dockerfiles/HTTPServer/ihs_responsefile.txt create mode 100755 dockerfiles/HTTPServer/ihsstart.sh delete mode 100644 dockerfiles/Liberty/content/build.gradle delete mode 100644 dockerfiles/Liberty/content/configOverride/application_CuramServerCode.xml delete mode 100644 dockerfiles/Liberty/content/configOverride/application_TEMPLATE.xml delete mode 100644 dockerfiles/Liberty/content/configOverride/server_endpoints.xml create mode 100755 dockerfiles/Liberty/content/docker-server.sh create mode 100644 dockerfiles/Liberty/content/getJavaMail.xml delete mode 100644 docs/01-PREREQ/Docker-Kubernetes-Helm.md delete mode 100644 docs/01-PREREQ/prereq.md delete mode 100644 docs/02-BUILD-CONTAINERS/build_docker.md delete mode 100644 docs/02-BUILD-CONTAINERS/build_docker2.md delete mode 100644 docs/03-DEPLOYMENT/hc_deployment.md delete mode 100644 docs/03-DEPLOYMENT/hc_preparation.md delete mode 100644 docs/04-RUNTIME/xmlserver.md delete mode 100644 docs/CONTACT/contact_us.md delete mode 100644 docs/CONTRIBUTING.md delete mode 100644 docs/IMAGES/MiniKube-dashboard.png delete mode 100644 docs/IMAGES/architecture.png delete mode 100644 docs/IMAGES/summary_process.png delete mode 100644 docs/IMAGES/summary_process.pptx delete mode 100644 docs/README.md delete mode 100644 docs/SUMMARY.md create mode 100644 gatsby-browser.js create mode 100644 gatsby-config.js create mode 100644 helm-charts/apps/templates/configmap-jvm-options-override.yaml create mode 100644 helm-charts/apps/templates/deployment-consumer.yaml create mode 100644 helm-charts/apps/templates/deployment-producer.yaml delete mode 100644 helm-charts/apps/templates/deployment.yaml create mode 100644 helm-charts/ce-app/.helmignore create mode 100644 helm-charts/ce-app/Chart.yaml create mode 100644 helm-charts/ce-app/LICENSE create mode 100644 helm-charts/ce-app/templates/_helpers.tpl create mode 100644 helm-charts/ce-app/templates/deployment.yaml create mode 100644 helm-charts/ce-app/templates/service.yaml create mode 100644 helm-charts/ce-app/values.yaml delete mode 100644 helm-charts/configmaps/templates/NOTES.txt create mode 100644 helm-charts/configmaps/templates/configmap-applications.yaml create mode 100644 helm-charts/configmaps/templates/configmap-birt-bind.yaml create mode 100644 helm-charts/configmaps/templates/configmap-jms-consumer-bind.yaml create mode 100644 helm-charts/configmaps/templates/configmap-jms-consumer-security.yaml create mode 100644 helm-charts/configmaps/templates/configmap-jms-producer-bind.yaml create mode 100644 helm-charts/configmaps/templates/configmap-jms-producer-security.yaml create mode 100644 helm-charts/configmaps/templates/configmap-jvm-options.yaml create mode 100644 helm-charts/configmaps/templates/configmap-ltpa-keys.yaml create mode 100644 helm-charts/configmaps/templates/configmap-openldap.yaml create mode 100644 helm-charts/configmaps/templates/configmap-transactions.yaml delete mode 100644 helm-charts/ihs/templates/NOTES.txt delete mode 100644 helm-charts/ihs/templates/secret.yaml delete mode 100644 helm-charts/ihs/templates/tests/test-connection.yaml create mode 100644 helm-charts/openldap/.helmignore create mode 100644 helm-charts/openldap/Chart.yaml create mode 100644 helm-charts/openldap/LICENSE create mode 100644 helm-charts/openldap/templates/_helpers.tpl create mode 100644 helm-charts/openldap/templates/configmap-customldif.yaml create mode 100644 helm-charts/openldap/templates/configmap-env.yaml create mode 100644 helm-charts/openldap/templates/deployment.yaml create mode 100644 helm-charts/openldap/templates/pvc.yaml create mode 100644 helm-charts/openldap/templates/secret.yaml create mode 100644 helm-charts/openldap/templates/service.yaml create mode 100644 helm-charts/openldap/templates/tests/openldap-test-runner.yaml create mode 100644 helm-charts/openldap/templates/tests/openldap-tests.yaml create mode 100644 helm-charts/openldap/values.yaml create mode 100644 helm-charts/spm/templates/persistence-pvc.yaml create mode 100644 helm-charts/spm/templates/persistence-secret.yaml create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/data/nav-items.yaml create mode 100644 src/gatsby-theme-carbon/components/Footer.js create mode 100644 src/gatsby-theme-carbon/components/Header.js create mode 100644 src/gatsby-theme-carbon/components/LeftNav/ResourceLinks.js create mode 100644 src/gatsby-theme-carbon/components/languages/prism-powershell.js create mode 100644 src/gatsby-theme-carbon/templates/Homepage.js create mode 100644 src/gatsby-theme-carbon/templates/Homepage.module.scss create mode 100644 src/images/Minikube-dashboard.png create mode 100644 src/images/carbon.jpg create mode 100644 src/images/dev_workstation_architecture.png create mode 100644 src/images/remote_debugger.png create mode 100644 src/images/spm-reference-arch-kube.png create mode 100644 src/images/spm_batch_processing_on_kubernetes.png create mode 100644 src/images/spm_on_kubernetes.png create mode 100644 src/images/spm_static_content_on_kubernetes.png create mode 100644 src/images/summary_process.png create mode 100644 src/images/upgrade_flow.png create mode 100644 src/pages/00-intro/IHSStaticContent.mdx create mode 100644 src/pages/00-intro/arch-overview.mdx create mode 100644 src/pages/00-intro/deploy-arch.mdx create mode 100644 src/pages/00-intro/referenceArchSPM.mdx rename docs/01-PREREQ/SPM-sw.md => src/pages/01-deploy-spm/SPM-sw.mdx (61%) rename docs/01-PREREQ/create_spm_db.md => src/pages/01-deploy-spm/create_spm_db.mdx (79%) rename docs/01-PREREQ/spm-build.md => src/pages/01-deploy-spm/spm-build.mdx (66%) rename docs/01-PREREQ/3rdparty-sw.md => src/pages/01-prereq/3rdparty-sw.mdx (52%) create mode 100644 src/pages/01-prereq/Docker-Kubernetes-Helm.mdx rename docs/01-PREREQ/chartmuseum.md => src/pages/01-prereq/chartmuseum.mdx (71%) rename docs/01-PREREQ/git.md => src/pages/01-prereq/git.mdx (53%) create mode 100644 src/pages/01-prereq/iks.mdx rename docs/01-PREREQ/minikube.md => src/pages/01-prereq/minikube.mdx (58%) create mode 100644 src/pages/01-prereq/prereq.mdx create mode 100644 src/pages/02-build-images/build_images.mdx create mode 100644 src/pages/02-build-images/setup_docker_context.mdx create mode 100644 src/pages/03-deployment/hc_deployment.mdx create mode 100644 src/pages/03-deployment/hc_preparation.mdx create mode 100644 src/pages/04-operations/updating_curam.mdx create mode 100644 src/pages/04-operations/updating_tools.mdx create mode 100644 src/pages/05-supporting-infrastructure/COS.mdx create mode 100644 src/pages/05-supporting-infrastructure/LDAP.mdx create mode 100644 src/pages/05-supporting-infrastructure/LogDNA.mdx create mode 100644 src/pages/05-supporting-infrastructure/MQSetupConfig.mdx create mode 100644 src/pages/05-supporting-infrastructure/batch.mdx create mode 100644 src/pages/06-runtime/Remote-Debugging.mdx rename docs/04-RUNTIME/batch.md => src/pages/06-runtime/batch.mdx (67%) rename docs/04-RUNTIME/interrogate_runtime.md => src/pages/06-runtime/interrogate_runtime.mdx (73%) rename docs/04-RUNTIME/troubleshoot.md => src/pages/06-runtime/troubleshoot.mdx (55%) create mode 100644 src/pages/06-runtime/xmlserver.mdx create mode 100644 src/pages/404.js create mode 100644 src/pages/contact/contact_us.mdx create mode 100644 src/pages/contributing.mdx rename docs/DISCLAIMER.md => src/pages/disclaimer.mdx (93%) create mode 100755 src/pages/index.mdx rename docs/01-PREREQ/known_issues.md => src/pages/known_issues.mdx (61%) create mode 100644 src/styles/index.scss rename docs/CONTACT/template_for_issues.md => template_for_issues.md (83%) diff --git a/.env.development b/.env.development new file mode 100644 index 00000000..7672bca4 --- /dev/null +++ b/.env.development @@ -0,0 +1 @@ +SITE_PREFIX="/wh-curamspm-devops/vnext-assets/" \ No newline at end of file diff --git a/.env.local b/.env.local new file mode 100644 index 00000000..d1532b29 --- /dev/null +++ b/.env.local @@ -0,0 +1 @@ +SITE_PREFIX="/" \ No newline at end of file diff --git a/.env.production b/.env.production new file mode 100644 index 00000000..aab75ece --- /dev/null +++ b/.env.production @@ -0,0 +1 @@ +SITE_PREFIX="/spm-kubernetes/" diff --git a/.env.staging b/.env.staging new file mode 100644 index 00000000..30c02890 --- /dev/null +++ b/.env.staging @@ -0,0 +1 @@ +SITE_PREFIX="/wh-curamspm-devops/spm-kubernetes/" diff --git a/.gitignore b/.gitignore index c3fddda2..b83caf49 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ _book -node_modules *.html *.lock @@ -20,8 +19,75 @@ staticcontent *.zip *.swp StaticContent.zip -*.DS_Store .classpath .project .settings -*.drawio \ No newline at end of file +*.drawio + +#GATSBY +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# dotenv environment variables file +.env + +# gatsby files +.cache/ +public +# Mac files +.DS_Store + +# Yarn +yarn-error.log +.pnp/ +.pnp.js +# Yarn Integrity file +.yarn-integrity diff --git a/.markdownlint.json b/.markdownlint.json index 68846ae6..f5d56217 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -3,6 +3,7 @@ "MD007": { "indent": 2 }, "MD010": false, "MD013": { "line_length": 240 }, + "MD026": false, "MD033": false, "MD040": false, "no-trailing-spaces": true diff --git a/.travis.yml b/.travis.yml index 9e6d418b..77e8fbd2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,24 +1,24 @@ language: node_js node_js: - - "8" + - "12" group: bluezone dist: xenial install: - - npm install -g gitbook-cli markdownlint-cli - - gitbook install + - npm install -g gatsby markdownlint-cli + - npm install script: - - markdownlint docs - - gitbook build + - markdownlint **/*.mdx --ignore src/pages/index.mdx + - gatsby build --prefix-paths deploy: - provider: pages skip_cleanup: true - local_dir: _book + local_dir: public github_token: $GITHUB_TOKEN - github_url: github.com + github_url: github.ibm.com committer_from_gh: true target_branch: gh-pages on: diff --git a/README.md b/README.md index 085b3a64..7523ef58 100644 --- a/README.md +++ b/README.md @@ -2,4 +2,4 @@ This repository contains the assets and the runbook to follow to containerized SPM. -The runbook is available at this URL: https://ibm.github.io/spm-containerization/ +The runbook is available at this URL: https://ibm.github.io/spm-kubernetes/ diff --git a/book.json b/book.json deleted file mode 100644 index 3953a75c..00000000 --- a/book.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "root": "./docs", - "plugins": ["expandable-chapters"], - "title": "IBM Cúram Social Program Management Containerisation Runbook" -} diff --git a/dockerfiles/HTTPServer/CE.Dockerfile b/dockerfiles/HTTPServer/CE.Dockerfile new file mode 100644 index 00000000..872dae36 --- /dev/null +++ b/dockerfiles/HTTPServer/CE.Dockerfile @@ -0,0 +1,43 @@ +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +ARG HTTP_VERSION=9.0.0.11 + +#Final +FROM ibmcom/ibm-http-server:${HTTP_VERSION} +ARG HTTP_VERSION +LABEL IHS_VERSION=${HTTP_VERSION} + +CMD ["/work/ihsstart.sh"] + +RUN useradd -g 0 -M default && usermod -L default \ + && echo "include conf.d/*.conf" >> /opt/IBM/HTTPServer/conf/httpd.conf \ + && sed -i 's/^Listen 80$/Listen 8080/' /opt/IBM/HTTPServer/conf/httpd.conf \ + && chmod g+w /opt/IBM/HTTPServer \ + && chmod -Rc g+w /opt/IBM/HTTPServer/logs + +#Note label must match the SSLServerCert setting located within custom_ssl.conf file +#The certificate label name, when viewed in the Key Management Utility (iKeyman), should not contain reserved characters such as "; ; - _" ( semicolon, colon, dash, and so on). These are reserved characters and should not be used as part of the label name. +RUN gskcapicmd -keydb -create -db "/opt/IBM/WebSphere/Plugins/config/key.kdb" -pw wasadmin -type cms -stash \ + && gskcapicmd -cert -create -db "/opt/IBM/WebSphere/Plugins/config/key.kdb" -pw wasadmin -label websphere -size 2048 -sigalg SHA256WithRSA -expire 3650 -dn "CN=websphere,O=IBM,C=IE" -default_cert yes \ + && chmod -Rc g+rw /opt/IBM/WebSphere/Plugins/config \ + && chmod -Rc g+rw /opt/IBM/WebSphere/Plugins/logs + +COPY build /opt/IBM/HTTPServer/htdocs/universal +COPY httpdconfig/custom_*.conf /opt/IBM/HTTPServer/conf.d/ +COPY ihsstart.sh /work/ + +USER default diff --git a/dockerfiles/HTTPServer/Dockerfile b/dockerfiles/HTTPServer/Dockerfile deleted file mode 100644 index b79ce41f..00000000 --- a/dockerfiles/HTTPServer/Dockerfile +++ /dev/null @@ -1,26 +0,0 @@ -ARG HTTP_VERSION=9.0.0.11 - -#Unzip static content in to temp -FROM alpine AS ExplodedStaticzip -COPY staticcontent/StaticContent.zip /tmp/ -RUN mkdir -p /work/staticcontent/ \ - && unzip -o -q /tmp/StaticContent.zip -d /work/staticcontent/ - -#Final -FROM ibmcom/ibm-http-server:${HTTP_VERSION} -USER root -COPY httpdconfig/custom_*.conf /opt/IBM/HTTPServer/conf/ - -RUN echo "include /opt/IBM/HTTPServer/conf/custom_ihs_perf.conf" >> /opt/IBM/HTTPServer/conf/httpd.conf \ - && echo "include /opt/IBM/HTTPServer/conf/custom_ssl.conf" >> /opt/IBM/HTTPServer/conf/httpd.conf \ - && echo "include /opt/IBM/HTTPServer/conf/custom_staticcontent.conf" >> /opt/IBM/HTTPServer/conf/httpd.conf - -RUN /opt/IBM/HTTPServer/bin/htpasswd -b -cm /opt/IBM/HTTPServer/conf/admin.passwd wasadmin wasadmin -#Note label must match the SSLServerCert setting located within custom_ssl.conf file -#The certificate label name, when viewed in the Key Management Utility (iKeyman), should not contain reserved characters such as "; ; - _" ( semicolon, colon, dash, and so on). These are reserved characters and should not be used as part of the label name. -RUN gskcapicmd -keydb -create -db "/opt/IBM/WebSphere/Plugins/config/key.kdb" -pw wasadmin -type cms -stash \ - && gskcapicmd -cert -create -db "/opt/IBM/WebSphere/Plugins/config/key.kdb" -pw wasadmin -label websphere -size 2048 -sigalg SHA256WithRSA -expire 820 -dn "CN=websphere,O=IBM,C=IE" -default_cert yes -eku serverAuth - -COPY --from=ExplodedStaticzip --chown=1001:0 /work/staticcontent/WebContent /opt/IBM/HTTPServer/htdocs/CuramStatic - -CMD ["/work/ihsstart.sh"] diff --git a/dockerfiles/HTTPServer/StaticContent.Dockerfile b/dockerfiles/HTTPServer/StaticContent.Dockerfile new file mode 100644 index 00000000..0fc0fad8 --- /dev/null +++ b/dockerfiles/HTTPServer/StaticContent.Dockerfile @@ -0,0 +1,49 @@ +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +ARG HTTP_VERSION=9.0.0.11 + +#Unzip static content in to temp +FROM alpine AS ExplodedStaticzip +COPY StaticContent.zip /tmp/ +RUN mkdir -p /work/staticcontent/ \ + && unzip -o -q /tmp/StaticContent.zip -d /work/staticcontent/ + +#Final +FROM ibmcom/ibm-http-server:${HTTP_VERSION} +ARG HTTP_VERSION +LABEL IHS_VERSION=${HTTP_VERSION} + +CMD ["/work/ihsstart.sh"] + +RUN useradd -g 0 -M default && usermod -L default \ + && echo "include conf.d/*.conf" >> /opt/IBM/HTTPServer/conf/httpd.conf \ + && sed -i 's/^Listen 80$/Listen 8080/' /opt/IBM/HTTPServer/conf/httpd.conf \ + && chmod g+w /opt/IBM/HTTPServer \ + && chmod -Rc g+w /opt/IBM/HTTPServer/logs + +#Note label must match the SSLServerCert setting located within custom_ssl.conf file +#The certificate label name, when viewed in the Key Management Utility (iKeyman), should not contain reserved characters such as "; ; - _" ( semicolon, colon, dash, and so on). These are reserved characters and should not be used as part of the label name. +RUN gskcapicmd -keydb -create -db "/opt/IBM/WebSphere/Plugins/config/key.kdb" -pw wasadmin -type cms -stash \ + && gskcapicmd -cert -create -db "/opt/IBM/WebSphere/Plugins/config/key.kdb" -pw wasadmin -label websphere -size 2048 -sigalg SHA256WithRSA -expire 3650 -dn "CN=websphere,O=IBM,C=IE" -default_cert yes \ + && chmod -Rc g+rw /opt/IBM/WebSphere/Plugins/config \ + && chmod -Rc g+rw /opt/IBM/WebSphere/Plugins/logs + +COPY --from=ExplodedStaticzip /work/staticcontent/WebContent /opt/IBM/HTTPServer/htdocs/CuramStatic +COPY httpdconfig/custom_*.conf /opt/IBM/HTTPServer/conf.d/ +COPY ihsstart.sh /work/ + +USER default diff --git a/dockerfiles/HTTPServer/configure_admin.sh b/dockerfiles/HTTPServer/configure_admin.sh deleted file mode 100755 index cc181dbc..00000000 --- a/dockerfiles/HTTPServer/configure_admin.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -if [ ! -f /opt/IBM/HTTPServer/conf/admin.conf.ready ]; then - echo "Adding custom include directives to /opt/IBM/HTTPServer/conf/httpd.conf ..." - echo "include /opt/IBM/HTTPServer/conf/custom_ihs_perf.conf" >> /opt/IBM/HTTPServer/conf/httpd.conf - echo "include /opt/IBM/HTTPServer/conf/custom_ssl.conf" >> /opt/IBM/HTTPServer/conf/httpd.conf - echo "include /opt/IBM/HTTPServer/conf/custom_staticcontent.conf" >> /opt/IBM/HTTPServer/conf/httpd.conf - echo "Done." - - echo "IHS Admin Server needs to be configured." - /opt/IBM/WebSphere/Toolbox/WCT/wctcmd.sh -tool pct -defLocPathname /opt/IBM/WebSphere/Plugins -defLocName loc1 -createDefinition -response /work/ihs_responsefile.txt - /opt/IBM/HTTPServer/bin/htpasswd -b -cm /opt/IBM/HTTPServer/conf/admin.passwd wasadmin wasadmin - - gskcapicmd -keydb -create -db "/opt/IBM/WebSphere/Plugins/config/key.kdb" -pw wasadmin -type cms -stash - gskcapicmd -cert -create -db "/opt/IBM/WebSphere/Plugins/config/key.kdb" -pw wasadmin -label ibm-http-server -size 2048 -sigalg SHA256WithRSA -expire 3650 -dn "CN=ibm-http-server,O=IBM,C=IE" -default_cert yes - - touch /opt/IBM/HTTPServer/conf/admin.conf.ready -fi diff --git a/dockerfiles/HTTPServer/httpdconfig/custom_ssl.conf b/dockerfiles/HTTPServer/httpdconfig/custom_ssl.conf index d5632018..de210cdc 100644 --- a/dockerfiles/HTTPServer/httpdconfig/custom_ssl.conf +++ b/dockerfiles/HTTPServer/httpdconfig/custom_ssl.conf @@ -4,13 +4,11 @@ LoadModule ibm_ssl_module modules/mod_ibm_ssl.so -# Below 2 Listen directives needed for IHS in WINDOWS, second one for IPv6 support -Listen 0.0.0.0:443 -Listen [::]:443 - +Listen 0.0.0.0:8443 + SSLEnable SSLClientAuth None - SSLServerCert websphere + SSLServerCert websphere # Disable SSLv3 for CVE-2014-3566 # SSLv2 is disabled in V8R0 and later by default, and in typical V7 # and earlier configurations disabled implicitly when SSLv3 ciphers diff --git a/dockerfiles/HTTPServer/httpdconfig/custom_staticcontent.conf b/dockerfiles/HTTPServer/httpdconfig/custom_staticcontent.conf index de670dfd..ecd5f759 100644 --- a/dockerfiles/HTTPServer/httpdconfig/custom_staticcontent.conf +++ b/dockerfiles/HTTPServer/httpdconfig/custom_staticcontent.conf @@ -1,6 +1,6 @@ # Alias /CuramStatic/ "/opt/IBM/HTTPServer/htdocs/WebContent/" - Options Indexes MultiViews + Options MultiViews AllowOverride None #Order allow,deny Require all granted diff --git a/dockerfiles/HTTPServer/ihs_responsefile.txt b/dockerfiles/HTTPServer/ihs_responsefile.txt deleted file mode 100644 index f739970d..00000000 --- a/dockerfiles/HTTPServer/ihs_responsefile.txt +++ /dev/null @@ -1,25 +0,0 @@ -configType=remote -enableAdminServerSupport=true -enableUserAndPass=true -enableWinService=false -ihsAdminCreateUserAndGroup=true -ihsAdminPassword=wasadmin -ihsAdminPort=8008 -ihsAdminUnixUserGroup=wasadmin -ihsAdminUnixUserID=wasadmin -mapWebServerToApplications=false -wasMachineHostName=test -webServerConfigFile1=/opt/IBM/HTTPServer/conf/httpd.conf -webServerConfigFile2= -webServerDefinition=ihs_webserver -webServerHostName=ibmhttpserver -webServerOS=Linux -webServerPortNumber=80 -webServerSelected=ihs -#wasExistingLocation= -ihsAdminUserID=wasadmin -ihsAdminUserGroup=wasadmin -#dominoUserID=notes -#webServerInstallArch= -#profileName= -webServerType=IHS diff --git a/dockerfiles/HTTPServer/ihsstart.sh b/dockerfiles/HTTPServer/ihsstart.sh new file mode 100755 index 00000000..53a94547 --- /dev/null +++ b/dockerfiles/HTTPServer/ihsstart.sh @@ -0,0 +1,68 @@ +#! /bin/bash +############################################################################### +# Copyright 2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +##################################################################################### +# # +# Script to start the server (based on orignal ihsstart.sh) # +# # +# Usage : start_ihs.sh # +# # +##################################################################################### +LOG_PATH=/opt/IBM/HTTPServer/logs + +startServer() +{ + echo "Starting IBM HTTP Server " + # Starting IBM HTTPServer + /opt/IBM/HTTPServer/bin/apachectl start + + if [ $? = 0 ] + then + echo "IBM HTTP Server started successfully" + else + echo "Failed to start IBM HTTP Server" + fi +} + +stopServer() +{ + echo "Stopping IBM HTTP Server " + # Stopping IBM HTTPServer + /opt/IBM/HTTPServer/bin/apachectl graceful-stop + if [ $? = 0 ] + then + echo "IBM HTTP Server stopped successfully" + fi +} + +# Creates a directory for persistence on the PV volume (if set by Helm) +if [ -n "$MOUNT_POINT" ]; then + LOG_PATH=$MOUNT_POINT/$HOSTNAME/logs + mkdir -p $LOG_PATH + rm -rf /opt/IBM/HTTPServer/logs + ln -s $LOG_PATH /opt/IBM/HTTPServer/logs +fi + +# Starts the server and catchs exit signal +startServer +trap "stopServer" SIGTERM +sleep 10 + +# Only start tailing logs if a pid file has been created (i.e. IHS started successfully) +if [ -f "/opt/IBM/HTTPServer/logs/httpd.pid" ]; then + tail -F $LOG_PATH/access_log -F $LOG_PATH/error_log +fi diff --git a/dockerfiles/Liberty/Batch.Dockerfile b/dockerfiles/Liberty/Batch.Dockerfile index 2b9cc01c..029f8e92 100644 --- a/dockerfiles/Liberty/Batch.Dockerfile +++ b/dockerfiles/Liberty/Batch.Dockerfile @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,19 +14,22 @@ # limitations under the License. ############################################################################### -ARG WLP_VERSION=19.0.0.6 -FROM alpine -ARG ANT_VERSION=1.9.9 +ARG WLP_VERSION=19.0.0.12-full-java8-ibmjava +ARG ANT_VERSION=1.10.6 + +# Intermediate image: extract Ant +FROM alpine AS AntStage +ARG ANT_VERSION COPY content/apache-ant-${ANT_VERSION}-bin.zip /tmp/apache-ant.zip RUN unzip -qo /tmp/apache-ant.zip -d /opt/ -FROM websphere-liberty:${WLP_VERSION}-javaee7 +FROM websphere-liberty:${WLP_VERSION} WORKDIR /opt/ibm/Curam/release ENTRYPOINT ["build.sh"] CMD ["runbatch"] -ARG ANT_VERSION=1.9.9 +ARG ANT_VERSION ENV ANT_HOME=/opt/apache-ant-${ANT_VERSION} \ ANT_OPTS='-Xmx1400m -Dcmp.maxmemory=1400m' \ JAVA_HOME=/opt/ibm/java \ @@ -34,17 +37,14 @@ ENV ANT_HOME=/opt/apache-ant-${ANT_VERSION} \ WLP_HOME=/opt/ibm/wlp ENV PATH=$ANT_HOME/bin:$JAVA_HOME/bin:$PATH:. -COPY --from=0 --chown=1001:0 /opt/apache-ant-${ANT_VERSION} /opt/apache-ant-${ANT_VERSION} - USER root RUN mkdir -p /opt/ibm/Curam/release \ - && chown -Rv 1001:0 /opt/ibm/Curam + && chown -Rc 1001:0 /opt/ibm/Curam USER 1001 -COPY --chown=1001:0 content/res-stage/CryptoConfig.jar /opt/ibm/java/jre/lib/ext/ +COPY --from=AntStage --chown=1001:0 /opt/apache-ant-${ANT_VERSION} /opt/apache-ant-${ANT_VERSION} COPY --chown=1001:0 content/dependencies/javax.mail.jar /opt/javamail/mail.jar COPY --chown=1001:0 content/dependencies/activation.jar /opt/javamail/activation.jar -COPY --chown=1001:0 content/batch-stage/SetEnvironment.sh /opt/ibm/Curam/ -COPY --chown=1001:0 content/batch-stage /opt/ibm/Curam/release - -RUN chmod +x /opt/ibm/Curam/release/*.sh +COPY --chown=1001:0 content/release-stage/build/CryptoConfig.jar /opt/ibm/java/jre/lib/ext/ +COPY --chown=1001:0 content/release-stage/SetEnvironment.sh /opt/ibm/Curam/ +COPY --chown=1001:0 content/release-stage /opt/ibm/Curam/release diff --git a/dockerfiles/Liberty/EAR.Dockerfile b/dockerfiles/Liberty/EAR.Dockerfile index aedb57ae..af1d04a7 100644 --- a/dockerfiles/Liberty/EAR.Dockerfile +++ b/dockerfiles/Liberty/EAR.Dockerfile @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,15 +14,17 @@ # limitations under the License. ############################################################################### -ARG EAR_NAME=Curam -ARG WLP_VERSION=19.0.0.6 +ARG EAR_NAME +ARG WLP_VERSION=19.0.0.12-full-java8-ibmjava ARG MQ_ADAPTER_VERSION=9.1.3.0 +ARG MQ_RA_LICENSE # Explode EARs in a disposable environment FROM alpine AS ExplodedEARs -ARG EAR_NAME=Curam +ARG EAR_NAME +ARG MQ_RA_LICENSE -COPY content/ear-stage/ear/WLP/CuramServerCode.ear content/ear-stage/ear/WLP/${EAR_NAME}.ear /tmp/ +COPY content/release-stage/ear/WLP/CuramServerCode.ear content/release-stage/ear/WLP/${EAR_NAME}.ear /tmp/ RUN mkdir -p /work/CuramServerCode.ear /work/${EAR_NAME}.ear \ && unzip -q /tmp/CuramServerCode.ear -d /work/CuramServerCode.ear \ && unzip -q /tmp/${EAR_NAME}.ear -d /work/${EAR_NAME}.ear \ @@ -36,40 +38,32 @@ RUN mkdir -p /work/CuramServerCode.ear /work/${EAR_NAME}.ear \ # Run MQ Adapter installer in a disposable environment FROM ibmjava:8-sdk AS MQAdapter -ARG MQ_ADAPTER_VERSION=9.1.3.0 +ARG MQ_ADAPTER_VERSION +ARG MQ_RA_LICENSE COPY content/${MQ_ADAPTER_VERSION}-IBM-MQ-Java-InstallRA.jar /tmp/ -RUN java -jar /tmp/${MQ_ADAPTER_VERSION}-IBM-MQ-Java-InstallRA.jar --acceptLicense /opt +RUN java -jar /tmp/${MQ_ADAPTER_VERSION}-IBM-MQ-Java-InstallRA.jar ${MQ_RA_LICENSE} /opt # Create final image -FROM websphere-liberty:${WLP_VERSION}-javaee7 -ARG EAR_NAME=Curam - -ENV KEYSTORE_REQUIRED=false \ - LICENSE=accept - -EXPOSE 10101 10102 +FROM websphere-liberty:${WLP_VERSION} +ARG EAR_NAME USER root RUN ln -s /opt/ibm/wlp/usr/shared/resources /shared_resources \ && chown -Rc 1001:0 /config/configDropins \ && chown -Rc 1001:0 /opt/ibm/wlp/usr/shared \ - && chmod -Rc g+rw /opt/ibm/wlp/usr/shared + && chmod -Rc g+rw /opt/ibm/wlp/usr/shared \ + && rm -f /config/configDropins/defaults/* USER 1001 -COPY --chown=1001:0 content/res-stage/defaultServer /config -COPY --chown=1001:0 content/res-stage/resources /shared_resources -COPY --from=ExplodedEARs --chown=1001:0 /work /config/apps +COPY --chown=1001:0 content/docker-server.sh /opt/ibm/helpers/runtime/docker-server.sh COPY --from=MQAdapter --chown=1001:0 /opt/wmq /opt/wmq -COPY --chown=1001:0 content/res-stage/CryptoConfig.jar /opt/ibm/java/jre/lib/ext/ - -# CWWKS4001I: Security token warning message, when previous Liberty cookies already exist in the Browser -RUN sed -i "/\/server/i \ " /config/adc_conf/server_applications.xml \ - && sed -i "/\/server/i \ " /config/adc_conf/server_applications.xml \ - && echo 'com.ibm.ws.logging.hideMessage=CWWKE0100I,CWWKS4001I' > /config/bootstrap.properties \ - && sed -e "s|EAR_NAME|$EAR_NAME|g" \ - -e "s|WAR_FILE|`basename $(find /config/apps/${EAR_NAME}.ear -type d -name '*.war')`|g" \ - /config/adc_conf/application_TEMPLATE.xml > /config/adc_conf/application_${EAR_NAME}.xml +COPY --chown=1001:0 content/release-stage/CuramSDEJ/drivers/db2jcc*.jar /shared_resources/drivers/ +COPY --chown=1001:0 content/release-stage/CuramSDEJ/drivers/ojdbc*.jar /shared_resources/drivers/ +COPY --chown=1001:0 content/release-stage/CuramSDEJ/lib/WLPRegistry.jar /shared_resources/ +COPY --chown=1001:0 content/release-stage/CuramSDEJ/lib/coreinf-ejb-interfaces.jar /shared_resources/ +COPY --chown=1001:0 content/release-stage/build/CryptoConfig.jar /opt/ibm/java/jre/lib/ext/ +COPY --from=ExplodedEARs --chown=1001:0 /work /config/apps RUN installUtility install defaultServer \ - && installUtility install wmqJmsClient-2.0 + && (installUtility install wmqJmsClient-2.0 || true) diff --git a/dockerfiles/Liberty/XMLServer.Dockerfile b/dockerfiles/Liberty/XMLServer.Dockerfile index c5a089b1..78c896a3 100644 --- a/dockerfiles/Liberty/XMLServer.Dockerfile +++ b/dockerfiles/Liberty/XMLServer.Dockerfile @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,31 +14,32 @@ # limitations under the License. ############################################################################### -FROM alpine -ARG ANT_VERSION=1.9.9 +ARG ANT_VERSION=1.10.6 + +# Intermediate image: extract Ant +FROM alpine AS AntStage +ARG ANT_VERSION COPY content/apache-ant-${ANT_VERSION}-bin.zip /tmp/apache-ant.zip RUN unzip -qo /tmp/apache-ant.zip -d /opt/ - +# Final image FROM ibmjava:8-sdk -RUN useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default EXPOSE 1800 WORKDIR /opt/ibm/Curam/xmlserver ENTRYPOINT ["ant", "-f", "xmlserver.xml"] -ARG ANT_VERSION=1.9.9 +RUN useradd -u 1001 -r -g 0 -s /usr/sbin/nologin default + +ARG ANT_VERSION ENV ANT_HOME=/opt/apache-ant-${ANT_VERSION} \ ANT_OPTS='-Xmx1400m -Dcmp.maxmemory=1400m' \ JAVA_HOME=/opt/ibm/java ENV PATH=$ANT_HOME/bin:$JAVA_HOME/bin:$PATH:. -COPY --from=0 --chown=1001:0 /opt/apache-ant-${ANT_VERSION} /opt/apache-ant-${ANT_VERSION} - - RUN mkdir -p /opt/ibm/Curam/xmlserver \ && chown -Rc 1001:0 /opt/ibm/Curam - -COPY --chown=1001:0 content/batch-stage/CuramSDEJ/xmlserver /opt/ibm/Curam/xmlserver - USER 1001 + +COPY --from=AntStage --chown=1001:0 /opt/apache-ant-${ANT_VERSION} /opt/apache-ant-${ANT_VERSION} +COPY --chown=1001:0 content/release-stage/CuramSDEJ/xmlserver /opt/ibm/Curam/xmlserver diff --git a/dockerfiles/Liberty/content/build.gradle b/dockerfiles/Liberty/content/build.gradle deleted file mode 100644 index 0eebe955..00000000 --- a/dockerfiles/Liberty/content/build.gradle +++ /dev/null @@ -1,32 +0,0 @@ -/** -* Copyright 2019 IBM Corporation -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -apply plugin: 'java' -version = '1.0.0' -repositories { - mavenCentral() -} -configurations { - localDeps -} -dependencies { - localDeps group: 'com.sun.mail', name: 'javax.mail', version: 'latest.release' -} -task getJavaMail(type: Copy) { - from configurations.localDeps - into "dependencies" - rename '(.*)-[0-9]+\\..*.jar', '$1.jar' -} diff --git a/dockerfiles/Liberty/content/configOverride/application_CuramServerCode.xml b/dockerfiles/Liberty/content/configOverride/application_CuramServerCode.xml deleted file mode 100644 index c086f532..00000000 --- a/dockerfiles/Liberty/content/configOverride/application_CuramServerCode.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dockerfiles/Liberty/content/configOverride/application_TEMPLATE.xml b/dockerfiles/Liberty/content/configOverride/application_TEMPLATE.xml deleted file mode 100644 index 5a8015e0..00000000 --- a/dockerfiles/Liberty/content/configOverride/application_TEMPLATE.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/dockerfiles/Liberty/content/configOverride/server_endpoints.xml b/dockerfiles/Liberty/content/configOverride/server_endpoints.xml deleted file mode 100644 index 33d9f9a4..00000000 --- a/dockerfiles/Liberty/content/configOverride/server_endpoints.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - diff --git a/dockerfiles/Liberty/content/docker-server.sh b/dockerfiles/Liberty/content/docker-server.sh new file mode 100755 index 00000000..a499766a --- /dev/null +++ b/dockerfiles/Liberty/content/docker-server.sh @@ -0,0 +1,51 @@ +#!/bin/bash +############################################################################### +# Copyright 2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +case "${LICENSE,,}" in + "accept" ) # Suppress license message in logs + grep -s -F "com.ibm.ws.logging.hideMessage" /config/bootstrap.properties \ + && sed -i 's/^\(com.ibm.ws.logging.hideMessage=.*$\)/\1,CWWKE0100I/' /config/bootstrap.properties \ + || echo "com.ibm.ws.logging.hideMessage=CWWKE0100I" >> /config/bootstrap.properties + ;; + "view" ) # Display license file + cat /opt/ibm/wlp/lafiles/LI_${LANG:-en} + exit 1 + ;; + "" ) # Continue, displaying license message in logs + true + ;; + *) # License not accepted + echo -e "Set environment variable LICENSE=accept to indicate acceptance of license terms and conditions.\n\nLicense agreements and information can be viewed by running this image with the environment variable LICENSE=view. You can also set the LANG environment variable to view the license in a different language." + exit 1 + ;; +esac + +# Creates directories for persistence on the PV volume (if set by Helm) +if [ -n "$MOUNT_POINT" ]; then + mkdir -p $MOUNT_POINT/$HOSTNAME/logs + mkdir -p $MOUNT_POINT/$HOSTNAME/jmx + mkdir -p $MOUNT_POINT/$HOSTNAME/dump + mkdir -p $MOUNT_POINT/$HOSTNAME/gc + ln -s $MOUNT_POINT/$HOSTNAME/logs /tmp/logs + ln -s $MOUNT_POINT/$HOSTNAME/jmx /tmp/jmx + ln -s $MOUNT_POINT/$HOSTNAME/dump /tmp/dump + ln -s $MOUNT_POINT/$HOSTNAME/gc /tmp/gc + echo "1,$HOSTNAME" > /tmp/gc/GC_PID.pid # Required by Performance Dashboard +fi + +# Pass on to the real server run +exec "$@" diff --git a/dockerfiles/Liberty/content/getJavaMail.xml b/dockerfiles/Liberty/content/getJavaMail.xml new file mode 100644 index 00000000..17689781 --- /dev/null +++ b/dockerfiles/Liberty/content/getJavaMail.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + diff --git a/dockerfiles/MQ/Dockerfile b/dockerfiles/MQ/Dockerfile index 8ef06024..116b4ebf 100644 --- a/dockerfiles/MQ/Dockerfile +++ b/dockerfiles/MQ/Dockerfile @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/docs/01-PREREQ/Docker-Kubernetes-Helm.md b/docs/01-PREREQ/Docker-Kubernetes-Helm.md deleted file mode 100644 index 0bbb2ca1..00000000 --- a/docs/01-PREREQ/Docker-Kubernetes-Helm.md +++ /dev/null @@ -1,43 +0,0 @@ -# Docker, Kubernetes, Minikube, and Helm - -## Docker - -[Docker](https://www.docker.com/get-started) is an open source tool that creates, deploys, and runs applications by using containers. -Install Docker by following the instructions in [docker.com](https://docs.docker.com/install/overview/). You can follow this runbook by using any Docker edition, including the community edition. - -> **Note:** Docker versions used to verify this runbook: -> -> * Docker Engine: 19.03.5 -> * Docker Desktop for Windows: 2.1.0.5 -> * Docker Desktop for Mac: 2.1.0.5 - -## Kubernetes and Minikube - -Kubernetes (also referred to as "K8s" and is described at a high-level on the [Kubernetes home page](https://kubernetes.io/)) is an open source system for automating deployment, scaling, and management of containerized applications. -You will use the command-line tool, `kubectl` extensively when you follow the steps that are described in this runbook. `kubectl` download and installation steps are described on [kubernetes.io](https://kubernetes.io/docs/tasks/tools/install-kubectl/). - -Minikube is a variant of Kubernetes that runs a single-node cluster inside a virtual machine (VM) on your laptop. See [next page](minikube.md) for Minikube configuration details for SPM. - -> **Note:** The following versions were used to verify this runbook: -> -> * kubectl: 1.14.8 -> * **Important**: Take note of the version used. This will be required when creating a new Minikube environment. -> * Minikube: 1.6.0 - -## Helm V2 - -> **Note:** Helm version used to verify this runbook: 2.16.1. All the Helm commands that are used in this runbook are based on Helm version 2. - -[Helm](https://helm.sh/) is a package manager that helps you to find, share, and use software that is built for Kubernetes. -Helm streamlines the installation and management of Kubernetes applications, it can be thought of as the equivalent of the apt, yum, or homebrew utilities for Kubernetes. - -Helm uses a packaging format called Chart. A chart is a collection of files that describe a related set of Kubernetes resources. -A single chart might be used to deploy something simple, like a memcached pod, or a complex deployment, like a full web app stack with HTTP servers, databases, and caches. -Charts are created as files laid out in a particular directory tree, then they can be packaged into versioned archives for deployment. For more information, see the [Helm documentation](https://helm.sh/docs/). - -This guide uses Helm Charts and describes how to package and deploy them. For more information, see [Preparing Helm Charts](../03-DEPLOYMENT/hc_preparation.md). - -The server portion of Helm, named Tiller, runs inside of your Kubernetes cluster. -Tiller interacts directly with the Kubernetes API server to install, upgrade, query, and remove Kubernetes resources. It also stores the objects that represent releases. - -Install Helm by following the steps described in [Helm install](https://github.com/helm/helm#install). diff --git a/docs/01-PREREQ/prereq.md b/docs/01-PREREQ/prereq.md deleted file mode 100644 index cb2117d4..00000000 --- a/docs/01-PREREQ/prereq.md +++ /dev/null @@ -1,9 +0,0 @@ -# Install prerequisite software - -To build and run IBM Cúram Social Program Management (SPM) for Kubernetes, install the following software components: - -* [Base third-party software](3rdparty-sw.md) -* [IBM Cúram Social Program Management (SPM) software](SPM-sw.md) -* [Docker, Kubernetes, Minikube, and Helm](Docker-Kubernetes-Helm.md) -* [Minikube](chartMuseum.md) -* [GitHub repo](git.md) diff --git a/docs/02-BUILD-CONTAINERS/build_docker.md b/docs/02-BUILD-CONTAINERS/build_docker.md deleted file mode 100644 index ee1ab6ff..00000000 --- a/docs/02-BUILD-CONTAINERS/build_docker.md +++ /dev/null @@ -1,175 +0,0 @@ -# Setting up the Docker context - -To build the required Docker images, the context for building them must be established as described in the [Docker build](https://docs.docker.com/engine/reference/commandline/build/) command description. - -The following components provide this context: - -* The artifacts that you downloaded by following the steps that are described in [GitHub repo](../01-PREREQ/git.md). -* The `release.zip` and `StaticContent.zip` files that you built in [Building The Cúram Social Program Management application](../01-PREREQ/spm-build.md). - -## Building IBM Cúram Social Program Management (SPM) resources - -Some of the Docker images that you build rely on the `release.zip` and `StaticContent.zip` files that you built in [Building the IBM Cúram Social Program Management application](../01-PREREQ/spm-build.md). - -If you built `release.zip` and `StaticContent.zip` on a different computer to the one where Minikube will be deployed, you must transfer the files to the computer you're currently working on. -For simplicity, it is assumed that these files are copied to `/tmp/`. - -## Preparing the SPM environment - -Prepare the SPM Docker environment by using the `release.zip` file. - -For the following steps, use the `$SPM_HOME` folder that you created in [GitHub repo](../01-PREREQ/git.md). - -1. Create a `batch-stage` folder to contain the contents of `release.zip`, run the following command: - - ```shell - mkdir $SPM_HOME/dockerfiles/Liberty/content/batch-stage - ``` - -1. Extract `release.zip` into the `batch-stage` folder, run the following commands: - - ```shell - unzip -qd $SPM_HOME/dockerfiles/Liberty/content/batch-stage /tmp/release.zip - chmod +x $SPM_HOME/dockerfiles/Liberty/content/batch-stage/*.sh - ``` - - Where `/tmp/release.zip` is the absolute path where the `release.zip` is saved. - -1. Create the following folders: - - ```shell - mkdir $SPM_HOME/dockerfiles/Liberty/content/ear-stage - mkdir $SPM_HOME/dockerfiles/Liberty/content/res-stage - ``` - - The `ear-stage` folder contains the EAR files. The `res-stage` folder contains the batch and XML files. - -1. Move the `ear` directory out of `batch-stage` into its own directory called `ear-stage` within the `DockerFiles` folder: - - ```shell - mv $SPM_HOME/dockerfiles/Liberty/content/batch-stage/ear $SPM_HOME/dockerfiles/Liberty/content/ear-stage/ - ``` - -## Modifying SPM properties - -`Bootstrap.properties` `AppServer.properties` are required to configure Liberty. -However the relevant properties in `Bootstrap.properties` that you modify in the on-premise implementation of SPM are no longer relevant because Kubernetes configmaps provide the necessary values for the database configuration. - -The only properties that you must modify in `AppServer.properties` are `security.username` and `security.password`. These properties contain the -WebSphere Liberty administrator credentials. If the password is changed the value must be the encrypted by running the following commands: - -```shell -cd $SERVER_DIR ; ./build.sh encrypt -Dpassword= -``` - -Copy the property files using the following command: - -```shell -cp -vf $SPM_HOME/dockerfiles/Liberty/content/*.properties $SPM_HOME/dockerfiles/Liberty/content/batch-stage/project/properties/ -``` - -## Liberty server configuration options - -Depending on whether you deployed Minikube on the same computer where `release.zip` was built, or on a different computer, select one of the following options: - -1. If you built `release.zip` on the **same computer** as the Minikube deployment, follow the steps in "building the WebSphere Liberty configuration locally". -2. If you built `release.zip` on a **different computer** to the Minikube deployment, follow the steps in "Building the WebSphere Liberty configuration remotely". - -### Building the WebSphere Liberty configuration locally - -Run the following commands on the computer where WebSphere Liberty is installed, with `$WLP_HOME` pointing to that installation. -This environment is already in place when you're running all the steps in the same computer. In this case, run the following commands: - -```shell -cd $SPM_HOME/dockerfiles/Liberty/content/batch-stage -. ./SetEnvironment.sh -ant -f $CURAMSDEJ/bin/build.xml configure -Dwlp.shared.resource.dir=$SPM_HOME/dockerfiles/Liberty/content/res-stage/resources \ - -Dserver.setup.location=$SPM_HOME/dockerfiles/Liberty/content/res-stage/defaultServer \ - -Dcrypto.ext.dir=$SPM_HOME/dockerfiles/Liberty/content/res-stage/ -Dwlp.environment.variable.set=true -Dkeep.profile=true -``` - -### Building the WebSphere Liberty configuration remotely - -If you plan to build docker containers on a different computer from the one where `release.zip` is created, -run the steps directly on that computer. You will copy the `res-stage` folder at the end of the operation. -In this case, run the following commands: - -```shell -mkdir /tmp/res-stage -cd /opt/IBM/Curam/Development -. ./SetEnvironment.sh -ant -f $CURAMSDEJ/bin/build.xml configure -Dwlp.shared.resource.dir=/tmp/res-stage/resources \ - -Dserver.setup.location=/tmp/res-stage/defaultServer \ - -Dcrypto.ext.dir=/tmp/res-stage/ -Dwlp.environment.variable.set=true -Dkeep.profile=true -``` - -Copy the resulting `res-stage` folder into `$SPM_HOME/dockerfiles/Liberty/content` on the target computer. - -## Copying Liberty configuration files - -When the `res-stage` folder is populated, copy the local XML config files into the newly generated `adc_conf` folder. Run the following command: - -```shell -cp -vf $SPM_HOME/dockerfiles/Liberty/content/configOverride/*.xml $SPM_HOME/dockerfiles/Liberty/content/res-stage/defaultServer/adc_conf/ -``` - -Change the `$SPM_HOME/dockerfiles/Liberty/content/res-stage/defaultServer/adc_conf/server_applications.xml` file to reflect the correct jndiName attribute values by running the following commands: - -```shell -cd $SPM_HOME/dockerfiles/Liberty -sed -i.bak 's|jndiName="curamejb/ApplicationName" value="Curam"|jndiName="curamejb/ApplicationName" value="CuramServerCode"|' $SPM_HOME/dockerfiles/Liberty/content/res-stage/defaultServer/adc_conf/server_applications.xml -``` - -## Copying static content artifacts - -Copy the static content `.zip` file for Docker image creation. Run the following commands: - -```shell -mkdir $SPM_HOME/dockerfiles/HTTPServer/staticcontent/ -cp -vf /tmp/StaticContent.zip $SPM_HOME/dockerfiles/HTTPServer/staticcontent/ -``` - -## Installing external artifacts - -In addition to `release.zip` and `StaticContent.zip`, download and install the following artifacts. - -### Add the Ant zip file to the Docker environment - -Copy `apache-ant-1.9.9-bin.zip` to `$SPM_HOME/dockerfiles/Liberty/content`. If Ant is not already available on the computer, run the following commands: - -```shell -cd $SPM_HOME/dockerfiles/Liberty/content -wget https://archive.apache.org/dist/ant/binaries/apache-ant-1.9.9-bin.zip -``` - -### Installing javax.mail.jar and activation.jar files - -JavaMail is an external dependency for SPM and is represented by the JAR files `activation.jar` and `javax.mail.jar`. Copy these files in the folder `$SPM_HOME/dockerfiles/Liberty/content/dependencies`. - -Use the `gradle.build` file that is located in the `$SPM_HOME/dockerfiles/Liberty/content` folder to build these files. - -Gradle is an open source build-automation system that builds upon the concepts of Apache Ant and Apache Maven. -The installation steps for Gradle are in [Gradle installation](https://gradle.org/install/). -Gradle is not mandatory, but it makes the deployment process faster. - -When Gradle is installed, run the following commands to download `JavaMail` and `activation.jar` and automatically create the dependencies subfolder: - -```shell -cd $SPM_HOME/dockerfiles/Liberty/content -gradle getJavaMail -``` - -When the `gradle` command completes, verify its success. Confirm the availability of the JAR files, by running the following command: - -`ls $SPM_HOME/dockerfiles/Liberty/content/dependencies` - -### Downloading IBM MQ Resource Adapter - -MQ is required for Liberty JMS support, therefore you must install the MQ Resource Adapter. - -Take the following steps to download `9.1.3.0-IBM-MQ-Java-InstallRA.jar`: - -1. Browse to [Fix Central](https://www-945.ibm.com/support/fixcentral/swg/downloadFixes?parent=ibm%2FWebSphere&product=ibm/WebSphere/WebSphere+MQ&release=All&platform=All&function=fixId&fixids=9.1.3.0-IBM-MQ-Java-InstallRA&includeRequisites=1&includeSupersedes=0&downloadMethod=http&login=true&login=true). -2. You are prompted to log in. If an error occurs refresh the Fix Central link. -3. Download `9.1.3.0-IBM-MQ-Java-InstallRA.jar`. -4. When the download completes, copy `9.1.3.0-IBM-MQ-Java-InstallRA.jar` to `$SPM_HOME/dockerfiles/Liberty/content`. diff --git a/docs/02-BUILD-CONTAINERS/build_docker2.md b/docs/02-BUILD-CONTAINERS/build_docker2.md deleted file mode 100644 index 9ab87d54..00000000 --- a/docs/02-BUILD-CONTAINERS/build_docker2.md +++ /dev/null @@ -1,57 +0,0 @@ -# Building the Docker images - -Now that all the elements are in place, build the images as follows: - -* To build the XML server, batch, and Cúram images, run the following commands: - -```shell -cd $SPM_HOME/dockerfiles/Liberty/ -docker build -t minikube.local:5000/xmlserver:latest -f XMLServer.Dockerfile . -docker build -t minikube.local:5000/batch:latest -f Batch.Dockerfile . -docker build -t minikube.local:5000/curam:latest -f EAR.Dockerfile . -``` - -* To build the IBM MQ server image, run the following commands: - -```shell -cd $SPM_HOME/dockerfiles/MQ/ -docker build -t minikube.local:5000/mqserver:latest -f Dockerfile . -``` - -* To build the IHS HTTP server, run the following commands: - -```shell -cd $SPM_HOME/dockerfiles/HTTPServer/ -docker build -t minikube.local:5000/ihs:latest -f Dockerfile . -``` - -## Pushing the images to the registry - -When you set up MiniKube following the steps in [Minikube](../01-PREREQ/minikube.md), a registry was also created to store the Docker images. -Push the new images that you created to the registry. Run the following command: - -```shell -docker push minikube.local:5000/xmlserver:latest -docker push minikube.local:5000/batch:latest -docker push minikube.local:5000/curam:latest -docker push minikube.local:5000/mqserver:latest -docker push minikube.local:5000/ihs:latest -``` - -## View the artifacts in the repository - -Confirm that the pushes to the Docker registry succeeded. Run the following command: - -```shell -curl http://minikube.local:5000/v2/_catalog -``` - -The command returns the following result: - -``` - {"repositories":["batch","curam","mqserver","xmlserver","ihs"]} -``` - -_**NOTE:**_ When you shut down Minikube, you might need to repush the Docker images to the registry. - -For more information about the Docker Registry HTTP API, see [Docker Registry HTTP API V2](https://docs.docker.com/registry/spec/api/). diff --git a/docs/03-DEPLOYMENT/hc_deployment.md b/docs/03-DEPLOYMENT/hc_deployment.md deleted file mode 100644 index 3acacd25..00000000 --- a/docs/03-DEPLOYMENT/hc_deployment.md +++ /dev/null @@ -1,73 +0,0 @@ -# Deploying Helm charts - -When the Helm charts are uploaded to the repository, you can deploy the application by using one of the following commands: - -```shell -# Helm v2 -helm install local-development/spm --name releaseName - -# Helm v3 ('releaseName' is mandatory in this case) -helm install releaseName local-development/spm -``` - -Where `releaseName` is the name of this Helm release. For example, MyRelease-1.0. -If you do not specify a name, Helm auto generates one. All the names of the Kubernetes objects are created with `releaseName-` as prefix. - -The `helm install` command installs the Helm charts in the order in which they were loaded in the repository, with all the values defined in the files. -However, as described in [Setting up the Docker context](../02-BUILD-CONTAINERS/build_docker.html). You can override the configuration value by running of the following commands: - -```shell -# Helm v2 -helm install local-development/spm --name releaseName -f override-values.yaml - -# Helm v3 -helm install releaseName local-development/spm -f override-values.yaml -``` - -## Status of the system - -The `helm install` command shows all the Kubernetes objects and also runs the containers. You can track the status of the containers on real time by running the following command: - -```shell -kubectl get pods -w -``` - -The command lists the pods and their status, each status change is on a new line. - -Some of the pods have initialization steps, so they are not shown until satisfied. - -The output of the `kubectl get pods` command provides the names of the pods that you can use to substitute for `podname` in the following example commands. -For example, the Liberty pod that contains SPM code is named that uses a pattern of: `releaseName-apps-curam-`. - -You can also describe a pod by running the following command: - -```shell -kubectl describe pod/pod name -``` - -You can also read the log, when the status is `running` by running the following command: - -```shell -kubectl logs -f pod/podname -``` - -## Accessing the application - -To access the application, a URL is provided to access the pod within the cluster. Usually this access is done by using an ingress object, for example: `https://minikube.local/Curam` - -The application may also be accessed using a Service Port directly. To do so, identify the name of the service, to which you want to connect. Run the following command: - -```shell -kubectl get services -``` - -The SPM application service should be called `releaseName-apps-curam`. For example, if you run the `helm install` command with a service name of `spm` you can then get the SPM application URL by running the following command: - -```shell -minikube service spm-apps-curam --url -``` - -This command provides an IP address and a port to connect to. To use the provided URL, replace `http` with `https`. Pointing your browser to that URL opens the SPM login page. - -When running `minikube service spm-apps-curam --url` on Red Hat, you might encounter -[MiniKube issue 3558](https://github.com/kubernetes/minikube/issues/3558) where the command attempts to start a browser by using X Window System. Ignore this error if it occurs. diff --git a/docs/03-DEPLOYMENT/hc_preparation.md b/docs/03-DEPLOYMENT/hc_preparation.md deleted file mode 100644 index f77fac16..00000000 --- a/docs/03-DEPLOYMENT/hc_preparation.md +++ /dev/null @@ -1,100 +0,0 @@ -# Preparing Helm Charts - -The [spm-containerization](https://github.com/IBM/spm-containerization) repository provides six Helm charts: - -* *apps:* defines how to deploy the IBM WebSphere Liberty container with the SPM application. -* *mqserver:* defines the mqserver container configuration. -* *batch:* defines the batch container configuration. -* *xmlserver:* defines the xmlserver container configuration. -* *configmaps:* contains a group of common configurations across multiple containers. -* *spm:* an umbrella chart to contain all the other charts. - -The charts use a templating mechanism to create the YAML file that is used by Kubernetes. -For this reason, the main configuration values are stored for each chart in a `values.yaml` file in the main folder of the charts. -These values can be also overwritten by the `spm:*` umbrella chart or by a provided override file at the deployment as described in [Deploying Helm charts](hc_deployment.md). - -YAML is a human-readable structured data format. It provides powerful configuration settings, without having to learn a more complex code type like CSS, JavaScript, or PHP. - -## Preparing to run the Helm charts - -Before you run the charts, you must configure the database, configure IBM MQ, and test the charts. - -### Configuring the database - -Update the Helm charts to point to the database that you installed in -[Install Prerequisite Software](../01-PREREQ/prereq.md). -These values are provided in the `values.yaml` files and must be modified before deployment to reflect your local environment: - -``` -global: - database: - type: "DB2" - hostname: "dbhostname" - dbName: "dbName" - serviceName: "" - username: "dbuser" - password: "dbuserpassword" - spm_psw: "spmEncryptedDBPassword" - wlp_psw: "xorEncodedDBPassword" - port: 50000 -``` - -_**NOTE:**_ `serviceName:` can be of type "oracle" only, for Oracle databases. - -The required values are self-explanatory however, `dbuserpassword` is the plain text database password and the value to replace `spmEncryptedDBPassword` can be obtained by running the command -`./build.sh encrypt -Dpassword=` from any SPM installation. - -`xorEncryptedDBPassword` is the Liberty WebSphere `{xor}` encoding of the database password. The value can be obtained by using `$WLP_HOME/bin/securityUtility encode `. - -If you are implementing an Oracle database, change the `type` value to `ORA`. Additionally, to pass the connection service name (`curam.db.oracle.servicename`), update the `serviceName` value. - -You have two options for setting these values: - -1. Provide a custom YAML file, which you reference on the `helm install` command as described in [Deploying Helm charts](hc_deployment.md). -The contents of your custom YAML file, for example `override-values.yaml`, contains content as above. -SPM's Helm Charts follow the parent chart/subcharts model, and therefore the values must be within the `global:` mapping to be applied globally. -1. Modify the `spm:*` umbrella chart. You can find the chart's `values.yaml` file in `$SPM_HOME/helm-charts/spm`. - -### Configuring MQ - -MQ is already configured to work out of the box with a secure connection with IBM Liberty. -The commands that create all the objects that are needed on the queue manager are defined in a config map, in the `configmap-mqsc.yaml` file. -However, there is a default password that you must change, as in the case of the database. -The password is in the `$SPM_HOME/helm-charts/mqserver/values.yaml` file under the name `adminPasswordKey`. This password allows access to the MQ web console. - -Passwords can also be stored in secrets, as for the certificates. However, for the scope of this guide, passwords can be configured in values files or preferably, overwritten at run time. - -### Linting the Helm charts - -Use the following command during development to verify the syntax and correctness of the generated YAML files. Run the command inside a Chart folder: - -```shell -cd $SPM_HOME/helm-charts/spm -helm lint . -``` - -## Packaging the Helm charts - -To use the Helm Charts to install SPM on Minikube, package the charts and load them into a repository. For more information, see [ChartMuseum](../01-PREREQ/chartmuseum.md). - -To publish the individual charts to the Chart museum repository, run the following commands from the helm-charts folder. These commands also use the `$SPM_HOME` that is defined in [Install prerequisite software](../01-PREREQ/git.md): - -```shell -cd $SPM_HOME/helm-charts -helm push apps local-development -helm push mqserver local-development -helm push configmaps local-development -helm push xmlserver local-development -helm push batch local-development -helm push ihs local-development -helm repo update -``` - -To generate the umbrella chart that is used for the deployment, run the following commands: - -```shell -cd $SPM_HOME/helm-charts -helm dep up spm/ -helm push spm local-development -helm repo update -``` diff --git a/docs/04-RUNTIME/xmlserver.md b/docs/04-RUNTIME/xmlserver.md deleted file mode 100644 index 3779d8f0..00000000 --- a/docs/04-RUNTIME/xmlserver.md +++ /dev/null @@ -1,15 +0,0 @@ -# XML server - -Similar to batch processes, XML server usage is limited in this deployment. However, a pod containing the XML server is created and runs in the deployment. - -To connect the XML server to the application server, change the `curam.xmlserver.host` in the system to point to the service name that you created during deployment. - -To verify the service name, run the following command: - -```shell -kubectl get services -``` - -The XML server is listed with the name: `releaseName-xmlserver` where `releaseName` was defined during deployment. - -The change to `curam.xmlserver.host` allows the application sever to connect to the XML server. diff --git a/docs/CONTACT/contact_us.md b/docs/CONTACT/contact_us.md deleted file mode 100644 index 8019e30d..00000000 --- a/docs/CONTACT/contact_us.md +++ /dev/null @@ -1,8 +0,0 @@ -# Feedback - -If you have feedback, or wish to raise an issue and you are not an IBM representative, please contact your local IBM Account Executive. - - diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md deleted file mode 100644 index 7042f09e..00000000 --- a/docs/CONTRIBUTING.md +++ /dev/null @@ -1,46 +0,0 @@ -# Contributing to the Runbook - -This is a guide for contributing to the SPM DevOps Runbook. - -| Branch | Status | -|:-:|:-:| -| _Master_ | [![Build Status](https://travis.ibm.com/wh-curamspm-devops/containerisation-assets.svg?token=NKvU4jxhcjZxNi7gZ83L&branch=master)](https://pages.github.ibm.com/wh-curamspm-devops/containerisation-assets/) | - -## House Rules - -### Do's - -- **Do** your own lint check before committing. -- **Do** create your branch from the `master` branch to avoid conflicts. -- **Do** use good grammar. -- **Do** provide references to any external source materials. - -### Don'ts - -- **Do not** creates branches from `gh-pages` branch. -- **Do not** commit directly to `master` or `gh-pages` branches. - -## Prerequisites - -- NodeJS 8.x -- Markdown-compatible editor - -## Setting up - -- Install GitBook and MarkdownLint CLI tools: - - `npm install -g gitbook-cli markdownlint-cli` -- [Install and Setup GitHub Desktop](https://services.github.com/on-demand/github-desktop/install-github-desktop) on your laptop -- [Sign into IBM GitHub Enterprise from GitHub Desktop](https://help.github.com/desktop/guides/getting-started-with-github-desktop/authenticating-to-github/) -- Learn [Markdown Syntax](https://guides.github.com/features/mastering-markdown/) and notice the formatting standards in the existing docs for examples of how we want you to construct a page -- [Clone this repository](https://github.ibm.com/spm-devops/runbook) to your local workstation from the GitHub UI or [use GitHub Desktop](https://services.github.com/on-demand/github-desktop/clone-repository-github-desktop) -- [Create a branch](https://services.github.com/on-demand/github-desktop/create-branches-github-desktop) from the [staging branch](https://github.ibm.com/spm-devops/runbook/tree/master) - -## Authoring - -- Make the changes locally, and build the static content for previewing: - - run `gitbook build` OR, - - run `gitbook serve` to view your changes in your [browser](http://localhost:4000) as soon as you save. -- Check you code for validate formatting - - run `markdownlint docs` -- Add and push local commits with GitHub Desktop or the `git` command. -- Open a Pull Request when you are ready to merge your changes. diff --git a/docs/IMAGES/MiniKube-dashboard.png b/docs/IMAGES/MiniKube-dashboard.png deleted file mode 100644 index 0439d02c93e454fb8405bfef307c6b3ed90ab46a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273490 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�R@`&{~s=v{XXoZY!;I_SA-7VQ}($X<-CV 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 -SMX1{0j|N+XBvZ@e^0cI+^EUec*1#fb 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

-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 N+ON7VWsmW1{|{c9j;sIx diff --git a/docs/IMAGES/architecture.png b/docs/IMAGES/architecture.png deleted file mode 100644 index c02e033a220d5f03d9101deedea17c278d2f0a73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33743 zcmb?@bzIb2w>LH%3{sR3L2wSOh;%53GQ^;CBP}J}WdI6@2tz0--5}i{ARygc(hS`l z?;1Sk+~@h+=Y8M%$DP9&fAfpI*IsMwRr~wfUQba^F8x9N2M!L-C8XFR862F`cj5m* z+|zKzz2or{_~)#_L#c;2I9Y!92U_Rg_e~u!87Ukb$J;nKuiSBP_Tbd3SsWajJ2*IV z&v9^gKjYw#nTHoYmWjC{F z>!eowI%KXH;2sV&XUCPiaEcb|X989~ze z|7>XRE?@rj>t>L6Y)s6>OP54x2_v#fONZLpRwnDwjAVRP(~^pcihIYOK7G2YQ_FGx ze)|~`5s~T(S8i}{ahVO|BBiDM2-vlMymxm$yBF>0=^4VRzP7S*hn-zqLSiDq`uOOO z@YZ8{M@LIaGIDZW*8}@Ymwa6h_ZEkWtfm@*+zBpSx+EeZ^7_G3O-&)AuB1o-Cn8~M z8ygoF7oLx@p^urbQjn96lscd%3X6+*FI;#BHyFKmA^C;f``JSIpE% zkB)AK+hDA}em$SNBQ4!J)fhr7Ond8Ay9xm}-a`$Y?3^4tnpDNi1h(C*lEeLNVqq93 zW#!Zj022nHAx5B_2Lg1owQ*@293153<=qKPO-&v9IP@9<@rZAOK#gC# zSjhKfYdqfAL~hcQ@5tZFe=+8Sa+OPBZ~+kT|CF3bo*5B)hGm zrl#i8rw?#f*Vbf0J?&&!dtsP#|drqzi$ zJQ@oN3vraCg$0fK#gdaNWZo;)%r$w9wOtzCV>7{C41m&L_|b-S{lEAfRDE~E{*jr zRFIIxM9*IR+0+!b+}qVfAk6u4C}}cI({=Y8O86JuS%;iRv=BYB9fpgN+d>++GHRX10vqw z^#T4T@_0=YCd(!g3A1XJ^Sd26o0%<#hld{=9C#5UK(%F$;cmCOO2Oq3qxJT}V(}gtd zZ!M-qM?YjM{AvYMj22qFohSqq1io}~)o9nctX>4rV znPV)D3T4-8NO~6A_Iu(w-4JjL^!KmS)Jyyv8X5{VwX|H-DkU{FCnpD_rST$TdU`ql z`yq0r^h-!f`;cJ-RvnBM5{aC5*fk8KCGz?MAAgrn=#-}%|imLcR2eHL1;e4*Ze!^QcI{3>Gp>t|8A)8(=Oz4M~s_n)7qpXw=py;~pRDWFj~Gr3n*Rgu-iQc{IWQ zUC#mpjc!bL?#!3x0h=F=&b$+x(H7cOlukUy)TVYS{46i`_Khw&U3tM~WbYDbt}G({ zYQwUwoNh2@>Dc0zPYkYGr)Y)XzF%}JOGE_M`rUrDQ6NP(rqbn}9lsW_d-s^lLeq?A ziiUKMh5|72Evm~s3)x|~m#Nq)+h#cXFbz-Ul0$gzchk*QwA-O+&%x3h`EhFR_R}VtW0xmKikW71HkaNN zNnkh_LnQ0UFMfVF+@jBdH{KMsNRCRH68ZFSXyH3o< zrqVwzyU4chTB4=;spD)ZI=g}V*xZ&1`te!qmmX}1I!H|{ieGe(N-s$@#t!(@!@8a5 zMhpF5AZ<3&cKP9@P~KPQ2YkN<%1#Ua^uDh;+bBO@KrB4oA)Y8{w=+Gs41C};!H+Rr zR(-o{>S_gicum0WmK-wU`D$XuLr2o>sPg9{3ml^oO26_4+(!N5Z&2XT z+>5v>C}2MRQK{ zI4V#zOy$qz&E&1G(be13yk!nEl^~(~isr|%7tD!XP#-+k72ZUvk92`jJ)3CCX$%Vt z|8eCFgYU3FdS;w%Ab+vH9Nmt^20R|siG;y%#ZD3)7bRvS=!S3&HwP04mvSvT3-IGdopjlb^1b7h?Gel|gM+(%c;Pbraecx0QK3Zi zjx0loNGu)=sM#)kiIbUp(c~aTZ=-GT`V5-CXO~!*{gGc#c$ed8-s!F8g3)KQ$5Cac zq73p>sn0(vPBm`3ugLp}*8R`RJp$FpgWb5Mj`O@K+!KBd8&5w7`$gG{p29)A=9IE5 z&n+qTT#pIzQAk_N$ne)tI~GO}9dN58XO>zc-Vw0d_xV-&lfAr6CY>F*$`$@dNG#b( zv1l^YYuEi#(0o2LZf(AN9W{=a1&IOW%a{1-iCxF%*7=ZAMiohDAmt)CZ#Y2}b#U@f zOM0dS_CAgh9(3YB=R={I(Kk1~U@5VE)x4n${689Z+t^v2mbU6R5=q3P30azK3lWma zjxLX$nKaZaa+rB2EVhs*w^tsNKAdV9&_HkS{syt|hsR-SjrEMi2ZJbbE&hy>;>Rk4 zsfD=_?ihvdj@l9(s>QY^I8~z}%Oi`sbZ(Vp zjP>_&ms%q9Lbz(wil5*T9&q!jI%-d?gWm= zk%m0iFY%X%UGo#nT*2Oqk~>SYJ=mc@jbFesoH@#+A9Z@Fqi0+fr5n0h$4@_%w$;CD zf>J}*WW$mSMd2%77sEXr25ehc&59#5Y`63s=jBQD<<$!#;&)t5gJfPES6PYR zJR_}XY{J1YC&DqC-FF2QzQ655tv!K*gE+OaO%tV#V|Jc{6Z?Y_#h!U8lZqP;eC>Cn zIngWhFFH8?KmH9}yh4L>#(HV&^Z%pYzb^j1`J^-G@9&5I`|p#M|K<9B{ypG_zIwK2 zKhl0903VP0@Wob!Bg72YKG;MJZLF;Dw*&CUxLFHIucJ=mpiY~2NUUN$@J0yDX;{(} zyLBB_VDkQ={0RRHS#oaq)UWQk?(E>;t4ppHouBC0_in|KW;YaH{Ww7$R+t?+9gw20 ztwD@#`$TVad-{H(Ftzx+s%@mh!MEu6B9D?!LpzyuWqOoKje|KWIov_Ti)dZ?C!-fF+pB`Gy4d_|dV{ufyr za95Tc#pD%L6_rAA2cPvw;09JUFMLo$h4n8QB^%6mulBZeRMAgyK?BEJW%)%O#)e}p z^!Lwex*jCGHZ~c5?;z#)jCeoE<8$u<|N7^NLg0nA_=N9=#~&wpL{lSZ%#Qw zy1H^0Wo$Ib;zv;=oxn&7+1XR#0)oHTezG^m-f4#Owm>n&f_&?RNnD$`4a+;ASfdK;O7;uFhiY z<={J=tMYNeHr#=uMWV%G2&r{OJ==IiL=>TpGIci7zH~RU-)`(~oy9!cpKR zR*fj@)GLmE@GeWGJv)xie>_5)ZZ_sNbtSQ@3W*I~9}L=bRDDHME06WUAQJVTp~FYJ zI@W$%Z8axyyC^5qt;XWiu}o1c$n({!Z16#o@$LPeyIX8deKC`CqN;7x*_WRAaevGi z`H^BxRFUFUB(-tP2S)Nt6sgNXSts9<7yjOC$0$GWBY`F5_P6LMag_<_5zBDt)8<6s zX9wP)g){gqhy)@;{KO*bkRIbg5pg`}`B`2Q+^n-5I@%iRtqggw0=j{(ed63ObQNgm zE9~3jBNK#PAcqBI0sFz&+FQ4d?(8j{!GXS#OWE&Oto`mO)4Q2zH-j)XhOX6FfLtqo z57o(1W?}gJKy>FedOa+16bV8Hi5l8~{5>kBP$4wQ1&O_l7N0_>xEY4JGh_J9?uY zb+t@-pj^m#)z9ZTc=Pq1JuNHGu~wcHaeR}a(vv;WbW8vB#*EFH=k1S?+mL&NpGCaR zU!rp~JR|UJ$CN_#*J%v#$;d&B4qQUPYruw}0IFI5Dd? z+KP$G*(S%3&J|5HU!hQW6rk_;EGkkbq9cW9J#_T2|H&n{B{k4ytkLKxSXtH$=CI33 zL$Vo-kNWo%Y=j{^es^x`+-jnyE@8Mi=&)7=N?9i`Urz`RQItz2*w^eHhiULRf010x zSKHJyddCuk;prKRR6dy<>byvmQKFD;`$>I~=)x}(+`YfvnKg+poRix238Q_)TA_bxlBx3bqZKLJL(tpC8~Gd@7Wdb%6Z?Q3^V?;- z%Hlim8enw6zQW^wd6EC$@8387w(3}~^FRKL6~({a|F6H@YtR3iQ~BNe-%jR50m{hk zz)HnQ&Gf_twh;=5<8q#cLI3`PMDt(%5D>!F@v(Hx&SA{0a#A|^0i!k=o=cU(wi|XxL0_AW-`{#$$D`h z9UVGQcHw>>_er{K-`NzNqm*uCuojhMv&3)JqHS^&t57(l5hC#|5hW|AxuGKb%K;|> zSW&nV)Wth-6YG3maat$2zr{LtoPi(FGKnZ7ZZWL){VGMt=zBwm@B)^Zzark2iWP6~ z9gRMw*yr;)GR@6$%3Q85A>+6P%vf=Z*x>iQ$2!s8@qO+HMJpP7UZGBpe|+Q%hyez` z!iUlBs4n887w44GT|(8@#J&41l+1SI-PN?i9&!3JcdZ^(h1WGv>fP%%OaI_y0L}s^ z(#S%m%!QhAzK^nf{=;IZ(^WU;A+tYc^@)H>*%2&#v5wz9ez}#cftcog+2Cj~FGAl? zRYr6YR=iT2h^xKb@-r{30{z~CDE(sc_3|V*e(_^GTRlt0Kh7&klFo2|l!+><5PNzj zhQ0M0c`fo$qKS#oYcvi7O!ntc;w<(DlSx03lf=ql@*Q`qjP>*_-lmoF9ArDo>ax^X zl>6t6g-m7dO*f5ueozHU4r;$vEt^a_uCJ`9;c&`Ds%$t~B&!nCRm~+-9>r zQzLLue^1_mlB+W_r2;*BrGnAW1x)U}0tJQ^B1h!b2iuXZE)oig`H6{%`;PSLE@p}^iq^{csbMz<#GM?xjn8D^lrJ6b}=Zu zTbUUd2{Y)~*FF^$ZaO-*>MWoLu9jy+8Ziy!Y9Qp)sZ(9Z8#ivSus}ot%O0zHJZ?w) zG;|CMUUoA2`nPFxch{!8Lxhsl(h?I9G>;fv)=~wWcL;u4{(%_u&O1B@_Z~HrYax?@ z3Zo&>H2;mP!VeZi4(?qC4nK%xst;zKiNpsasAqLF)?X12Hr{!1NgzFfB#GPJ)3bCO)uzKRN9X!IJw9GkTG|X&Rw(NZkM@^A2`0Ed+R4bt zkwDFFbN=9hfN555rY6FDW1+vZre+FOaJZwesSSqIYQs7_)@SgO*5fiqV^~JhYZ114 z!*54I5xtzndo*`m17-cqgEP1;f96=T$-b!BX86nSFRx3=@5u@VzR4O zQ`DI2Eb#E~WD_JY{W%DlAC;A3HCyJByB$SVAsS_Q?=If6w6@@La33^|s-$D=eQ)PYY4MFVJheD*Us|X&aYjqRvl|UBMVZN=8O3 zT>Ftq0+-OI#vA4B=ZA1N87Wm>4d4&*nace3!o=j@aC;Pw1`Go?%5h3J=>Cux;~)Ia zdq7s}QMwL?epPZRLm#ub%oBaP7uMj1f-}}C6YM>D-$Y5IDLT3j!>k7Dz0uMi6n!5| z7;E3HXuHM^ErECp+lbTL_0Usi&f}ha1B(Js(1!)DEsz-0D zjsNf(7#O%#;&g^teX29hxL`QCy^q9P=AD4BFtHmIY8*o6QpsIRDvH+VrfXEA zb(Zeq1gr<0J$*|3ji={hC8f^|HA|xvQ6m`=t(?P!7H3e7XiZv++_MN9$q%)X-w8X6 zEs5$ZM&22bN=*(l-}Z(QfIzuU|_JWSkCYuxq=RF5 zyvZpUy9Swm9NESv9*WZMQ8(TvrP|5dtwd&i5(-zRQXe|$sRm}$>vz&Re5DEq3(Amy zWBYFsn9idV=2n7`j@&orGh#2G9O=*A5ERh;OqdT{M9+4s?mw0x%&(re1qLX}+-O-z zclP|GzoVdmbog0z<~3Rak1N32akHn^_7$3!1k|F^Ma--gR%SLDmQ}IQ3bq{!F}9Q^ z%h*U}vAA37)_3HKPHepM?YIguag$p=+ZevhR`Rm@lFZ|cN|JumOy}5=a7fw3H(u;FK%kTDqUKke8@*jvy zItBOkxt+p}1_x;Qeed(*bN|%{c0fSx32#ms`RCrhNBYmb|JKOKy?;~k4_97v0xkcr z<7CudPul;@j+2qR0$To!9sjT{S^d{sRPycQ#&nr_Uf;V|g;_B}v zlBJxx$pu_#|GInb6)M!LH2G_J65E{5UKP@9I6--GbB1M0xo;r#@JTjre!t|73Q$tbuCNjB0|7z$2VW6?qiYF%+cZ~7Z;b^Se1v3 zjg55J_vU66dU_AN{F}uOFBn?%6o%27ms%6I#xDFlAI4p!_TDW2eE?^mK7a z3I5qPfE#f4@Ic1PzydQ6YGq~h`oTA+?U%uNw`ggDnU%q%G85p!0yzY=uu^{Z^g~z= z?&zSUrR~Yoq$VO_*QvdjrQ|$Tb&iRN$x~}#anZ`sQjRs;E})=b8`jU2f}4N-G`F-Q z!aaNS>Qw|P{AY7>UVi>n+_R@&!$21|eb3oEM>se-LcABOu(&c-4KNQ*_}sk7U_gMjj*f^^naloGdvQr&p`4r?NJjN0!JUgb1_mMi{-+QOTR*L17yGiR zYisrE1L#k`ehz^Y06CZ&M+z-;mWGOe)Y{s|hPu+2CqUW7Y9&?G!M?ts3O7wd#MTGdHwh%81O*rvkQTe*eERC@5t*5pu$&DaKR;JiB~x^Ec6MZBApqjAnrS(A_N-XE%z#w5kQ+95 zzF0juGqc>6^;YXM#5hqrR-Rhdh>6jCeM)X_Zk}3!EjaBARFssq3w{2dKmWYb1iV~Z zUmqSCqNJq6N~Z(Da9FQL_=|n;^@ST>4iyqoQ7tYnYbq&SBPS0H3?!kZHq+L&{Pq15 zH%1gVWnf}LNlYw)uWM%JHq}51CoWvL5UdCCFw@eq045ptW?ZMBc=Gr$V~f*#4~x-F zH@D--NnN0diqDpWgaqOU5PFu92|TK;O$3TdPR>Yx`=UTN!g{8K%2P`zSipYerm3)S zbldQ-089wLX8=b*pJBzE&5EOKb*|BjLnZCit5*{kSjkg??7K4H!pAK(k~DujBm8eso=rQPvY_3ss5p%DIlL(=2o{)mk>6e z1dRuB4M9DbSybz94rl&)ZJ+U2fgFb znaK@FLwba+scD%}H)BnWczlOy!Ap;K@7UA|+dv~wG8j77iotT1eZX`XW`SDtI;y2^ z`UO7zuCn~-ppQzE4J-rn8f4tCI5j)jJSCK;6qr>+{Nrd6tse)2F|dmoqJ4 zXaJ|vy{5l7kVotPCq4ZX=>F2uQfGn`6AO!!q$GgT-k~+p(X+vJfSQt$imzs9HJ3pm z@dQRcg@hok`T&TKn&1982x@Ur{n;}@3JNBm+RKg}vAeT#4V+VjD}>!(bKrCDB04B2 zC@MrUfG904rrT!)bokBQU4=TZsWCnJ~x9N;Xy#c(LUh1ry^dTQynMy6vq5~Cx2 zzyU@E%vS;%WKQ5e%>^+*e3qsbjS5;MkPPZ-UYiaq1g{97Z=n;Ym zN9-~KGdSIj)-ku?PE!z*;)^n+;P_tF_QQ>VJY#RBgj}8AkPtp@?zRvBcR?(}crLb( zTsuoiFKT50f&;sk3n*HDu-9!F?wtNVemwFQdo=1$|5G=+s!Dj^Tcq2VWl?ET(t9C$ zs8_VKw73pSJJ^RTO9#~JVjHVll6y=?)GmQ`81t$bub?#X7o&p-W?2;OsttV5)0?8$ zr{a@zX>4eK^k`Q9pphE%9zFu5h?Mm7cpF7YNb4RxeBGd`5M(PEAH4EmB{jMW!9Rob ziB7F)9lgP}x#kiC+_l6oM+=8&qrg{*2zJR!=PQx zVP@Cw7DKV`cQa$9xZ)tfC|WqK=!|5qptdDUZxsZS^aR{lNcN~BwV z!aUbu-!6wGkZrM{2rk#+% zz2y`Zy%$|>P6QcHnI3{lfNExToKyGnv&@kJc>GIFTLizr#p>K^4k|w2epHJaE|~67nRG(_Sz^1G(Bs+yHvwIP{t?!5 zM&eMsvVHeBR;ofSth`TS&>EInx(B+U32fK4x`^w(UshtCh`s2fN|q{dG7{N9a5*_TU+?){@Q4M1;ifJ$puK zXqa~pc>Q|bV7?daEha`LJ@IuJOUpTu836~GaI|b)_QF)7JVM$V!z?eqmXze}v~46K zYYdmI5@al1x3_CYe^W7>Qq5#+uJMtl;3V1K3mz(GiC(6o7f=Rl{_$pGxvWc1nbUpf zOEE)kRh0qAppSo?^_WEEslOOGkxagwnc>5S!}q*1vPrX;!y?oR+}tpc0`a@M()w-# z7uwazR76Mlo$|Ab_gXCz;<`)*Z?A2!dVjpy$=K-^t5&Kcugc{1B>YiWmfYS)mlPHAB8FpdB_hWf}baNv$=gB6Q(-sb)H1_a`6an!cc)yuZVg8m!m<^XDJJ z?ia2EJ2{XN(jLsEBGy0Nh)6DEciD?0pjFFFdZlRpa5Z_jhcd@J^%uzPTD|NZ-xLDWB5*`4h@wS8?D8TFJo z|4jP8S_i!lM1N6MP>(p6MBX)(%ay-&Esnuee(pO;1t=t-A>|qV3}c|6FleJf6VME& z_>hs!&L?&Zr%OkXxE#vyW_7ewu_@@K`}*G7IX5?-$f~Na!@i%b?SdJ&OdT0rc%}UH zTs3m>JJOOTH5Pr)t(feNYc>+NLRE&Az0sJ>!(-!)JJZ^lXnL2wG~A5-iJwAJD&pwC zDqpfTI8bb+sh-a|DV(>ypGSK2)@&(ooVhVLSR9WKZs8mjIeq#Ob0aVJBoQr%k6tcS zNT66y+C4W{L6`bFu(sqSE+nraKcE3G8_aTSZ56rW5)-E;qm7IvnH$fa4<@7?D$bi6 zwkD#f3JeV8vrEAoJ0PfdWTLsVz9 zE#Exd-YsIZBulz(jaP35%k4*>BQ^GOBc`tBC7?QbrCsFr+0!#$KMWmbi?M%xcs}I{ zBJT`By+}s%{T*JFw2a8v@qpF>b*5B!Rf0Y;QZ&~s(bQsbV0^xpUO}NBxH=rb%{SAY zdB@ha=%AACSp9>H25am(FVEECfV_BxjA`FfW^`6)C{kZv8HADiWuuXehqhUnMiD^0RH_KQCbfh@ilXP^)c2Wweq2Ax2i<4|edU(hPyWcaI zE`N)XQIw|SzT+}lF5~7#cu3pC=Vg2L{CPv5hq>_vkIch(JuUw-J2Qr1Yet`uV$yaE zoz4Uz-XZH<%WkkV=g!$M3W;SYcC;fu`ei0io9YLPQb48Vu8^?U`?g9N#Vkc_<*n3A z85`?>Q7VL?A^rR;UFWSJGN7xaN;)~aC)Z(Rf33(Wh%JY$bI-_-etAH?*fcB&bQ9)D z&D~rLvw0Iq}V&->E=enBe9Zudo^G3b?|*mc+H+Z{nF7uK+Er1DqN2g zPZf^{43rZ|jBd8;&5#jA1O?UO62dfId5Klr))v;@+S>-ZYr>+CC~sqe6ICBG>YX_q zY41Z2oxUiGWsHYM5Hals@091tTQgBPm>(s!K`93}_-*uA`*{vc$YMx+CeP(i+a*LKKpp{0gilhr_0 z)_B&N;ZV*{UPQP7mvC=i$gnOWu5@&9=Qq@06B$lQ_kXYcrVAT`Sp_Krk#awS}M>5T&Db- zkrA0>pIk$cBpBY+6Y;2o?!r4Y%~2xiC~Z(^eg3DEb_zy58_q;h>Je({0$I{gfo*Ns zZEY~#ile<(y!CA>N1m5z0@r7lNb9~Do>9q;d!?uR$Jj+B{{W&dG3XB;*t@!kF=TgL zxnx!39Un)iy!*o|QZ)t@bCL41>yh&mpFIn=O@La9OkUfipL|F{M_=y42FZfHWLfPX zQN@1ml+>yE`ulPc*5cq_N08#wKQbfz{k=69?&Sn;@mYU+|M7IYh8Nr2GStGbwTx09 zK6mnFOO>YCaBGLuQ12fp?6 zdunUF9auHez`ivEG48Dm6^YlJ8p_QbP%jb3R68jJ%ZC>f?$qPGrQm{WUiwH=5#i@c z+Nhh>AYEjY80v+LUc0KwyAEbUJL~Ns2kS(J%3vf&5+{Y?H*aj` zx}Y^xWMrgNRMI7D*DBymP*G90rTz3?0+f*f%KJmwujM<}xLDDGvmf-7RR_b*;jcx6 zuSrVf1hcYyh3GJ*^?{Wg+r|cSc76+{6A_;+bKC!Cb5pjO+8X#+PR^D)ck6YPgIh{0 z^~O5l =?Z?IcHs8?c_x~t*osx~jJrQGxVW^*Nt-Bd%>R3rZW1~R&UEGayowl(v| z0PmAk#ldgU_5-;W7!|qsOVu=mf;3y8p}f4c-Su@TNp^@2tnJu1?lrRC5o>HpQ!g+5 zG{VJetT3`R;94eBHTa#5;wtzTth>Mh>exxiO)WExd zHC^GiA;I9 z0RX0!6FsoI>Nqc09k*V07vcg4U6qydAU4ZB&P8v|`(O^!(}h54wWF$a*=ar!pMy+`un>+h8J&wCHwsA$Hu&RCjQIf0swn z%PmA=Ho_b1hLCp43Z0Qv4UBvoxu7*)K9J%rE%(tB+huwR_M`21TrOvhFF+u)x0k$8 zzXajT9&YcO)5+zoMq)pshz9afH-h;6$A&Fr)FZ-2TGW&oV!2j^i|PIA`!dVLec%5H z#aZE13$=sGsdAOZy(zeaYtoN4*O`)&K7m84T;ADU>TYxCX<-dO;I2pAo4fdrLDn>3bzj z$jHaNL9;8Al$KPKmY6cL{p}D4b6P*Iey^fcRTuCd;j`SeBrUu09XyNRJ^vO8auwT+ z7d4k6vV_#FhniDi)O8>q$x-e6JL(+E0QH4SIIY&MPl!a@PrJ{TXRJ@IO6WaDS-qN zms=wx3vn*{;&r}_ajGL-9P{AFz|adq1|{X|e0(H>NaWw^&dWfx+`)jW{g$)8Zt(_E zQB9X1BOSB|{^acEnO~nEMR0})Btbu5d~*+G&w&MF_(nL*qt9sBnF-m2MfHvK)_#K) zxyMg@V4nKdE7@%eLl)wy`IYb4{2$&m>=5?BAGq}+Y2m^Wvd}OC(Z>o4gNnSmV#Q&q zry8@NKVI|ayu)>vOOiG=YdukGxdIuR<@Lu`Hw;tY1dr94wROO5q&vYFM5v5dGvtO6 z7f)&L5HGippd}cBOa(Gpb%DDq>05K%DS|FC5avIdJ^YrNgNx5JT2j!}wjy{O`1Qh- zIZl&56Qp@0q%+GL^TZ(lXku<`Vm7Yvu4-yh3Dyf?X84v>kB85c*!IpX>3{?R5f}=% zVB>j8s))(4>U-b?c<6n_=%$v5<@iIBGlB~=wDyLZTQl7?9bs zc1gl>>-Nan(-aysGxqFrlxAW^9d{ zGXiNhgpi{}vSr4Kn1kJ2$O|^iF15LP1Pu;MGpi~T>PaAFWSYOf#s~`5aB}iMdbyE# zZRN{7gc)SS+!znxD{R0k35ocM!>wO!(Uy>H4!i=B2>IO1HbiqOL8NhsMq5iP@pdgs zgWI|qBGvoQNly1Wm;ima!%>>KCM&mO!MH7TRKRWjE!_6pnF|S- z8tRXPw1L%BS1Zp4HY1ijI7BjXwA#2*HX4^3=ZhILaz1M`sl3w zix>Tc7GEHKn@^#g(3jp+OF@iIYCYmfptqj_z_CF`8! zQ1#NW)_)R{%0HxL?{f559!h@c!e#&9)qBCc_lK=$%H4Olp`Udb^Ok@7Fsi9|e+tnK z$+GAZpV$~i5|)lc=?0iNp2!LpRc+G1KMEldD`?FbPSnGPdF(1f+qZiwl;RsHW@e;b>%FM#=~4>;}h2t~d3 zV3glFY3TdS^cdkDN3b}y7&=GyXh{67*kCjjV|DiO^Lb94iYeyh5oL5?r+u>AT45RQ zt<`bnOygy0*5yuwN92CA^i`x-Qhr`@f4O>>ck_H2 z7z`n<1$(ti-Ts)z02SFlI+B;#HNg8W>NDyXOqqR7M~<@fozNxJfz5S}hY$5OcrSA! zF(l8Q`CHd`3-8@o?vTMiAq2`KZ9MV9vOl@6~Yb$@o&D4^z4Uph2MG0v-%mpez zJ;aslXfCyjNik(MXDuMWNS9qfQ%GKd$pMlrHM?!Da@MwcKOn`e5P3*lfDVumq3+Bm zWXsLCd8nhfp%PhI$_o?i6%HZQ(`S2MZRWj6D?VJl9srZ1s6qN!QC%{)z>4J?f@-dZ z#gA66NEa57!hCvCF~OKl6W+xdAt!q)(M{ledG5ELoc9{XE2tR+xF9i)dtpeQsUlAo zl&zih;i!!5%-dY>8}W&c!DJQLrl)M;nIBET2scz^=B11aJfqoFMlu<++ zZ}wi;Frh!3NMus1Lb6f9^ekn}f63Ag;e{qG=H41916xR5#!V{w-Y!Y)&l_OtW|N0L z5s;2HF|*`2TyOJX>FhL?clB-%Kuwh=_lafa%;%dDw+ng1a(rmVs+rwhWdEBt#igbB zJ2#mDK66t~FB^)APN2_#ZEj@bt2SagSl^gQ6Yf64ja}%00J?l0R$%^P zG4Gt;(ofJ95$A zZgKk@PH7mHR_t5+=0vWVu+t7i|G&Sn@A+fbn|^--#Qo$og_G}-_x_&Eki3HJHwFKDbi{GJORe){RWD{;Uz>6pg%`nL z1=?n_@4Y8JmXbKG23R^VGBSd-g#Fox8}6U{1ee+YP>M1#f}H}sj-AGi9V2xQ-mu7P ziKusr=_y)o;_+!WIw5?+_Hq!f-BJ}_vegVL_C*R{Ux%uIoXq?Oc*g>Z5AnUa_#5i}U>ZikC=y`vhVfUdzBi*gQZqKN^u6Y0;wZh@Qs>u;(n@Rfj_dA5>NC z^7l z9l$q}v8p}42AlCzBh3V0*|)N?(v9a!SeUA~xOW5faIuY#*0qzDzhs*>)G;9jN{ zblzFff;}z(^#dzVuty2NQD6@rS4>Adz*PXX4p5xF!NGeMVX@nFb51^34|6(EI;!PP zQ%Af6<~fy(3{d3jd#N#-{fh}~?*Z@w0AJPA#K**F!)os7*RQm$@$r>}P|ChR!%JuY zy$R9+qd=WK2lw*2D&wiENftQr^?EQ z@#q)Qx-VZYEiXrfhnoQ80-$_v-n{wriQx5vn^%1n0f{at850vDEFyC5^h0ZFj^#LD zNSj#?>=FVn34k{JN0<{Jy*$t(uh8%?Y-eP<^6Mdh4Av&=VXYrFC5elR+u5-P-oh&! zy8ne~T7;E(;5lrrM8Wm)(UT|p`}>{2-%R?m0q?=0QQB8ibM8dLHmYXg0U@-3=>$N= ztOJ$n#l+m)K&@+zq9WGTxn5rN_rm`lNFtI89z%f3;^$Z4s~;F}>`syQ_6ZV?FL*f& zhgzQ86%0BmDnW-cuS|LxmXbpYk1Ymdsw%h&K>09e>M5eI-ePc7IODypZS zMLAn{eYzQdR3P^G`BeLOZmMk^1nnRigw1_0*U&(AL;q!*xdNs0h@ujccLyv^^j zmn)MF^9L{hY++JioXV=Iu=5enVLF&!7Ka89#5GTNwL(fmBT|X^@})~IE5BaDu0#a| zb}$bC{`27GdmkU;MLKF~YIq2MZ$35SfHiWQ4gMDhOf$D3fC6C;A()E9xM#swnA_P! z0T>Ffh%lEyGBzC`cEIy6`HQjNyLa7Fxx_YIj7}Vh0WoT#!fU{sDFnoaL0wfpIG6mfAu1z-tF@bc)4EoEQ{!eRP0*=-C zwcku7Q%RtO8{;qSKw|BqK-uoHXv(~-Vx*t*UyA$stXe9W-11{FP2q7M$77&&_SVi>8~LFwdFS*-7g`Tio#o%i8~DG=YB-wzD_MPwxM?}p z=V|4QprZ!ZB8VW9f0N$Ci`V>J#$OAnGR->`BSQAQuM|t%B{9(D=vXm5a<5F1?A#|3 zJ%8;7*MiP^L``vhN&;0b5u=OtPwv!=ZKrWF6f~OBnu! zk-e-ZT|cH#>5IA>ee0v5@@bXMg zdtGVHjZEprGfvZ26F(rBBk_+JTek*kvGvfRh&^@Rv@TxPzTV?$KzPZ6N3t&Le~rZe z!%y8!jgAFJqv{diL5#=Ws!{Dt421J5w}w4`J?kHRk7x!Wd-boalj!_kPpI2Imkh<{ zUo}9?Mny02E@@f5SF!j;c+JVvpoZsr#`aRDOsT-Uev=;3W$M4GG5KjOnbRYPZ_=-? zk3mY58GH6}o4Mzc{}s|fIK_W;MSi9Er#Z=Dr{+GTqTk)8+UubE_t1@Ehu;%%;Qq8O z5vWo2%p;HjO2Tq$oQvJIE*gsShm}0o_OE_=btYsg@QqW{E4IHXvD{iT((U1eC&$FJYH69YGPNSQBdVpDe7WCNd1*O}u3 zK}z%tCjuUyZk+3W7G1nEV3O%XkecpNhDKB>FJCaRa}K`H2$PkKqU{7MyM8@T9)K;q zwt%ni({}O~^t|A88G7hN%fSJnwI}{R{_9-Zxq}_>}Pg$T|9CES+^bd{UtEZ%c zum1Q$KAs0^x^iB?3gJ)u9hmTStkYJ`3zm6i!2OF~B?q8t=9CC=0$f3qt5QB1={(i0t zM?nCPNoBv!Tkb}=>eEtw-@G$iTqwj?S2TMSa4>Q}1!@FG?b-Y@!H-URIH z$4>;mS@sLJY_1+H%v1)baDj{)nTmZZ=RK??lnCEJNCuD2)>K_Bg@~B6sOK~L>QsO9 z_0@(@1;KTwGS6(D@9z(9AmNt#JoF)8Lvgb=P33_DD$%5PX*TJfT^@7wI+`*X%AC!B zTHc&dx?R;ICcoEkHuBQEBb`G{s8BF(SzLT0{Z2pzw}Q412!g5Z!5x1n+#dU;zP>CS zfT;F%jK;$GegFhslrXOuHmcEFq2A8hSgo4xu0J8A@vO7~jr5|-NH;%m@_tqjd=|PG z$RMU|F^Nf>+-y9^{MHy0>kCRfllZLRsW)$(s*(~D5b}<+SLvVPN~O6Y?0Zz!Ml=@g zbQx_w-V$9su!*XM3vD{i$;4th3>W%&c>xYNty%O2qC;k8;FS^Xwk&mpP0z)YL=joyt6}TvDx%LMl#vV%>3X`knJu;JG1a{&fn761 zyiXt2F^C=P-(947M}t{#x7!DQd*?@oz1!a8-R)P}rLc`jx4K0Ykt$>dBR8MFgz8}) zU1iSD?K-a<;gXseZdT)dQyYImN4;8=x9l?!Y2)vHl}MhhTN&{n{EU1aJ^e&{ko%JO zX#-giu7o36LT0lQh4JF5gu7iqTh5Ep%E~Sw2yRJyaseMq2-<>JsT;=4@N84kAxR|> zQ5M7Dr5;bWQhu+!8nU17t8$;yR^AUf5_h^hViH5`$1gBA90w$*ar78R^lCLV4S0Q6 z1b4G(9JjAYE0B2vG@MN{nj)HjnJ=9&A^VX7+!Yadk8VFWa$SwH0*LHzxas+Tlp0kj zxY0F}!UBW(FAB+~5*g-+(c&N9?+*I;4ekkhop_BfEQ#%WkY-X92)BQ*T|!&Kg;pqo zSI&!pAwB+n+n=v{%6cu$%{Ot#+5NzH?V%T6yrgk^Y@(ODT@|sxfAf5Eg^(IGv5NW6 zB;>$_m{0n8h>b%oe|0SP!~{27^ENLZq|$?8Z1_7mTFz^zfuXcihsQ0H3mDM$TsW2L zYMgD~U+t6&2KXu`H}&IQ8-itQrpy_n2i^4Qw?ym?$pB>gWA&eeswWW^)F1FEaL-!% znRfUluG9c+wx{%Uzup^>X?~&_ZgfPML`m&CC{ppvz_v0XDJEJNqS>&U3M*ft0>485 zsr3a-5{`6N+iOHfhO$$F#>Kv=p){JAW@2Sja*9j#?Q>Hfo~pqG^%G6T&gqBWRB_uI`o2E-a4wop>1m2$c*H+`;F3pd!E-gl zy;sj~%PxNAPk9w2C}ff7&>yTfsmHqdhRlUo5+LvP;NHN19pe=)z>JCiokOjZg`k&UIB){jJ%f z2-_C()e`ST>~)+*#B;EGCnXJi`&MFe#?37+DJdx{>tIB3OpJn=G!2`Cu;cKlWg>1x z1%=D3jEsz&w3L(_pv(ooEl8(?gzP}pfaJC8SFarG?O8!2eC7;m#3BO2SFfX@^-)Oa zld$ivdhfFt+06DT>m>CB_iKun^5fv5M4L3plfnmZntgFsvip5tfH(V!^+yRn$B zg>)}ol=j@QG+X+t!8m0TpB4}B0@DWW-POmj<)*$IkcK7c0 zjg6xG{C>1u$WH`2H67g{%0J!a9WPwi$)O-GZ-_)R0CYng1tjZ&MWv9hfJZJ~Ot4J_ z!a^rE_j4rIy#6_$OAIz)&Q3ZWH!#qo9RK#5|7voTEH(yj~zS288-@uZI2A`*IrucOCLA+;BT(Pin}eJxp5kHKf~8S|W2#O=07MCxDZ^(+Wj*m@4k&B+ST z$&YEw4a7(FKgO(nm7N_=GRVH9Z^5ab=NwE+&&U{WtLEFiUDn+d*_}v|Mib|JPG?zO z{n^q`Umqduk_CJksHuLskq;*Y}zh`4BT8`m$d1&y`R$41wk7IJ?M{X;HFU7jVfYpu}C^vf}tGQQ@~oUa^7c? z%zE=iN<_qAxalQE1oSSKq>WWoeE@=^n3h&hR1`ahmvJ*vs`>{9w<9eK3r<`-l-oU!}+l+gbDv)#M+x`B+%h=dGBu1MD`z0_xoguOY{6M)M6ci-x zd-wM3uN_#QeK$8U!Xp57TAMQ{grfmwLsI$xdV3SX9o=dbTVP>n30|U;QXWM%XYdMO z=tyO+c@JEXV1^gd;0`u1F_CeeR563s7BF7zmoMc7(YBw!8wA8TmS^L38P`)sk3PxV zyTC!L8Z)!RuE2pYLxSCUYN6~AfWcd8#+#kB`(VmFS)z@_wc2eDre zTgBCRZ#6NM-_`9sx}M@!@n~Q}dA)yf=;eg#FTIs%^u<*k7+|m4{ISV#6HcV-C^$I_kxdfN# z@9#7lJju6aBy%y zHbucT5u+M(YZFUce0*cHGT4$z**zAD84XDxpKxH|m3*k&;YL zpAL^!TkaK9cYbaz6-mi(Du64>0Sof-c8B|TF(WD_kk^WH zE3BJdoDbToj!^mUaDvIp$)QFMA|lkIvV4hoMYOb9Wp^MRyOx3?H#fJnrG_}Z=t!b270|@TnH$jKOr3BXmMvP+38f0IWWRBqf>(;Dsa&h6;%lrV>LQM_CJK=$g za{H+puMr`$I9dD7lLF5Kj{;IsJ8}??6YzxT*PHWh66i-m3Wil&QWD2dJVR16z;JXG z=%HR>vD?__7Pz~CYyU{8`q86RXaNLta!N|+J*H^z1f-_617ye18w9~l%PTzUG>*nd z{QdZccCzRs(CcJnWf^!ZPR)-Nz*^5N zB^xE}a?rIZP7s;pm9ivPkUW5ofT+PArB`b1F!0FCd|i!6L;0klq`iH~lSby$%L{9X zr&OJf*d3q(x(XrJnagJis`jUPZi8#|k$|B@`R1KfedJ-BG&K@zesaijuV&=E@A+)T zaPxVt+k`w?@*BKu10jfS-dyWE>&OUk19}a@-h0w5HUO;+G-P|`rX9oh3l=8um3#+< zO<-tfGdi&9&+OXr$D)ffO;h`iX#mk&tb4roW%+{i3{Z10F|)r)p=ctnEj z>s`8E(_+ce+$r+Pdk0`r4RqUMwsx&%1RpQi@U~u{CF&E78n=z z4Kg9gUY6-srz>P&%BTkI#mNp9W@d13yIj5cZiDq6{@5sFher7bcF(QUo zSDRQ467vIY)*ZBP3-(2k7EB=kWJn7?AV+YZ%}Xq~2vO@u5a57}?$oJM6k9bxoK;Xz zfc1|V1_MO`+#)Evgk>_?kkTqknyo~G;d$rbNx~plHNEHzURbM0%-Izh&Z(U;va$sj z=khR-vYHxOoP+{hHOgaYmbel9nx^cx9s3t9$}Wr*VHJDK_7Vaa1SrO353jnoAdubx znhsP?==v^0Vd9W#7ccfhZO^*YHaIep2bKqDjoAFKHjE*&@ElK=B)+~H;52M^8O`%p z`VoaU{)s7ub67C*O%Wq;p?Cu-*2j8#S^0jaYW*~XhKlM-y765!6;qUiUf-t`_b4?Z0w~;s7{MSX#Krvt-yM#PSq##Ysm3l*T|GOPlm>A=4T3frCcz$*!f8s( z($15wZMyd!d2|kX7Dy`~6^)Ij%J>VQ%HmHG2O=%?g&4TQi3%DuuxuQ_*c~`uh?|uB zwp$q)O+vy_;dv1CqfqR14BTSD8WS5k1ue)P@5k$Ow6x~OifCM>24i6`rlrYVtl9y( zKJ46R!2)In;w2#E(YV9s&V4;CKwivn$NY&Sv|v?0l0#Ru!(M|pf-@kefS(qWF_5l3 zpxD8_06%p_xcCon>qTL#F$pcn1RHTjLgj8Mkg$~+T3AS0;V78ecoKR=2)Bq>G=z)W zL0=%A^6gs|^mSaa{PNlcuffhug+Ce^zdLu#yIU!UIZF1a{!+;Zdwxtq+zgC>TWEe6 z_vV{5KqYnfr0(iL3PP2{HlOFlIW?H#wkwfx%JY{^-<}_Ii%JNDc+7vl#H#;g>9V8Z zBH_y+R$BIGOmuv=%zQTW-=76ue54e=un(qDYYGVO>F$QYNo3mMmX@d>4SjW}q^;kp zE^5Cl5=%sg1tb&HOEr^aHB!TTNaNFf>lQZVwpSLStb7jJIIWt~V^NOC$*zgL`z-Vq zNYQdVsJ}Y!-{}N9^J5*|WD>C)GWGX`{ZdX7-NbwfdfrtRTYWeX4O&7xNznAE>3L7JDzs_wEDGLIxeY|w#QOu8Z9gs49C-mvg2}Q!xfeQYV|Nyy3L?e~VmzEZYz=f6C7+Gg+VSSvCl^gzPQufsPgpY>qoTJ)M~|P1PzxD-FMx@)0jCtGmUK=O*1S!E?~+5mUj10A=6j z;bJ?7tI%^=>%uHA|FF+^JYVE(pu~1puXp&9e|y<*-)zeGtXofvDSI~Az*>W_yOEfi z2dSwB+=RO*-Iy4z-g8{kkX4T!T{F_6>~eK5X6mrcxHoU@t4e;GlR0urx5%5t3%>9OygB zc({!QtnIedoHqN&5|U=3GRh`%Iyl^Z_+reD%G!Zr)HmHz1B0Z(xB4~A`9_&U){k=Q z+{^E9?)tDxd0_18=q|pKxx9BJwmNVL-{Z*hSZEZ*)Ou9t-)_fQLBOQTQlV-#Mn8Y4 z*88!R>QNpp$3;%xC{#Q?Dh?-x99WU}D1S5LAZ63#x)fx%PJM%}0dw9IPBw^ds zqS}7<3sa5D!^DdH2Bh0#MY2mnj~g@)b~8I}&>^Pr!mZ`~c?vlbl5lX2Ip)9p;)t^D zoO5#Tv8&8fWI+iD&c<0SM5>ei8O_U7Gw)PqQ=IBC{cwb8U_{2E^R9$hYl}M7KwkUQ z$5S09ehzi2C3$m;m~xZq5_L)uleHm5!^*lf)1+iW`$)p~! z<;D4pB%gw%vCX3~iz{;n#J4-|iTr3vwMcq!eJ?RPk7Pxc{;_ap(@5N59i`s)l5W{d z(}SfR5_u(y5GzY}4mo#<<-J+;dy_Ng=?lW7rCE2Am1;w0X>LDl^ULS}47q`A=dsdf ztF8=-+j4akP(SrmTKBzaGoAbEsmacF6n<>?V+?&L97iR$ZK-h%lYe^ty5w}E*iv8r zm)gBDtd3kx)?ddH5=hLcQtmtLaZ1-}j@PDJmtUG#A)aU`wSQ%$&96y3_(&st`vH^K z?w$S1eL^16zcz{ARVB8#-@pG71H=;e4ZDAhVJydPUzL(QR30is-p>DJeBhL#e;6O{ zk@;-`z(l^UT|>yaT}ntuh-~0^{$=10=E^?}9MF;?j10_R{T;3P*!K|HC-KKdFVt!U z=OR<+k%O>GJ_d0{hgd6z0{wthVkEe18$1ON7Ot=pah>Jh7z9{Q)s{UD0y!##tm1S> zdY>3WVOca~)#boD$){d+!I*oIovmEZVPa@)O@acBi_dn6NG%r`d|z7nI4sP4X|^xJ zwDQ)97Hx1oEzb5u;bKW?>6I5JDX=o2_nrjht+ly%3v77+H0#!`eMey}081A7H8jYO z#KZv{;wNe3;($wU1J>E>Z{| z5l{l5&BH8#!E?~I2PbV-qBHUzR}iYrittHu=*$3%`}+D!EiC4NVZf%CCm;=wX(NhO zN?O{+ZH-674VWSk5pB3Qn_>iWtgjEseq&9|gm3oF<>pu*U;#!9NUlOMGJXIRaE2NT z#SCgN0A(12FeMPme8ut@&SS+nknO-i5XXwaNB04m0S*Azzzg?+iW03UPUj8VfV~_1 zhkOb<1HR-q@Q8^uff=r$0dcwSqTJ`q2pnjBI0IaAz}ImmOiOb!AK)TT9D|flSUB_k zX->F6cI`I55>BWm;IJ*`-fCW^K{SO9SYild~U&6wZ zi0_37jpHO~?-q+q|HhYh5S9u;%kW9o?>68OgoJc3-nsvYMQzj3W1&T{yj z_W|I2Il}}0CtvgfUtysn1p}; z&w&FH2M+Wp9x40B4OZ4hW+qqv`x_o^o4m4O1!cUm_9=TSClfPE;}t7ZeAG`C2M()I zFNXO(()~g$#9N^qCwSuOkHYeMy=hUCBax4E#Uh?OIBp-q|6u6z8}khQHQe6Di*mF4 zYv@{db^D%DXuaszWEQNWJ7;(6j{}PoN=t8JHX0gmt$sKChpVCR)}<NacfG}#lwDq&kej|7vywboSYM}c*kz(S#AGzY!y4z;_7bFThcl$6V_JV4;NDO ztoL)x-lrGcrS3RY%2;^)>S>YbAF;e~fHw z;oMZnaKW=t&nY1j*<7fNh7#Qs8u6GYMwokBs(QsS4UbWuh zn`Xy{)SpF9{BjJkww{~n3t2x9Wur#(=-l}i#l^OBH(!*`3YvU4kmE<+lWOd&cKM-2 z@^F~Mjrq5mhx_@@ zj2Ya>K47sE#GGq$r?Z-1TjW>!)F&=H6Vp zkAItSoSDSW)3LeIo$A-eE2!uju6gmT-gGonOXhPK6GeG#b&B<#x0Wn+ChN*6X&rW+ zvanPiq4BKyGn&e_?di$qkEInexy(-TsMu1k9Dk`;r?_i+FvU;6pv>}T*Qe56uAt*5 zFEe+QdVQeYe)l;Gi;W@YPR-IKUuzRX-FczuEzxy1X5UV>1uG?qG98juN~DkeIM4O1 zOYw3=+Ng5UkLUx98^tx~gq$se(m%M^wr#K9ED{rX=a}R{&AWvej|AR)PFe5xt!t*p z(O6w+!;jeeNA?7-JF6`B)7-pczwhu{hE7MPM;qZC1bGP7s3+KT<5+N3|xI_Mq>&+cPy2rgQ57MPao>}Cn&z;!D`*q`Gh$W z+k$D1tUa4H*YwIB?Ed(cW$5YWOx4t4gBAHr)IWbbn-03og7W(&18ntqlK}r#{+SB#ZGn+D>bKII%6(K{HY@jnKCLF}y);jC088KcHG5)!!|H643oWU1Y|E0x@Ep*GVm|aFI<3|OB zHJ@q?J8#$#9PPB%?$3pr0cGL^UwG{QloUAnY2(Ts4$EEc$(6}rU*xwG8om!ct7pUa zE^<`0bT5PAp>n+qihfCYS$u+>_g47d=41K6RIg5&JVhD_t9(aw*`dyk-{YOqpUIo6 ziVyz$k=&}cu0#11vaxTeY_dEVm)*0gt7Sk~|C+-yO5MdIw^Na$Iyr~wm$-Jd5K2|!`BXKOZu=R=L`uj9D zgy*-Xf3MnbyIDVA#pdhO++lCJuHU2nq#x6wAh@yZ%%J+m_Jsu zxQdE1E94mM^Cq4<5=^UAU(ckd($x%n{-pZZarX|K%poYL?a0vZF2YcS@mMWe_dAb% z*4V?HjyuDC`sozw-*okto(rWpnyF~~=v&wbe`JdNBV(qE>hS-GIfkr*6v$zTa%Z{EPjyp;Jr9&J6Y}o>hr>N!kY`i_`Dw9%~{+^Em^d^ z@6@xjn3t6TIWi5G-tMb(xEN(bO()CZt<`2!yUL$BkT>?BJh!@M&e2o)=0#?XtaEcc zA6~|{U$+emIKP-8BH|U3`YCCME6n`3+*8I;`U@`fFT__H-uk!HDpkr%CA)0W-8TAp}H-DtY^qz?6Wh7;U-F31q`gwO8@@s4cD*=v&4 zz>u zm1#k@b1#Vn?BqTp)u7LK>+JSR63%J2M60AlzRL)#v)b;;82N-USLAle{cxH@ZaJU8 zN>lc0YBg*9oj!1_3J@8;EJ{UhT$lTJD_@K>>tK1few$){Z||!$b+5}sH7c}Aj7K6) ziKGnnc5gj2{mk;1;6*Cy2zQsFg8Ms9kq&-O7-RRR%0K;<{goheoE55y8Vad$=WhH5 Db6nm2 diff --git a/docs/IMAGES/summary_process.png b/docs/IMAGES/summary_process.png deleted file mode 100644 index 42b9032ecf5fb387842be9b2380b4bd51abdac0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36430 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 diff --git a/docs/IMAGES/summary_process.pptx b/docs/IMAGES/summary_process.pptx deleted file mode 100644 index aeb82325ec2a0a48cbab55a3c7058e1940a55458..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38092 zcmeFYV|Zm-yDb`|L^C2@CuA2s!R9Kp$=|Jz9EQf!&7DvVL>2jWwb>H z<7Zhx7CBkYqWN22E`$5}r-D?|icd^De@<4KH#(J1kbLjP2;UbI%0p8U1!7QwPV@_I zyT_xD{H8K!(BmJ2^oLw!#xygd&P^Vkg}1&A8Iz;XnymgBNzRBrpHHu#Qep%r(1@2g zjAt3hq+QK&N<|cMMp5H{Z>1b?RQt!K`yI?0odh2Xf~1KWrdA7i+tetU^hhiMST~VL z!n|AmfKGalL6xX9PJxi(77MVqlA+t3f}m>T=_mK-8#Q|c=1aqPk({q0Sns5OT~#z{ z-a9TuDWljqsV}0yDJJ`kCMADI7^5J3beUkGTg8VpGs%(dK8){t$^do)Kp)RExVK^_)9MOmz&hCL5pkvh*(X|bL>v#MV9kOh2GPnfMT36`m7H-#RpFMFmkY~2r z$D;DxE$i!ft(0&?OrGE}Xt|0$p5ZSD43bdBV_^Qee~2ztx<@|g?ARllbk^d0#CqcD zJ&R5$ro@WqV(W0_Np%)DZHI(kerEMC5VTJD1h4D-!t&=QD3Hv5L%GS5LpJEw$j%pt zVZTtWZD(jQd zVz1+f6wGwAXK(51Qv0@#jq%`blBilgSfO6V)xc|Y*Oc%@FLtYJQo2~-qcsvRCS3sm1UX;(D1uf(TDxIR_*S>xy&1LBM54S`QvfyK*+vlC(#~Wv{^;kTylz? z?8T6kOxM3aCZcW+p2H>Zg0Ie@$23IdC{h<(EJ4~}h(4`%67oGM3tyZaA4QSSFAZHS zT{$=?-Tm5R5Hr3~>mIB4Q_|$wIeW@cY1VTJAe?d7RuE!ch@m&EYIrTDMh%# z=*oX^m#Z6|DP(uUn2Pwd4F8H5eGTHeuCEc+FWeA(U2SX}XzeXb4GisR{{udM-_ZYc zLjDb;@X2*YG<^biYf54kE7~}so=oGi`^KPS6R7R8(e8`BO_m{A)w^^q;+fMG zumLyH{yWQnmjUXE{F)?T3amVji^~KxRbt*`sq+oyf1bTM?EKmoBoI&!2N2Nr|33Tw zZ{BC>s@A(g-@LSSK0&h|@$Nk_uE98K{R~+AuEAa<Qr=I~qdF|DD>Bk|e@%P1UsnCIFPmPj>^cvhzSJfGh;GwFlLXu^a27TW z98f#VHg*utxKB|5$k8uWShOuNT3b(cAXn3vGA%w|GSM^3l&N$&jI`n_bkvM)ulrTX zf0xm`q&_R%-X61XwQ$r@I)ksbmF{9neAK@JoDH894-NTso#a!fe|HpGHH2Rlb7ev# zZDP%tGD9_%MkdWYgZM$-#}69klJL~8lgzH54c2bP_(Kp$v59RV*y7lr_N`_4GvLa{ z`^OD$YMK*8F{D1;zUl7L3S2CiC>k_aoz`AxDpd;UOLK!B5PIBUkRDoREAb({5;CAd z93az^UGaybA`q2rX`=qzYDopJYz47QXLmkxVl;hJ3zwCGKbPdg zV1$`%9UxADq3F{=<;T=_rjEs9ZaDWEI*mWHiZo`KZ1I|zg^hM9;!w2hx70)n%Oe~8 z=pNU^OITX+YNbgPysO1h3@r5!)6*y6KMtw`v2s9d}ie6K+P&_q3gv0^T3zm8WwD z1hUG3_1G@a`PYk@>8QB@foSgrjq9S$ng{LZOz-$dCqlIyZI!0kZ4$WS2j5?i9%HB1 zd0X5+vq5&K#cjgZ4mvBs8jkEH3HQE%+2ta5ahWXLwMcN>nQ=urHb*#C7pkywFoi@h z&&Zkg?Wz!Hlj8?a=!l{UQ^{ZF?qF`+?L;dgz!=pZhD=gDt>ewfe3JIfghs<~xa zcwXS~6ezl7w3Z$A7b&k6CB9;9)5jt!qYBFD_T}pgMHTTa9TJ7s<3D$N9uyg?V36Mv z7a7mcEzI@+-$TyvguBr;I^78cnWzlznWlEWN>8u(u#w48bLX?XzhV4-!z7wo707ys zgR1l9+$_ZSL9ZKZj!A$5$<6sw&VCb-+{pSD7|1VfnQp>2{NOG1fX}iDj;l8uf)?N4 z%?*?be7qxd`haC4nD#;mK7GEo=-wM3c@;7NHh~U0FmS>!g(3E7v36*AGWfHu;UoqT zv1ax>ILHDQ+=8dJiWa^5n|q$_)g~7A(9>XH4tiaGCMmr>&tK6>(MTAX&uYj-p#7Ur ziyA#Q-k=rQkc+Y#argDg${SIqvujGOjilF^7A)*Pa|n9N&hX`-@J{`) z{Rn_ayHGURinNB9T0h^W30tG^3KoH4^)1yU&!*S43lj0xy7LTTcOuKfwQQo_fI54HHUzRx zL^C{lJ6qWm}-SE(#BE&FQq>sQ6 z%@!`~Ook}fmN51YDp4G*&pcR$rpmFh|M$dSy6iX+99<{0Ae1i-bvdtC zkbgus$3S6bUAMHR+e%e0A?B(UpPyM-dGA!vWAR_TV?Pe7>1QefgOxB*C=k=mB;1$qnF0j@!Uuu^{!9G)hw8DhGqnGz z59m6WT3h|6_W3dqz+WYTuRr|H{*=Y?NquQR!AFs`?i4OtxvXDBQmjzLuq0sHKtGd7 z&>}5eB?ub_&9X@pzdQcf|9p6JO{rEsy_Bk@c9UCx8j3;1NSRR@VFK9*9V`Xtpyn0l zH9&yhiBwI{(kjsw83qf^Q3z8NV0@bj+`3>dtm&7M)5A@1kyGCsM#{Htiro*gh^C!! z7=EV%y^;O7ssQp<&;p@!hcG$Z;8-r^QMGRz^fS$*J6+iAfrUjs;0_)F7?Lu?v`dcF3%oZ<~~X;_;z)py7!$R!4K3P1a7d^$q3Y(GtfufyB}zI~uO6ygAN=)8=e+Nmlp zeJwS%w<$SRxAf}ts2;D32a5Y8==q=Zq_@{POxTzEWP%3*LjBq#e{HD$|5iFnT(?T4 zL-oESJ;#l>AIZt>vQpn;b2v~mD6{+$WE%APt#g>-J3|5a zv`T3;B7dTKO_RWEq0aW!%Dlmdt(&ht^gq1TI6`)O>NnL99a*iVy!`t-IQ{x`FK^^S zcSyv>`WVGDOiIesNKNXD*x)ABz}I8AW)bg-SYP^%?D)o3+^Elwyr^-7#*(wvJlB|( z;S`sAwy_*2h%V*82%+2qZ~LM_IS}_uZx;mpbC}E($eMR4pY@tJj2@fPeN7;OFS;nGWh>^0KtkIc1i^@uI;0%#L$m z{oOg4CB;B$IKVqbDY_Jvufh%I5hBR>KzI6yD}^p4#b1~k9(9!T=-B~Dh#MkwALYTr zhOYk_swh_vSP+yqB$H`5${X%GEZGI{v)4D)-#*CE*?Pc|klqElbQ{yg6lgLtpbQQJ z;x7{YASv)b{nHL@d6Nn$6ZiUIs*}1F?y4B9L5dOy__Wz{D zFIx!H^Or5uyu$4{|5@%A%;bpN-7R3C+X+*l%{1KGpG{>-u1mrKlF%ga; z4JV4C&-gdT6)Pi;kp&sQE-!}6AWggjo;5M9O_GxBWsrnu5+swUgpZaAx0 z>>st>Pjxvn>8%;hsHf_olrLx*`Pv$EW}Prfgd!VTPANMIoQGmaLHOaNSoiL~zztS@ zE`Uhq_UI*YQxafdNGPt0<)+%`18sr#>tH!&EP|t4XGfx(4$bfntY@k9BnRPK(Z<_G zeb__YEFhA#FkN;JMt9A0VgP%W;k|m}sQYZ-A>llDfH>yRmr$~P1BEO?VO-^fu+j+o>KFXt0 z^J#8n=Xhc>)#QY6sZ)0%X*}Ouz@RumWOipuk3)*sTQkIsSwk`z-LevD|jvvKW$1zVXn125b(m)DKyKvZ>ycch_BnpBPm<^i)4=RB2 zD|)a#`W&pa!8`!0vn}xT{y9q*N{sw#!5W$csaD&CN0S&2Y;I(zKV`ZUS8z>BDNk^4 zv=JW#Jv+Dqt=ZtKa;?9gN_w6WF6YP{Abr2o|0;pt2C)8GRX@r`iwYdLpsDM@&OS!N zT18Nzxi&c~uMhVoW?Aia3Mu{Ng4FRL1is>0Tx8$-Rwtg92LXEeD1xviKf0>RE}h6ow#zvqiJL$aCS0 zNm)HX?lh~QAw*AKs6jLzntms)hZ~^`ad~r{_=M5nF-ZEisd2|Jx61t!L^TF+lRu6P z&@M?RYzQ#KM#Li`{vc;yWRaMhlw2pv-J&ImXoIp0KWt1tS7)y!ZX;~>T8U&I3Q zMNUtxl<@S714Ah48x^tpuHM}AV>e<7WaTy$aXj-wbD{0u`e2d5^kL3vAOBn~AqndR zdEwZvX7BBPZv>;AiFvh8camulb^M&>=M-|B6ldCZxW=n%k@-`T4V+x z->mfs#zkYe&N(6lAH?4O%;+{d-``gstv@;aT8~EWSi2P*xv=U{!0<@3vAtzyz@~@n zqcd#+zZuD6K~&(cRL@9-9b2Av?e*5pvSbP_vIKl!gRAFyu$V%7A{o={FV#MY%x3+u ztP6b#7{RYFd?d7#W>F)F|9C;XS19#or&_0xZI=GT#{Gc(Clc+DWIIy=0|E;9l1cxL zL>c}%M8=d?BUf3FJZYzXBh49CSj`0po$)Rbb^UBDV#UvjKdQ$PRUlufMxlz{G~*%F zo+12E{AAIG2NhJIKMG=AEk^5<4}(7 zs(!$1eyp)MtM$9}>A8?~y{vNd)?wEjW1!uQ?3vQ;roxM*SO7npL0lZ}VS5tQ%9UBg?{Nlz-7H)# zoDozivXE>j^oRwih$T;$UHs= z8U(MX2ISfW2?X8#Qn|1gG-j@>)l<>WAhIYbq}Jegch@22a5MVM`F531Psw?4Qv4A( z1m3ykF_o2^s8L{z>fqCor#$F_>6&jVuWjgY<|iH^rc*??IBN=OChA%ToS)|%HO|Kv z(NfFon1&J#PsVa=DC7fUQ#7Y-S>{TKI{xos1>U3mi%vn?rX%rz7TAuDW}*(?vrNhstv(vvT+fR z6WI#MSh(2&g^1|ww0TI;rfNFK} zB^r&ANoi@ob|s0JIdVGT66=ytfFCbOg)ca>wfE;|45T3-8VbiPx{1!du5_SdX=t$VARk!3H)AN$K4IO1W-@!+@Le(}ebV@~ zW2(0}K$Q!QGsi>nO{C&U)C`00i-rC2tPA%;mPP7p0G-XAPC1wt`Fl|H!R76RUa81T z5dwvhcsj`efg94F4(ZORuzzk3PVk&AaDOQ~&96%Tzau5aze!1DJtma}wc}D^()~hWoM|nfgZ@{V{ayO4 z=Ql_mPbW>~1*M@5i`3+Z%%+APDQ#bx+{~!cH9e=R!7ZLyP^ms5X_+;rF*E)1ZFcse ztTHt0tYDoCR*&gjm8Eu3%+WY<_Rw6`_&v4(1)fvAzGeb-ZG^Hgdf7c#QyIZl^I}eQ zc`3J(bD&eRd_;q4#X~+!2%aymhyncR)p7Y=zV0H)BpsE@pMJxcus9W==3MY2bqHpa zA}1eKEhpKVRIyM&r)xSKXiev5)8i5iYMm7vyuFdqre^M%}k zxQb~LR!$~A&-lxHwkw-1h>NPrzz*~^L+n;K#*0X%7;ogwTOLyT;Pv$4(;{lCx>xlk zkPy|_O7*4R)IGyeP6Zbz3903A*=z}d5!j-2a)Jw*#taIO&wRP0g^<#Rtw%=l zUMz>*0K+FRT1u)k3zp#6OGKn4TCCnF!dAgK(eeVb&p5!NGVsnu%^%nNkFBwPEcA zCthBE`<9g0d%QhQAl&u=td;2|Y~3i_U&V>0|M2wwkmSNVglz5Noyhpf^q30a z`g<{F+ONAp^5cU>sB>BZWp?ve??b%sSD}>QA9CA5`D>{<`H*Vt9ky;VIK3}*FCycQ z$>%@o8WYIri0S?$l`qpUJ;zb1BtOUyyjMyc_Wbf|ZPYj&bAhjkFtw`q!jzoXiu3 zS`*wjI+X+nJQz<8@~krW+?m$IFlZW6xNHV*;E+9v40}I)N>E7HmO#V|-4&Wwk29%c zCAlTgdNt%&Vbt&Uo8#S0o-GIZ#AE!b;u9k#Gg4n^m2Z&9IB`sZ4#+Q1EVTUOw`38y zI(Y6O3sOPHi7P(CyLGemmjP!hGjEc?>$2SZy<4qIg@nl)kbVLWI?R{i>D(HW&qSwM zmJvc`w{B763WbjBNf(k1C$pP5ho4`j`Cn}{6K{b){g)!_MfvyS%k&rdo~f)_t^KDW z6hhY`!K?_k=3JE_|HYHJIXOzn5#Vai6A_UB)Tt<45#XqxOuoj9=QRzzNS>xHPiINNHli z&q^((;z{T|G^{R#IGev7b5cJ{B-SwJM*7=#T$**!jLkEe?`W{^J5{%-Q7Z>M4kb`J zMb)w5Z)pPNTj-m_a&Aj?}$HQKh}&EadzU|W~jM0}ybQ)U^6MQW?WZ|Zd8 zY-L8=$rzG$t3gh7-}ghnPtqRd1K9TjqMWLi%!TS@&?Bl?{hC!6^B{7_C0are+O#dY z6(LpS6Y+880XZe{w+$Ha(UDx*hqViOIBPAY^}!V!6b9FWj)s-XsL|ak?AZI`4o@uP zTN0tMgLsqHguXK z45ZysZd+gNWym4*swmT??(*U2ecMS@1ctQb4fh^)0<#6u^#B|;mN*-2={(h#(u9pf zG0tEZL$hz_>?JrhN>|fAe~`nb{JPJg3!I9aVkKk%F+V2ehF`%C~% z_KRFZCFbZu27Qe#ls|H((0EO5n0o(14P7qC%4i+*d?%{v!Zth7s0dwB6Z&wyg{v8y z&9%TAW$2v~-Z5mj3K40PJeYhw5zcIDmUEo(<<2`wGGE_`_5iW&+h_5NPB@gfJzUl# z886uoZwehgiNAbCA6*nia~V^vPu=XoxtdOg*Yj&*rS^xb|A}7Ev+^j8BOtYj-}F}x zRRM=4G9;NaQM8>e@E}rl_<$)y^7aH$R_oeySgWn^(WF1l%gRR>%v%U|Y7Y}!i*y)t z2>&X(%R+-|+ul&mQ{|vg2X$a?#1Bz(K+zZtd|;CLG$r!x>)Y-5mi9k#9+ix?G71C` zkRtxS=RD@WIZyReYL5luUAy=aN%FV*ppyrzn##VKq8_@!5+qbekSJ^8&t%{hHB;?U z&os}N6{()Ft}X;B1(5*!zSyO~OwS4Dn;)*P7d1oW`4%f>6py4w@M$VF5+zKOlaHkM z(!>Nml~(%=u?`i>1BMBQ3tDp6Q&fLqI*(OSF?EAY^f(j z*+Iz#rTpfZg~Euq7DbxhmM5_=xiHVn8laO-1}cBWXf*u9g3Ms3dQ z<}jWLt-6{Q(x|4&FP{pTv5D#NcciiN%LZO``PK}GjdvN5C=!c5=SxrgTHA3rX%3lA z?M#o)>1}Zu)-k4Yh95{XbD`Xs!l8l{V3CfHw*vZrksAbqUH9};J*RV#SH-bRU7o3N z?*o>orNXF8OBzxftz$|s`smFhrbC8!3nOo85sCMpkb!w;6WD) zcfet1>ET5geV^5B@9hyLT6w7w6cid95S)&$6e# ze})UmrVXyZ89;Mq+|@ckdS(2`EUTz7NO4?vZ8|s5PmU*Vlp%B5@B)PorJCJs3i+)K z`AUtmQz~hrFY|Nab>B#PRFd|SEeeIb@Tf69n>>Ea_7ZlPy91_nCZxtO765kpB zHUY-;p>l?iI%MAc4Kav-1i{>>c|LDG&jk1-I9b&>L0joZS(C&;e9dPqo?TpyDXo28 zpsL^+4p!pGhyr_q6_$5Dq@y}Rt{nU9i`l1~mw?01w209*Axxlam}r?u$IWz^ZA%4s z=ByP;1xRF+Zki&IHKBPKPzu#-qEzD89YA+VMrsw7xp%&K6$mU!uf8tx0??>Z6$Y#k z%UShb1N-JxX-fdc26!cX_$oc{QhMh?3)r#&ES+>_m4cghVI5|rO|4Pr-3hmE^V=^< zA2y8($>w7%>o%u@Yz&yV%atQi)DFFI=ZR_vHrh5Pd|PrCphPB6INw&hU!45!wU4q6 znGDCDIVX($empuoi--@P$_-hgf@3FGF!B|hyz4V}GnQT)P#J+R=>V2BuH71ot=*3)@gN{ezw|2PF#vZ3M(Y1V)mD z!{z7(Zqg&er0>*?Cd3M`#6H>$GCA<+T3d z<@dbiSw~A)hfG)?=M}UAQn3FdFtjNUC*aQKl+K?}kXxwReo-^E!Q!GRs$m~sR>`dH zRo<>;UI}@~f^QE91~mU!It%#8qU*IM2eZ?Yv2)GiVmjkEWu{8t!~1|^lJbH_-twtPu=({=a-X`YLEenRA4G$ViJ zrHX9A3W-LGZ2QC&0YVnc$1TM^zW<5FCRo~gS4Pa^KrS`xkhE=FzTQ}!{c}P+O_)7G z4GVVN8w5Krlw#+ zy$<5sC8M{BmeVkfMDC0orwKWiAcuvpgH&S^q29?%z{*@WeN7VJ=t!8_GBS3k3kLa2 zrLXCO_~@raRQe^NN!^}Ll2|WyUrbDy|eS!n9tV*x&v)CyL@9 zccJC4wiW8vdkp`sgu(K62}5bsYLyMi^DDc^H^t4^B8!ey54+w(7R|z!?gd0ST`jYo zkfZ4y2J&9MK6#vY79F!wC+fq=7S@)8%Ff8icxW@GT!|=YdDe_kQlXhL5nzecM%_|l zW}SEtgdIvWi$P*8uH;Ouog&PgRH@wg`B0(_=jb{dxh{o;l#7dIVQQ6shMvHTs=iUR zopb66>z*pbB+*mYR4>-e&3{(Vps|Wj7N}Ux{v1~LXnpxFCDS~%gu{%{!UEddPbWCtB&!t2A`jsI zP0XfT>-1T8wD?{>g>d<>*i$6-UB`~8+*F@oHuGFdx-4_e`jA{5hb2drc&>+yN;2!L z$cwsu0C9$Fpns=M&7u;on!4eccwxcA+woE+eje&Vm*XOBLIqM0FJjj&nlUH6DB%EI zY`t%iTnN<&Y86^YG!iWJkg=O{%K ztG35m0#e$5B2HV5N8D7vBCcOIu*w=GPCzs=jguH}yb53c#*qR@CqpZK^lx_tfSgtLyZCy3oprm?pLwU}C)#_xpcqA5PkMMXTmt&7O-0ctb317v2^}$Q7 zG7nZD5Rq8{4VCqD(7i~7M!ut>2ZMp}RZYx*I*SMmoG161NpQ|LoY^^97j-Sh?u|{v zho6}+Gv;ZGWabIIm4e&jIYUW%1CHY`9p@+CkeX-}@H=o(Xl*t3^me+BeWIWuK=%r@ zkie0DN~Lgia*IK~KUfd>&trqb(G)Ujjn*C+f=Y@Ti--92lEBHPJV%#b8j;!dfbBP5 zzKHVPkOWy6%XDRzVM&#)rf(?&ipk&joU%~$O$^lR7dDtNn(cm#+A0>!MjAxNq0;-mc$Q zJB^QM+>*4d?C0+-W~5@GyCieLuznOk8IuUm2LQx95qFtFcIHOoo!lUK<`Ag3B>|p~ z$zdI(ce@MKq|axn@OLhJNF06F?I8uS#H3#hm--R>0kt;6_j#?byy?&PVy%;SI^o&a zkP%O>@yd^XY+A>IjW7FsjXXgAdtPAun->x^|8m!Zo3M8XzAqBuaYdDa3*B;*XuxYr zLj{moU-mk>tO)FTI__0w|)`+lDj$5HWrdj=Mjg3mQ`}!p$#0A z8E=IR0Y4wfZ2{LSvDc_6X5jICTa3doU;hweF%^Hz>YxFT6!J*$HX!x9(-dEhmkmB) zd+aMm>Um!$i4!j`HE^?`c0rSQMeW>=vXQag^{OkcIUl#SYX_n}kwUqx!Q6)0+EMK9 z;1DYzhMrq9d~Vq8&`F0jRipz(pG3GL?`y)x(C14>?d!kKhp~BLfUh@6xXiY8_>&CukRp?1Amx6QXiUnC% zmbd^<0+tnCQ6_CaW)2@1LLV<;Ihlj9XFM83n_`-;fs6J32|coitbh$}F7VZCmlfa> z*e%NfZ?Df%&dM%P?>FQgu+&3osu&fbr>ZwDFiBB6N_4H4fV8MXyJ4{Ar!WfP|4 zDGcVjls_|e>AzVdwJP27U(YwSA*Q;4{vpiU2;tqA~+1L&C98vP!b-s04OoZW%R8x-2XvVKEr7 z&eVM~_(Fw`r!_H6xW8zvWT;CexVrD?$k|;v7D8B3H*s@v;&OBCOYE%Y;3;P)DyzKX zVn^LFoErND;dLBGL8lar#jp*a$P$29B{Y>=IkZhgvZ&q8w&|{ojv<$goVok^kiimInhi#eIx-%j_1CCR|l%P}< zM>kgw+Stt%XCFsv7ls%`ndKx3b`gmsJj)YGlB}3JXAJG?QtI>DdO|TuccG!2sd)-- zGF0w`IMyUCFA8oE0aeGG8$KB)2nFWpBdYLztvtBm(uYKsu)0G5a=UEjZd^Hnsrb?z zHdf$HW8^zBgk}(^;Pm%MjltOJ;X!D&RtDy0IQiu=D{bR-gH`s@iwx4MEv3fqrFAsI zekPedc}bBmBeGt)UPpie^qi>&@|*^6ghwt|`b`6xh_4oYTdFOv&e%(d5k2l9KuQC4 znz_*NrI@h<%Ri)-`-w7Ny5{IYq7687EJga_6_^%6n&4vQ<6?l!eNES{Hv|1EXxIAY z)GF>PHSdBsJoa<;O8r!kh(TU3j3+1l%aL>sku(pcr)4nJWrVZnV%UO=IcPE{NsLW2 zZ*?#QKzv0Yax3A?k`p0E_ICDGPTq5=N&s7lr^i?@Ce&5afDY<3V1+e24M`uH_$&xV zb~ASfz844?=SdcIB^>FK{XEsU6fm?sQC}^7WuiH0I9J13eyU?6%0qrCmxyf4i=(%m zc~weL{;D#nIcNqHX8@T{q0bB?)&gq&_thO=2{g;$LHFxX17az#Ov`H(7Epd8A^^x~ zpN}|m!_c<%{mq42WVXoVOLXZDd7o>=DdS)4Yveh`V+N>%?f?my^X&F>S|gH@yh6LS zn{0d7k`Z%x(`TNOc$~!LHx7c3ue$ZcBw|%FZTSb%z^o$?hwdUh7vK^JH5)%8JL*|+ ze?s#atqO3d+~y?>XO|0|ay<;`B(q@Go&by?c6t^-jxyo2awS&e9aF|i;aHSZOO(PM zuVAv(%J%~~i#%8pg-fpM>@hZl@T?6VhYocqWP`3P&#={>xo>oP=9mzOJxoxh{44fH zxQ>wh)dBq?CaM+0x={pcD^g5^xn{ziVA~5BjNil>dIeog^k@7d$MMKVJ{#QMRT@?} z)N}K`n#E$;CJh|byDd})R}X^O&YO|Z!k+j6k-{DlTxUWTx5nlRo8n5GMW5>?ikEwc z5LqudoD7sTx(zsXf#BiUbTuI!i{Ucfs@^+G4QE}~UpX18J8gJOlcmG_t>^ii@Azo# zF*dzwRj}Ba%RvDmCF+n5q)C$1KN443?NP(Gk00%XUn3Ul?`~Rl&(KfUHuDlh*@e*} zxsGsg&|OFb;%2(;f>BcI@M;?eIRvwD+GLZ5jvrXqd3`8o?im^aAZas@RB|A?^ct)7dr z5Ex?vvesv-b*m2H41!#<7wywKWHIF+HwDiHFzIx7z8^MPYkzwBI>@5GcNS?mDn@KT zgG^Tc`hmV5EQH6;?QGF!`O6fe$xB4fG6=b$b7m(JOxqQFh=hDGP`A7L?2-a5S-TfG5EH}^N$t6zEEku zfG^f3{Xby+zr&V)g$>i#P~SUeIzaV)xB5jy*v{qc*ejA-=1RT*p(epmXv1b4=PBlQ zEL`l~i9W1!c`%6rBuPu(FyZVyn-&kBmJXi792K!j+rF}f+|1XEqf9p(mNhvY+{~L= z{X@(VT0b2V;v~~EQ&?TCJJ?>|8xPM#wT%vkC2Qj#bmrbg?aXNMEToNUxi$9`XL!t4 z+5$fhB$a=BvuZt6UHE|y)JkF8SCgh1k6O?EaEWldId&+R5+vDDcB6(spsDrq+s!4q z;HtFAIiZPV;v-P5`(+`CwOUaF^-O8K=~0yxIAWD6M0{bQq0yWuI3i7`0!{1Mlgv;6 zGD-Qb8G29m`Tb_I`BI+Nhnn^yhsDLxun95-aOPi0wbxPf5}ON@>q(xo?`~#4Nl#ss ziz&l{tGStdny~Ky@{>39Of%cMEuJYf8*9j^G&z7A<5^fE0Ii}T{O~$Wki@>m_nI+y zW*LsCTP-O}>eijPH`KvCV_6AVIBEgvOd_5fkp4a=;+|dar3vGCYyhcgqPdlpQS3mK zeb{1&NNa)h!Hw#QLN4#mbm07?$hZq^C;URRNASl9$a~ZU66Wmdt zKLj$c#jzSz ztd@R@f;N19qlLQQ=~-knFU)^`{zB@90guO zIC7-@ZTKf-#{4j3u>^;55dLrD)n*lLGu{xU6ZWvMUxVcIWxoK$>&AHmj?#&I^%kZZ^z3>a zm+j{7Iw-rnO_gQ7z0<1OTn*>$Q(xXI*Cl#%PQ5F>U;&l(&k`V^()DYEfP>!Y8ww$s z?A1jT%5d?p9^a!j?gxE+R4e8F^?MQMK4M`AXX2)11;ZooH7%FGK!%!_@P__T7L~ro zLs-BIjB+>*)rKsLA}Y+B4bY}4Cb^war}LfVMGV3)V-6d9gmKI`sVEywU62o9PyO!feSj@205Arsgw<;rDh44vep? zBM;m8Tlh)jUv2FUsxT^6E!tA&O{5FX`AhnaQ`rMs16Q_RsBA*qwqU+~G!c4>_Sx4@ z{*Q(b`c9;WJWG9CL#A7K7Xn&C(eP%F+Wo*c0$?nseO^==fW1GpwkcY&YWz+?SYwN{ zU)KA6v{Tpy-7}e6Un;jkJ=e)Yn~lUf`9vQk^-{)WuOH#8KN-FhTn2mT&;JTL_Wl)i z#J{Pqgn4gA{|Y-QL6@DzL5&jnHlvLC2{kNJ?9eK{+fcVEi@qA=3(6heb4^95{TL&3 zz|Jwt2Rk#HHAecvXV`DUtjQo6Z-%$~ci|)D1Vvmx! zRM4IJSE$I&szX~AHARS4Rlcgk@@b9pYQw|x<&?IvMOFK|@!6DBJ}`zPkG{PbEzyDEA`m{BEOXEIe{W3@03H?{4S7R%ZkSbXna(~^xSDEB}<;-EQrSZ+~ zq-NQR+HC%pLiqa{*bTyoX)!%r&rneJn-SAy8V>{Ora{zLLjio5dMZUF#4cXTuEYf# zpKSGvQ`)^vlpQUD&2lY~s#A1K*Dct+B!klhz$Gv){5=B<=W*8V)k zGoGym8vE&obG3{;ORi9Z8LX+$VUg0B8`z(sC&FRiHR=8Yzd-N<2;pTDAUe+FgN&ry zm?3~HGStokm|p-K+{n|;#+Dz|tSM+;)j5PV%}I&+oIMIg;l zt28iU;`c%UEq>`PT{eF|hoX zh|Tb1Bi-GS5k09pzR(YYmQ}3FUxCNfufU_E-BSnInkcICO>a|?$^@&WqBr>j?Dx>r zfQCdNB$?IWvqSXIoOLEO*L zFz&8p#MAY>lr2YB6V+;nbT!XaA z9tm#mJfqZl3!L%zk(Q}Rle53EW#;8nZii>L=Oh2*!vP}`l{gV%bV5n-Zrey`rvsn^5#1-Hp7v7N|+OKM#zI%fTiRPqGl#5;O120|4YCVH( zsjf(EMH$&9(@$-JYKXxGMFij@xq*TqhXCY|5GNHlVHiwSHr1p0?R~5;0B5HvJpTRw z+mv0Ol{=SKpe?Q08fdkA-^SbCfc>#HuvDO%l+`z3Az&jUQ+LI`C&Py1f*~v_mYHeO zq|Y~ox3BTJo6$7mf_GgjctW^1p~r@~3r0<3!*gRQkvk>nH`ZD4S3Vo~G?JQbv*Y7^ zwXyP(lh1K_+@Ucgr@}qgX@~75og_S4=3A%;7PtwYC!*}+50a2x!5t$p0Pau3`v0fB zuMUVK+1?!-g1ZHWU_nE0f_n%S+}+(JxVw9TyL)g68rK|*l1H?VszS?=C_d*6G1 z-S?}ZXPTL=uj`zys;;g&-#K93-A1`4+*Tvi+06mkE-^!4`KThA4K;i1I$1`;J)zY> z=h=q@vto^U3m5N#vnI*&1Q6}S626QlQ+_?$`u5?H?oWrEbgLh*@_=1d8q(kBvVJGI z{JM@%8Al-#pY|>twvHmArj32UK`uily`Dy};oUC_2~l05DwrZ3z=ed@&p#&G_~Be! z1b>iK;UMxaFp00Z>My4m!BA7Gju*e$g%D0RgQv3SYy7EPURBzm*}{4Q9CzOIO2r#o z$kobWoE!Q_yBb-R)N9WL$cMhm%Cmtu_m`MJtgOAovS>mB`^?Z_!7ro0B>)>JjTu`YI3I`U zGRJso4dtMEg(f3av^{Ek1c`AAIabhP(l@OV!LY;kBbEX85|+~EQ*{HkUd#4S_RNj5 z18s4^_~Hw?Q|)?&#Kb;(gBQWxyYWX%+%u(mnZi9`)f%%rtFgCgo38;{=xf?mmCB}z z^ExV~(_E9m7a+kF_yw6bZ42;FLo3fo1<3~h?6~7_X4Hk*H-R=OQe7~s^!y#7&|+AD zNZsl^maVcsE>cg-r?@Gz=zW@A8m!da;#DLUL@W#!PgG`@yqM@;1^cANcu=(BcIZv7 z#|bMPL;8j|GF%$X8LcivII?dHZSBWV3`{F$_=})UwDTCx#K?5+ouD)C3H#QB7mlR+ zv)a0H;Wzpy$)ju)#qZ<^d!=2*N=C-tnn$_Q9cg)pu7{*Jzp-Ozq5=J}HatJIK00j2 zPsf?%XuFV__hB?v!TF2>%Tqbj&?s27lD)nds#->&njW+1mLZK4YpU)IuR!o(iI9q2 z(xlwMqRdCKuVPB2hrBRGiFqplAappL394&?RU1yUM=i~Er%@7yE?{0vnyC-uB3L;T2qZx=Q{o>(WcU)#&JV|lS*6HZ=ax)w zA!410Zaqc3TS*pmf~uyXW+$e)7fXZX`CljDnFrdVeOr-z>*aPG6HCGFs57ojzD>fp zn(ERx{r=F=e{l%!(42bWn_>7mboj)jx<8`Yr7rEwONCYWP8Z1&-*q1!=fL3Ams$aq zZRY632?pkFdDWL5KIm^ zr7>mV6QdbWSb2jp2r)=p2avtI;H=dpv&<_H+TXUO?o2NJS%!cHDOT<$lwI93w}YdQ zYhGqq{?5)eleu+&-#N2#(Q#^PY*nQ*lDvRbOqC@FONarMg18@6N&qj6KG+gvY&t!L zt9f-&EG+8EAX!{wp{PE!QQJ+>4)I}8q@Yknv9xxe0jzxsl`N&3^pw@xtzD0Y^#BIx zQ)fU$hz-;>ZSZwB`SWHXB7-w)^F=E}*HNC*^-9*v9veka-iBdO!3gi3?=b#x+^`Am zA4cJlMlpu*Tv}ak4)+K&TCUFkxxv`qEV|fs^qGywMVCp);89sAV1!A7LD6hdiQjSY zjgp4Qh8yi3)7BN@DRRC8u8Q#XG#B>!*X+DKoY|ExMY!=3Mc)bQ}k@?WfmzsGfcSakU>(}Gck1`#@NIjS4@VEYFx zNNCyE>RJDR@%`IZk4>UuLgL;L7{v02bO-v%a59d-=$M`vAHKB0D108pH3DOCAsMj` zS3z-na9V~$X`!uAC*Ri0s<>SdJ{)>Z+6lq-$RNOMe+7Du09_m$3Z@|)6ff4bV0xA? z+?MX@I^Cj8_u=#UthueI$jCdMotyKHghJ)#S>gi$>?z}22&4Xzb7j)^k*^$M? zI-`@iCY;75DHX-qqw+DPn6fojvE?&IDsF$erZ=br>xBVyKx)GLWKHiM>V2S+|DxC* z%6I0OA}F_aSs$P}Zk@E>jxAi5btz%vo)YUBWJ;WZ&{yfuVzC+;L@R|d4Ov@Qov|K~ zDlACMu?BMWs##kTQ_C0zW#pBVHg9Jfbf=of`&xZTVlMp}8TbY`NAR`k>*1lX?yVcP zO0!WFCuL<;o)|OZo}$UE?co=VH9KhIE0#3#{lcDS!iSI6|Zb)ar$~Q;rc1pR5`nljJl3-w2XLV*}b7> zM_#2cRlC?+5mtYFL522X>-A_bF>3cr?ByM9GOm+7taODLI8LvWvVL?1gL#y;?qEp- z8|ww@W=uom=elA#+^&wi#*4aqy6q#OH!EWUPGHP!Sw=CvD67IB6`_H7)l} zskz?z)gI|nh9TjDae|}mb=-MIl&hF$i6xk4ZLLlT+l~ny2b}V7YYw~QCB$0)T(N!5 z^|3Dnv!9hNDu$+j*jrUP5-fF4xui+u^+nJ1tFVs|LJZ~FSV|oTf#^b{W!g|zk!zi( zPz@R#3q5!_@X=`>_1P~Xt^oUbpP1!T1}^-ol7`mh|VA%Y&2*K+;I%y#1ynv$zkp>fj?q>oIQN%h4 z>%BCAL`S%kF#?BWrx**~rK8A7{JCV{Ni;j%mp>cJBbB|Ld94$U5PGi5ptJi62H5H9z zSt>F>rb}$+3>F>3jgj*3cy>9qts(_i4LLg9Ul~f?$IQ2^s{QK^PNS%$%dU5sv>w%P z{s`V7{ch&VuUWv~d@yG97Ypry`7qQb|Jq6&H{S?Pj=>kZus zl?6VFrq`hFvB4<9;BPb6(0Vi5*F__#jzu9-ZtI)N1Jww}ysqd;xV{k?xj2L6> zN$}Qkb9!=|U=Aa3c=}n+T90*r>p38$E{f4z!X!{*x-=^)A`{!O`bQ52T{JzMY&vq2?KX95x}>`^pRXMSG#FT zs{guyPhP=sDHcHQ!&s)KFeV^vy9V?NSZkMvF+eA3)?b2TtMi=K(LyUm?TexP26Q5c zZdgPcg{Z8&_3$R7@~UC4GL#9-BuWOEfOuY<6pd9ixbgRlo<5TRU)F@KMylH!aOW&$ zzI2fkGKYzvRDC=ouE1GiAB?c`X)+Kg0}9dsqZd0v=4w=iId*zFEy9>5wtC!U!c$vY zVveVqtDj0<3c1*dN>1H`(e7?JFOAr_)LS>`gqKW>!8d2_oRvqAE@U=Bq^PsugAQ5f z=^1S({+QTx-JwroReMnxJf!9+CnzWXJ}xCz%Z7$!zEjw{g2PuFHV?5(`BUlFnBbjJ zYbWVk;}7CPV~2n3&$s|O8I1-3+QKL8PB0VC zy^M|8RtP&)vV)xa)Deq5d-+MP0U*doX>bMEtE4*kc+-)8|tWtT#;w9X?QfbO(zV z9{<>#wBRAjeE#dv~SGYY4 zRszG}5iP@Gx7QU=o)4EP2ykKR9_8q zE1I&8s6-DZwXe@7{jc3@LWTxILGgTaTbR-)U3Bam$@X#*8=$g184ZCrZRlCAL zW^ddw-61XEhQn$>EYB3P&Q1ntPr?M98^(UH#2-STU-B1Uh84Q8xg7#oBmYmHX&=XI z|29^N0i!XHWl!MH4FEtr?wa5fItuh+tn$ftEUl66^>Dw1QKSJ!Z6D!yWjYQ#ka zC1X30p~%XP=d<978RY?kZ#oW#A+6dX7$Fbc#hyv}W`YW;MmHVx?d+4A^WN50@wfJD z7Y4g92239^yjtgyRd!bFat6`%Fqa)mMdP}#2nuYHuPF0Yn2Mj{Y29vTAZ*ozSi2B< z$X7YHKS#z?9&J=$wb7$|pN1pfH*I$eA+>c<#J8~pb=FZXk)sN=4iQ;phY8}{4ej*_ zDYMCYUyrHq6$-5xg>t+#;1Dbu2Nwm0?h1FxaDznO-0*Ma`d>Xoa`C zcr#q3*)hElBcpq(vPV^$Tzty&Axk=+e57;QnSZ3`(LyoX6T{Bl5a5<_o`h! z$hJUc4|HKPD{Y-N<#0)J44D?VCksCeD!ppHoL?-vYazE}ZI$qdQ;7BG z*06{vJms4(EGx!nyfZ38JDUj1p-)`y=f@XcmQuN$kFQrs`|4^p?4?k?ZK&TI4{&q4 zZe8EZg_q*Hn{)?r-fqxoG+nO^-O13wD=%?5T^#oY@3q|SeDB6^jL*#EypHHlWSu$) zw2AI4c_6Qwnwh8;S`GQOOCome&ckxZ@n(zDa zp5bI+H_V-F5;I4tM&-lT1!MJ*T$$nsP<&EiizfZ5QyM_&Lt%ZISQVxD4MFW1lrSN;;_v9Xd{+HaxCfeg0`t^S&GL)8MMXEyx1St6%e8Ty z9k*RIYy#s6gs=(x;BtO63tj;$w{Hc^$Z42sze@B=B-f=kN*{NSI+;OKNnf24i?KuPb&y~s4^^hk-zMt&$|;uS&h zr(Q9v56D&ZKSz{T+Z$40(vNv)DHhS|&ymZ{y7{rj@o1`=jgth2Ro@vb^M%>Yt-N*P z)wM-R$9^k2@ybU#pB-&51coB@xJ<5=w&mLaK5lO2#P+s5DtJVHSNgSbD1Z5ju@RwH z4P7dQQ%zDDwI$FLGqpsK$^E3#wGoCTkQ)4ar9a*)R?)mv7W+U1dsBJ*?D;zc8O*ij zct$Tv?+AQq?(9SAy-)SI!68Pp4f;yzDpp*0lDMSSEBaAAzFOe^-QV^puj)V6ji=?l zEtklgxkPG~7u6+U8SePOMqc)P`%NBpx>EPYR_=GhAqHuZd2f9U6Kv-rRdFuW82dtC zXM~Bxv@WIVZxclN@x-(PP8x9yqpS)ilZ-=CDeCMu#wt^8dpWQrfeVSSLKU=};<1XU z&E$%9)6Yc+1lCZ$2Mk_FfcqUL%jvZ;AX}RaFs#%q4;FonEQwPYaomYAlNK;QR{lhB zq5G-b&P9T}7Gc2FMo!iT<4uV> zvxTY(wqlLINuSI(34JMG0~!w+43m8cZ9P`ZU%45=x;v)%%6I~#ynx!yV&{aJqaHSL z$=}%SUA72a&rjY9ydw3tIf*>sB^7;KTm5WXpUreKZTqzbC8d3y_8VrBaFCdJj3 zN)@2osz>)G@I9n;(G+fMe-d3+N@Diao;kbjz`He4RS$(Ks_NGx(3)u7K(;7TyLs;+ zmG$2UnN63}x`fI!EaJsAx|PZqLxrm6FF_~WXmRhW?5==Ku}x~0svtIYrO6q;_fA`X zO%>!;sAlY3tvqF7uL4$jrDhm*XrvDS zNJs#vfO(+-;2<~vpiSz7pW`*hL!03z-QARDf@Jz$E-Q=X1Mj1t3EMB7o-sAqIdVgMcA}+;spQIRii-KpxUV zHsBiwC>S^dBos8vGg#mO)kpwP5HK)Ma4-mn`_q7Y0R9dDM}|NlV&H{DmDYkHwnAg{ zj7*0n;VW-Lml@e7eWh*f1@jC86AK%M>;*XmB^A?aW)@a9c76dtAz=|wG1>QW@(PMd z$~wAw`UZwZ#x}Ng_709t&fY%0e*OW0K~d2$v2pPUiAfomS=l+cdHDqul~vU>wV&(i z+rM;lc6ImkejObfpO~DQo|#=)U0dJy_I-0}`{3~C_~i8L{NnOnu6sHEk$#ixiCoA) zxj@0e!N8&J1d#f2KPi2nY}Z92^`9_=f}w1B>(@r@IAUwM4p`1;7DA2!SGlAp^JpH`f_K6oCJW z4eV|hh>>2Gpu$VKu1iRcU$ro$aWufaS9u5M7!y%=DXsdmcvX#>H)@f_{B%sxq(VT$ zFh$^bz7)^PG=rCruc9M^zLzvpoZ}2q>c?x0C2B@$Tj7m?o7>ni0KZ{Jah*@eQUH4CK9DM4x?g76!;zdc$SM|1HI2yT29&N&9K=jPv?7v zmmMEgc{UNVNlO?f(7PAT*S^%dH7;VcjGNI^3)Ea`c`4Pf%$%Vw#Yr(lxO{IB>kVH` z^~w!0Dn4;hY97oRCAH@0$xwQW98M$EtS(5EiEU~Lo%X)wR)AKwp~`VC^ispJKrO&Iy2+hkn~L`UtetFuyOyc7htb9bYmJKW)wrHV&l)+N zV`hv4hcfkxDS5BcQ5vDIBId;}^k8421R__=F=h)PAgY@vNAsY`8RZ&ogkg=j^k5xY z(tjS(*-@%*t}{wAI^3?GA6A^td!2e>4$3EG$keakwK4@a}=BfCiu z74zXXlEDK0u2UioavoH7Q)#x5wfLbWo(M!`NR@#w(mTu=gxm8NsB&h*0{R7Un`f#j zMb@2!a3xXZ@=)pEa7f0A!%!TSiYutlcMUK#D3Oohi_i5_V1nzZ* zfTfe&HXGh{aaw&U<9YmQs;8?0{vL`Wm|BY(GYqW`$_xcHS|Fh|R0@KkV2BP02`gJS z$W84&_`(1wH=>=WMb(xvH|1(%&`%iBBB+#}EQ+^3XWz+2WZ|50qqlV3NWO0>-=8ec zG*XsTrL3(Ryvp``YsyaoDbeAlej($wHK!!CcssHxjk@5dDlkfQF}J~(5b_p#o!6K4 zIVFf9C3u)uY{E}_e1!8MgVjA$I^S;pYH=7nR89rdc8rCLKxyw+3~<@Cnv|;R&YDw& z#*6{VBVQ|5&4XA7J}(p|?yKDa0wMjN!Y!E2CK|UYOam2Ni@*1Eo$7r2JS3TIE4wf& zVWl6@AH|ZKLJjJ+<}4>@EUvpWOMM66d~pY8(a+nu^jh3LJAidsxnksN$PUS9-W^Ej zy=pZ8KV?I2QVO-QfXpUOr4mla?D_`A{pxZ;u#gKRcm9Gv`5^oY!Siil*#irY*RUV0 zG^6G}E5Q-b%qk!kZIAdNdVvTK^C`ckMfb&VD_y2It~=3yab+6Ms%&gJe1XhVQwxjd zl^kBxRrD3Du(U^RxCPAKvU<_cWcp?{yQ(n$RnZ%9?u35RwRiY%<+&*5JO# zDfqgO4u*CbZ4>9cT`oPKS!-6VKizU-B-v*a#tYp*tjexKN@#>m4)GcgO-B1k*P_A{ z)bsFVP!pq-nsb-@=5*~B<8YEd2USbXm=`55mYL4JAT>IMfMtc|Yl?$hzZ1JVfR9W2 zEyj2wmu3WRUeeD6E#EdhI7}1{$Ua-mS6+hFT^h3xWML;3jdU;fHb{Pk2^y}!!Fsgw zH#n&3f($b9l#1<>O@$H$OA#PdbG_M?kA=^#>@XyT1_Onm`CLZR%Vo)mrsO-=ym+7$ zxBUvPI50VuPndTxF>goIK<{;LWkafVbOi~-*=w73QEY-8k@R-2n4#IAJm=-M z+$UOwCu@V^@`5=G2gz0U$$c7aa*QG!OC=-(U&e?+N0d$Xd!Qahe&TXjJ^@U{IM%ik zz`nux;4f9ZFW6N`_Eoj5rh~Hr%~6?+vyC*UxSqu--t^Gw2T%OX{F<7IuY+X^)J45CjU^4qwA~!FNc>2=gCehY z2kf#M^Eo6y;^_Ix_2$#-J)A?AK0 ziDD}zyMRHsPH_;cJq_Ugo^h)kxMM;Xo_KMSNigHQrV!O9u|JrjY~V=f zwV-GC9CN;snj|#)%p-jo=`$fXQCLdS9pJ}8u2JQd?74+fRR4VO@kk?MUf_BSMOrF@ zICT+7jn@)K9P0~-7W<3S8`qBOPDm4*NrCH5!9)etaKG77-)hNcU+w_VW{q)4dMTB2 zq>SmInTAf~bVhqy+)@oBQ49%|#r=x6qYD{;uUhN^Efaw4m=TD+v3kHz2#*dtcpsZDXXM zSb%4B@VNtQA{qhJEqhG?Y$_b>?#ED7z`lg?7JXFu-Lj4QzQ3d7t;cEV*#>ue@rG=|+RXv>7h^r}j@C?C{ zp8)gA?)&@74+Mmt&rBQ1sHyiy@RcIbeg|MgzPI@)0$QDw z93_(2gspIkvlF7>PjHZvVIjQC~HT2nylpphPe5F6V z0~9hziy&Av60Im`?`A2-=|sJy?B(_)zb0Bl1*(-R_vS)!za*SwG9+Bt*|S@41@YM( zz;K@KR4@nJ%DoTm#ND{*$@!=zs!y`&cW+{Bs3k4n8$`Sd{29&2cf7;1P1l_##wEC1 zTZpxf>319HR{GdRx5vb5{0s->M#XTrdpKRVLyLZ-N3TpK=Pb={gycKVK{BR+Q}qpz)h+LKWA_|RpM=j6gJT?>%L+8j zk%Yh6eFiI3?k6L3f}41&3gQ9j)JmgzEpe0T6WO6xjc^c{fD7XvkNm-NKGFm0X3@=J zWl+eLpz96*ZWhs-F9;vRS&N#A!dvgYy~LX4*12>~c?r2O|lVo&B<7FCZO zJ`tTWmU7y)aWCX@?n-)8%UIngw+AWMglnrtlEfZ8vSpCYqzef*mIbRiXhoR zy2Yw3MQS6$pyhAn_=T&h%d1UrS!JNp?4`;}CQb&~PKx4@Z@+ zXPjz?t#CTta@JnKy0TY|nJZpotgGL&wI}pE>*+rChiaC5t03eGzkEs-7HKN_{YEkK z7D)rjeHef4_9iHoj$Y*A_NsHK%9QvzZr(BOrRcmk}Ml7eM#C z+T{-5n>9gu%;9vcqGO_05Emhi2BA)mAq4$?qxlfRRChT=<_^#fyS#S^Hs`)nE__Yc zjBsDeYj3X5>Ka=o8^i@damaXXO%x*==wmcs<)5=x@@d zghk7Q>{eTtQ7?R06WWAHNHMnzMws`Ko=i>$8)+SS04fLQs!%z`Gzom)nuq7Z-wGMRNZ|RF(wA zP0m8ZpMn=O{01Arh1tO%An!1-2A7OGfn6hJ+tM*q4Y1GEt~p*Hml#=Qo>i+*zHf#) zhNNfdeLUsqf@tp_2hihxY=I>z9qi1R1wZ{}c5!AMJ8bx!%*~P8qlEkFgx!`;OL8ic zn3AO;$)wt}`9OY%GrPyW7Z~CKo)%%xHR>jwZ;6s@?uuS7u!r>H^$B<4Nv`m+$)+Ca z7mM^PZ&tlAfH@CT#Kk&Qc&qcX0Gh$;*TO`15qZunSM+@H#0orQ z*S(fd7Th}W)J2J#0JHWHcwO#qM7Tw{_&aC!TY{+CkQLi5;lqi;Mj!=2%TP@na zk;o_U3kA%zk<~tUuw6I67|jWdJms>E8OKW#n))8N&656fwM+=}m!7dC>scnDW|ai+!o9*OV@2k`r48ud_I$LLhQ5v93{0gO(KE23$zHUn$k|@B}wW zEnz5)qVyBV#4X4Cz%y>|;~jKE3o@EhpN|5;=HF&t+^ixeos_WQpfZ^*NC1us1gD61akOLBg6}h!c)qQUzVO;kloNm>9)bfNk}?ET;_Y z9Cs4MHMSv0P}pFL@cLddtYX1Z0vxu^LTD$!x`S@z*b2e0%*JLIp(EfLBo$YO6QV$` zAj%TQ@#Y`Lq93^jx{4oki%r>)WIE!HNss6}s~IGhWD7%3=|ha0SJcJxw2%DcFwWo@ zz4k*AuXxJyC60I^9)@IfX*@7u^!w&^YY&Qm??$vzhuAgukk#l%0aM(D>SWc*Rf@8SwBZ~uI-$elJKFr8H(9%_ZNmZAixX!%- zvhRNbMshuOZTRb|1Ce8IEarjEnq;_j4rD9y%K&jb=ng!$P1*i+~1E zq}^|bcawiq>i@wU6WHC<{{xJfKZelG)Fm+q1y0y90w;Qrfs>5?2w?UwoqW$-EgF@! zm?K02ET4&9A!6)-(=&$^v&P~*HyXvyDYyaY>4HgOfEJm{-*zXk8Kqia%1=7ACA95! zuuM)S=ORNKb<+EW6M+sHnBwv(??TG^s)0+@y90^=QJb-{s10$eZQ%4MH?+7YT78h$ zC*g8{tbF(fwY0YmbPZq6nQ*?Z1~&C~M`oN{!2lHp9&gm}15mDXG#$SxsaK!Z8^YI< zt=>1S=WuU9vtn9VE0f;l6}cDdbIa`3hdX4MnaaHJEq$XZ-`ksy!|4DqXQwyG$jT~D!8&tIp)nL@n(t+1$##Q^K{j4XA=YTQ zlrM$MC*0RZsx&*70$e^hT;;4FIW!>XvjH7oITJD80AUPP53M8*qr=r&(48CZwD#TP<>W=;!Hr#myO>4?k2D)tWg_WElxjb_F* zAmOt~Dd8ougRLTkRg^Zj&92S$YjEE5V&juMgS8&6>Z3~C*QDPu=)iC3z1ag zNGYfd!PQlu{Pd}TAuIBZ^)edIiC1#obs4cs;H1M7oZmigRx7UZA*Y^#PZ$n%%o8L$ zQZ(}CHvaki^>+}_7Zs8((a{ENTQ4)i6_r|C(A;DRAX|$YnuX8`EbK3@Um|=KC{@bo(^9w8SNdBe^uxBbUw5lRr1-A zZ!}Xks;4$48o%*JRM(Jtw)<8m%b#Ai>6_5-BH%AIzzygf{h`g-YH6G5$=W)Z>e<}4 zI=FsO1TT6lo|UFR2gBPBH2l(}Xzhg54%;A9F+^KDhM6d93wjraQFH^`Vj1y@KXjSE z?v_DN>R&HpK|zMQciHcna5WloJn&N+OMw?*MpbKW-$sCu2$-rfQ*LXJQdu3DjapURys6ry$AxhqJ#ttvH8!XDJ@IOd&&MMrY2Brz?Ah~+G3U- z$t|_&PV=G(YZl(D=W{_G5~7|Uan+EyE0KIC-VDCU*^Yx%5)x#=I1Sy!&!2tqecv1Q zcj7-1x$N_DaAaq;MWB?`$42wnQWIx9F8n*do-@-qnHO&TLq+>hGhpQAuISk&EDV_P)6- z%(He{&~WTgryfV;w2@AFyT=pKm4ZinyV>|`6(t&el|@d^mX_p_D31M%_A_x*c7Js! zZH(@Qo2Ld_2w`JL4&5phGE$?s zX%%A%__@dFCfIE6o2V^A!s|O~nFv<_*B_QgL06zdoSzu3O_uh@`E?w|2I04p-CXdJ zL^D%?3%Ei*k845qz9?fr0;u=wWPgsFxTyGrUl@t&-s(t(y zrDLqgFCT5?6MG>i72Daui(4P`irPJ z+FwgosDf3BjU9|Fm$QU4-P$4}rc!TW#m46LPnWxV%=XA?$;@0i;-@=>9P8D^>E1)W z4UUn;Va{;XoXroo#KN1Mbq7TmT40=auzrhC+;-#YWB7`&_6^K6Mq;!*mMx$4iM08d z$t`I=0_?Sk>E(Jo6Z0IA(G5L5MAhv1S*p-uj3p3I8ep(nNTB7wy)D90Kh{Yxu*wR- z{dPBdyhitXD*P7aw!py38tbGdJp4X>Dd8{K000~yzwLe``@pyQ1FP-PHu@==3hcyuKQLcAJJ7D; z4`^6GL4QGe0DZuD3h~GA(!XM00v#{hL;OXs>8D^%LkmB`8KV3K_B7D&Q-r71!jA}K zKmq?L(Ldsx{tF-WG1}`>he>#r=FZ1;Zz0w8jj(CBmETbshgEYJVep|4c?#jC;z?ypGo`)-oG^9N9P7lOZxAT zZ-CZa|56G61^Lloz+WNX)9xP=nAG1v{)L49_o1Ij|1Ic;i}t6tl7FucWSPGM{YVyn zTIi>g>qmWH%Kn1<4~FnBn*N0+{HJAp$~JyPwtxR8$Pb_pC#jxhe>$u6n0>?J zx9oqI<9eF?>Ey~|_K#k_E8&k*El&adIDzq)9RP6l{zV7BPiH*M{l^EmUvq!<`z7~3 Z9_OUQA%Nr+0Duhmk^l~VjRNog`(NBw0n-2g diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 63c8d432..00000000 --- a/docs/README.md +++ /dev/null @@ -1,42 +0,0 @@ -# IBM Cúram Social Program Management Containerization Runbook - -Welcome to the developer enablement documentation for IBM Cúram Social Program Management (SPM) on Kubernetes. -This runbook shows you how to containerize an instance of SPM and deploy it on a Kubernetes environment by using Minikube. -Minikube is a variant of Kubernetes that runs a single-node cluster inside a virtual machine (VM) on your laptop. - -The document is designed for first-time users of Helm, Minikube, and Kubernetes. - -The procedure that is described uses a minimal architecture, the intent is to get you familiar with using the main artifacts needed to run SPM on Kubernetes. The example architecture is described in figure 1: - -*Figure 1: Example architecture* -![Figure 1: Example architecture](IMAGES/architecture.png) - -The architecture is defined by a Kubernetes environment (contained in a virtual machine) composed of the following elements: - -* An IBM WebSphere Liberty based pod that contains the Cúram EAR file. -* A pod with an IBM MQ Server configured as the message engine to support JMS-based deferred processing in SPM. -* A pod that contains the XML server. -* A pod that runs batch processes. - -This environment is linked to an external IBM Db2 or Oracle database. - -For the Kubernetes cluster, this guide uses Minikube. Minikube can easily run on a developer computer making it convenient to describe the application flow. - -The development path is described in figure 2. - -* Create a build and deployment environment for SPM. -* Build SPM to deploy it on Kubernetes on Minikube. -* Create the Docker images for SPM. -* Deploy SPM Docker images to Kubernetes on Minikube. -* Troubleshoot SPM when deployed in Kubernetes. - -*Figure 2: Process summary* -![Figure 2: Process summary](IMAGES/summary_process.png) - -Note: The implementation of SPM that is described in this runbook uses the following .ear files only: - -* curam.ear -* CuramServerCode.ear - -The document assumes that the steps to build the containers and run MiniKube are run on a development machine, preferably a Red Hat or OSX machine. -The steps related to [Building the IBM Cúram Social Program Management application](01-PREREQ/spm-build) can be executed on a separate machine. diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md deleted file mode 100644 index 5d849e01..00000000 --- a/docs/SUMMARY.md +++ /dev/null @@ -1,38 +0,0 @@ -# Summary - -## Prerequisites - -* [Install prerequisite software](01-PREREQ/prereq.md) - * [Base third-party software](01-PREREQ/3rdparty-sw.md) - * [IBM Cúram Social Program Management (SPM) software](01-PREREQ/SPM-sw.md) - * [Create SPM Database](01-PREREQ/create_spm_db.md) - * [Docker, Kubernetes, and Helm](01-PREREQ/Docker-Kubernetes-Helm.md) - * [Minikube](01-PREREQ/minikube.md) - * [ChartMuseum](01-PREREQ/chartmuseum.md) - * [GitHub repo](01-PREREQ/git.md) - * [Known Issues](01-PREREQ/known_issues.md) - -## Building the IBM Cúram Social Program Management application - -* [Building The Cúram Social Program Management application](01-PREREQ/spm-build.md) - -## Building Docker images - -* [Setting up the Docker context](02-BUILD-CONTAINERS/build_docker.md) -* [Building the Docker images](02-BUILD-CONTAINERS/build_docker2.md) - -## Deploying with Helm Charts - -* [Preparing Helm charts](03-DEPLOYMENT/hc_preparation.md) -* [Deploying Helm charts](03-DEPLOYMENT/hc_deployment.md) - -## Monitoring and troubleshooting - -* [Monitor the application in Minikube](04-RUNTIME/interrogate_runtime.md) -* [Batch processing](04-RUNTIME/batch.md) -* [XML Server](04-RUNTIME/xmlserver.md) -* [Troubleshooting problems](04-RUNTIME/troubleshoot.md) - -## Feedback - -* [Contact Us](CONTACT/contact_us.md) diff --git a/gatsby-browser.js b/gatsby-browser.js new file mode 100644 index 00000000..e848af3b --- /dev/null +++ b/gatsby-browser.js @@ -0,0 +1 @@ +import './src/styles/index.scss'; diff --git a/gatsby-config.js b/gatsby-config.js new file mode 100644 index 00000000..3fd2f757 --- /dev/null +++ b/gatsby-config.js @@ -0,0 +1,53 @@ +const siteTitle = 'IBM Curam SPM on Kubernetes Runbook' + +var activeEnv = 'local' + +if (process.env.TRAVIS_BRANCH == 'next-release') { + if (process.env.TRAVIS_REPO_SLUG == 'wh-curamspm-devops/spm-kubernetes') { + activeEnv = 'development' + } +} + +if (process.env.TRAVIS_BRANCH == 'master') { + if (process.env.TRAVIS_REPO_SLUG == 'wh-curamspm-devops/spm-kubernetes') { + activeEnv = 'staging' + } + if (process.env.TRAVIS_REPO_SLUG == 'IBM/spm-kubernetes') { + activeEnv = 'production' + } +} + +console.log(`Using environment config: '${activeEnv}'`) +require("dotenv").config({ + path: `.env.${activeEnv}`, +}) + +module.exports = { + siteMetadata: { + title: siteTitle, + description: 'IBM Curam Social Program Management on Kubernetes Runbook', + keywords: 'ibm,curam,containers', + }, + pathPrefix: process.env.SITE_PREFIX, + plugins: [ + { + resolve: 'gatsby-plugin-manifest', + options: { + name: siteTitle, + short_name: siteTitle, + start_url: process.env.SITE_PREFIX, + background_color: '#ffffff', + theme_color: '#0062ff', + display: 'browser', + }, + }, + { + resolve: 'gatsby-theme-carbon', + options: { + isSearchEnabled: true, + withWebp: true, + imageQuality: 75, + }, + }, + ], +}; diff --git a/helm-charts/apps/Chart.yaml b/helm-charts/apps/Chart.yaml index a0de22dd..0ff1a88a 100644 --- a/helm-charts/apps/Chart.yaml +++ b/helm-charts/apps/Chart.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -16,17 +16,15 @@ apiVersion: v1 name: apps description: Helm Chart for Deployment of Curam SPM Applications within a Kubernetes Cluster +version: 2.0.0 maintainers: - name: Cúram SPM Dev Team - url: https://github.com/IBM/spm-containerization + url: https://github.com/IBM/spm-kubernetes sources: - - https://github.com/IBM/spm-containerization -version: 1.1.0 + - https://github.com/IBM/spm-kubernetes keywords: - Liberty - - runtime - - microservices - - ICP + - Minikube - IKS - Curam - SPM diff --git a/helm-charts/apps/templates/_helpers.tpl b/helm-charts/apps/templates/_helpers.tpl index f676eb3d..9d2d1c7b 100644 --- a/helm-charts/apps/templates/_helpers.tpl +++ b/helm-charts/apps/templates/_helpers.tpl @@ -1,5 +1,5 @@ {{/* -Copyright 2019 IBM Corporation +Copyright 2019,2020 IBM Corporation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -58,7 +58,21 @@ Create the image pull secret {{- end }} {{/* -Define Database hostname +Build up full image path +*/}} +{{- define "apps.imageFullName" -}} +{{- .ImageConfig.registry -}}/ +{{- if .ImageConfig.imageLibrary -}} +{{- .ImageConfig.imageLibrary -}}/ +{{- end -}} +{{- if .ImageConfig.imagePrefix -}} +{{- .ImageConfig.imagePrefix -}} +{{- end -}} +{{- .ImageName -}}:{{- .ImageConfig.imageTag -}} +{{- end -}} + +{{/* +Define DB2 hostname */}} {{- define "apps.dbhostname" -}} {{- if .Values.global.database.hostname -}} @@ -68,6 +82,39 @@ Define Database hostname {{- end -}} {{- end -}} +{{/* +Folder name where the Liberty application will store its logs +*/}} +{{- define "apps.logsDir" -}} +{{- if .Values.global.apps.common.persistence.enabled -}} +{{- "/tmp/logs" -}} +{{- else -}} +{{- "/logs" -}} +{{- end -}} +{{- end -}} + +{{/* +Mountpoint for the persistence storage on the application pods (e.g. /tmp/persistence ) +*/}} +{{- define "persistence.mountPoint" -}} +{{- if .Values.global.apps.common.persistence.mountPoint -}} +{{- .Values.global.apps.common.persistence.mountPoint -}} +{{- else -}} +{{- "/tmp/persistence" -}} +{{- end -}} +{{- end -}} + +{{/* +Folder name to persist release files inside mountpoint (e.g. /tmp/persistence/release_name/") +*/}} +{{- define "persistence.subDir" -}} +{{- if .Values.global.apps.common.persistence.subDir -}} +{{- .Values.global.apps.common.persistence.subDir -}} +{{- else -}} +{{- printf "%s" $.Release.Name -}} +{{- end -}} +{{- end -}} + {{/* Common labels */}} diff --git a/helm-charts/apps/templates/configmap-customsql.yaml b/helm-charts/apps/templates/configmap-customsql.yaml index 02a63168..10f10bc9 100644 --- a/helm-charts/apps/templates/configmap-customsql.yaml +++ b/helm-charts/apps/templates/configmap-customsql.yaml @@ -1,18 +1,37 @@ ############################################################################### -# Licensed Materials - Property of IBM. -# Copyright IBM Corporation 2019. All Rights Reserved. -# U.S. Government Users Restricted Rights - Use, duplication or disclosure -# restricted by GSA ADP Schedule Contract with IBM Corp. +# Copyright 2019,2020 IBM Corporation # -# Contributors: -# IBM Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. ############################################################################### +# +# ConfigMap to load custom SQL files to be executed at deployment time +# +# Note: Custom SQL files are only loaded if apps curam is enabled +# apiVersion: v1 kind: ConfigMap metadata: - name: {{ .Release.Name }}-customsql + name: {{ .Release.Name }}-customsql-cm namespace: {{ .Release.Namespace }} data: - custom.sql: | + xmlserver.sql: | UPDATE PROPERTIES SET VALUE='{{ $.Release.Name }}-xmlserver' WHERE NAME='curam.xmlserver.host'; UPDATE PROPERTIES SET VALUE='{{ $.Values.global.xmlserver.port }}' WHERE NAME='curam.xmlserver.port'; + {{- if $.Values.global.apps.common.persistence.enabled }} + {{- if $.Values.global.apps.common.persistence.jmxstats.enabled }} + jmxstats.sql: | + UPDATE PROPERTIES SET VALUE = '/tmp/jmx' WHERE NAME = 'curam.jmx.output_statistics_timer_folder'; + UPDATE PROPERTIES SET VALUE = '{{ $.Values.global.apps.common.persistence.jmxstats.timerPeriod }}' WHERE NAME = 'curam.jmx.output_statistics_timer_period'; + UPDATE PROPERTIES SET VALUE = 'true' WHERE NAME = 'curam.jmx.output_statistics_timer_enabled'; + {{- end }} + {{- end }} \ No newline at end of file diff --git a/helm-charts/apps/templates/configmap-jvm-options-override.yaml b/helm-charts/apps/templates/configmap-jvm-options-override.yaml new file mode 100644 index 00000000..200c285d --- /dev/null +++ b/helm-charts/apps/templates/configmap-jvm-options-override.yaml @@ -0,0 +1,32 @@ +{{- range $name, $app := .Values.global.apps.config }} +{{- if $app.enabled }} +--- +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ $.Release.Name }}-jvm-override-{{ $name }} + namespace: {{ $.Release.Namespace }} +data: + jvm.options: | + # Placed by Kubernetes Configmap + {{- range $app.jvm }} + {{ . }} + {{- end }} +{{- end }} +{{- end }} \ No newline at end of file diff --git a/helm-charts/apps/templates/deployment-consumer.yaml b/helm-charts/apps/templates/deployment-consumer.yaml new file mode 100644 index 00000000..88829eee --- /dev/null +++ b/helm-charts/apps/templates/deployment-consumer.yaml @@ -0,0 +1,331 @@ +{{- range $name, $app := .Values.global.apps.config }} +{{- if and $app.enabled (not $app.producerOnly) }} +{{- $imageData := dict "ImageConfig" $.Values.global.images "ImageName" $name }} +--- +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "apps.fullname" $ }}-{{ $name }}-consumer + namespace: {{ $.Release.Namespace }} + labels: +{{ include "apps.labels" $ | indent 4 }} +spec: + replicas: {{ $app.consumerReplicaCount | default 1 }} + selector: + matchLabels: + app.kubernetes.io/name: {{ include "apps.fullname" $ }}-{{ $name }}-consumer + app.kubernetes.io/instance: {{ $.Release.Name }} + template: + metadata: + labels: + app.kubernetes.io/name: {{ include "apps.fullname" $ }}-{{ $name }}-consumer + app.kubernetes.io/instance: {{ $.Release.Name }} + spec: + {{- with $.Values.global.apps.common.runAs }} + securityContext: + runAsUser: {{ . }} + {{- end }} + {{- if $.Values.global.imagePullSecret.username }} + imagePullSecrets: + - name: {{ $.Release.Name }}-pull-secret + {{- end }} + restartPolicy: {{ $app.restartPolicy | default "Always" }} + volumes: + - name: server-cm + configMap: + name: {{ $.Release.Name }}-server-cm + - name: jvm-override + configMap: + name: {{ $.Release.Name }}-jvm-override-{{ $name }} + - name: jvm-options-cm + configMap: + name: {{ $.Release.Name }}-jvm-options-cm + - name: messaging-config + configMap: + name: {{ $.Release.Name }}-messaging-config + - name: applications-cm + configMap: + name: {{ $.Release.Name }}-applications-cm + - name: ejb-bindings + configMap: + name: {{ $.Release.Name }}-jms-consumer-bind + - name: dbconn-cm + configMap: + name: {{ $.Release.Name }}-dbconn-cm + - name: log4j-cm + configMap: + name: {{ $.Release.Name }}-log4j-cm + - name: endpoints-cm + configMap: + name: {{ $.Release.Name }}-endpoints-cm + - name: logging-cm + configMap: + name: {{ $.Release.Name }}-logging-cm + - name: transactions-cm + configMap: + name: {{ $.Release.Name }}-transactions-cm + - name: sessions-cm + configMap: + name: {{ $.Release.Name }}-sessions-cm + - name: security-cm + configMap: + name: {{ $.Release.Name }}-jms-consumer-security + - name: ltpa-keys-cm + configMap: + name: {{ $.Release.Name }}-ltpa-keys-cm + {{- if eq $name "curam" }} + - name: customsql-files + configMap: + name: {{ $.Release.Name }}-customsql-cm + - name: bootstrap-file + configMap: + name: {{ $.Release.Name }}-bootstrap-cm + {{- end }} + {{- if or $.Values.global.database.ssl.secretName $.Values.global.mq.tlsSecretName }} + - name: keystore-volume + emptyDir: {} + {{- end }} + {{- if and (eq ($.Values.global.database.type | upper) "DB2") $.Values.global.database.ssl.enabled $.Values.global.database.ssl.secretName }} + - name: db2-cert + secret: + secretName: {{ $.Values.global.database.ssl.secretName }} + {{- end }} + {{- if $.Values.global.mq.tlsSecretName }} + - name: service-certs + secret: + {{- if $.Values.global.mq.useConnectionNameList }} + secretName: {{ $.Values.global.mq.tlsSecretName }} + {{- else }} + secretName: {{ $.Release.Name }}-mq-secret + {{- end }} + {{- end}} + {{- if $.Values.global.apps.common.persistence.enabled }} + - name: {{ $.Release.Name }}-persistence-volume + persistentVolumeClaim: + claimName: {{ $.Release.Name }}-persistence-pvc + {{- end }} + initContainers: + - name: wait-for-database + image: busybox:1.28 + command: + - /bin/sh + - -c + - > + until nslookup {{ include "apps.dbhostname" $ }}; do + echo waiting for {{ include "apps.dbhostname" $ }} to be available...; + sleep 2; + done; + until nc -z -w3 {{ include "apps.dbhostname" $ }} {{ $.Values.global.database.port | default 50000 }}; do + echo waiting for {{ include "apps.dbhostname" $ }}:{{ $.Values.global.database.port | default 50000 }} to be reachable; + sleep 2; + done; + echo waiting {{ $.Values.global.database.initTime | default 120 }} additional seconds...; + sleep {{ $.Values.global.database.initTime | default 120 }}; + {{- if not (hasKey $app "mqConnectionNameList") }} + - name: wait-for-mq + image: busybox:1.28 + command: + - /bin/sh + - -c + - > + until nslookup {{ $.Release.Name }}-mqserver-{{ $name }}; do + echo waiting for {{ $.Release.Name }}-mqserver-{{ $name }} to be available...; + sleep 2; + done + {{- end }} + {{- if and (eq ($.Values.global.database.type | upper) "DB2") $.Values.global.database.ssl.enabled $.Values.global.database.ssl.secretName }} + - name: import-db2-cert + image: ibmjava:8-sdk + env: + - name: certfile + value: /mnt/certificates/{{ $.Values.global.database.ssl.certFile | default "db2admin.arm" }} + - name: keystore_jks + value: /mnt/keystores/db2TrustStore.jks + command: + - /bin/sh + - -c + - keytool -import -trustcacerts -noprompt -file $certfile -keystore $keystore_jks -storepass changeit -storetype jks + volumeMounts: + - name: keystore-volume + mountPath: /mnt/keystores + - name: db2-cert + mountPath: /mnt/certificates + {{- end }} + {{- if $.Values.global.mq.tlsSecretName }} + - name: import-certs-for-mq + image: ibmjava:8-sdk + env: + - name: keyfile + value: /mnt/certificates/tls.key + - name: crtfile + value: /mnt/certificates/tls.crt + - name: keystore_pkcs12 + value: /tmp/tls_keystore.p12 + - name: keystore_jks + value: /mnt/keystores/key.jks + - name: password + value: password + command: + - /bin/sh + - -c + - > + openssl pkcs12 -export -inkey $keyfile -in $crtfile -out $keystore_pkcs12 -password pass:$password; + keytool -importkeystore -noprompt -srckeystore $keystore_pkcs12 -srcstoretype pkcs12 -destkeystore $keystore_jks -storepass $password -srcstorepass $password -srcalias 1 -destalias default; + {{- if $.Values.global.mq.useConnectionNameList }} + keytool -import -trustcacerts -noprompt -alias ibmwebspheremqqm_{{ $.Values.global.mq.objectSuffix | lower }}_{{ $name }} -file $crtfile -keystore $keystore_jks -storepass $password -storetype jks + {{- else }} + keytool -import -trustcacerts -noprompt -alias ibmwebspheremqqm1 -file $crtfile -keystore $keystore_jks -storepass $password -storetype jks + {{- end }} + volumeMounts: + - name: keystore-volume + mountPath: /mnt/keystores + - name: service-certs + mountPath: /mnt/certificates + {{- end }} + - name: wait-for-curam + image: busybox:1.28 + command: + - /bin/sh + - -c + - > + until nslookup {{ include "apps.fullname" $ }}-curam; do + echo waiting for {{ include "apps.fullname" $ }}-curam to be available...; + sleep 2; + done; + until nc -z -w3 {{ include "apps.fullname" $ }}-curam {{ $.Values.global.apps.common.port | default 8443 }}; do + echo waiting for {{ include "apps.fullname" $ }}-curam:{{ $.Values.global.apps.common.port | default 8443 }} to be reachable; + sleep 2; + done; + containers: + - name: {{ $.Chart.Name }}-consumer-{{ $name }} + image: {{ include "apps.imageFullName" $imageData }} + imagePullPolicy: {{ $.Values.global.pullPolicy }} + ports: + - name: client + containerPort: {{ $.Values.global.apps.common.port | default 8443 }} + env: + - name: LICENSE + value: {{ $.Values.global.license }} + - name: EAR_NAME + value: {{ required "earName not specified!" $app.earName }} + - name: WAR_NAME + value: {{ $app.warName | default "ClientModule" }} + - name: SESSION_COOKIE_NAME + {{- if eq $name "curambirtviewer" }} + value: BIRTJSESSIONID + {{- else }} + value: JSESSIONID + {{- end }} + - name: LOG_DIR + value: {{ include "apps.logsDir" $ }} + - name: SYSTEM_USER + value: {{ $.Values.global.apps.common.security.username | default "SYSTEM" }} + - name: SYSTEM_PASSWORD + value: {{ $.Values.global.apps.common.security.password | default "{xor}LCYsLz4sLA==" | quote }} + {{- if $.Values.global.mq.useConnectionNameList }} + - name: MQ_CONN_NAME_LIST + value: {{ $app.mqConnectionNameList }} + - name: MQ_QMGR_NAME + value: QM_{{ $.Values.global.mq.objectSuffix }}_{{ $name }} + - name: MQ_CHANNEL_NAME + value: CHL_{{ $.Values.global.mq.objectSuffix | upper }}_{{ $name | upper }} + {{- else }} + - name: MQ_HOST_NAME + value: {{ $.Release.Name }}-mqserver-{{ $name }} + - name: MQ_QMGR_NAME + value: QM1 + - name: MQ_CHANNEL_NAME + value: MQ_CHN + {{- end }} + {{- if $.Values.global.apps.common.persistence.enabled }} + - name: MOUNT_POINT + value: {{ include "persistence.mountPoint" $ }} + {{- end }} + readinessProbe: + exec: + command: + - /bin/grep + - "Application CuramServerCode started" + - {{ include "apps.logsDir" $ }}/messages.log + initialDelaySeconds: 90 + periodSeconds: 10 + {{- if .resources }} + {{- with .resources }} + resources: + {{- toYaml . | nindent 12 }} + {{- end }} + {{- else }} + {{- with $.Values.global.resources }} + resources: + {{- toYaml . | nindent 12 }} + {{- end }} + {{- end }} + volumeMounts: + - name: server-cm + mountPath: /config/server.xml + subPath: server.xml + - name: jvm-override + mountPath: /config/configDropins/overrides/jvm.options + subPath: jvm.options + - name: jvm-options-cm + mountPath: /config/jvm.options + subPath: jvm.options + - name: messaging-config + mountPath: /config/adc_conf/server_resources_messaging.xml + subPath: server_resources_messaging.xml + - name: applications-cm + mountPath: /config/adc_conf/server_applications.xml + subPath: server_applications.xml + - name: ejb-bindings + mountPath: /config/configDropins/defaults/application_CuramServerCode.xml + subPath: application_CuramServerCode.xml + - name: dbconn-cm + mountPath: /config/adc_conf/server_resources_jdbc.xml + subPath: server_resources_jdbc.xml + - name: log4j-cm + mountPath: /opt/log4j + - name: endpoints-cm + mountPath: /config/adc_conf/server_endpoints.xml + subPath: server_endpoints.xml + - name: logging-cm + mountPath: /config/adc_conf/server_logging.xml + subPath: server_logging.xml + - name: transactions-cm + mountPath: /config/adc_conf/server_resources_tx.xml + subPath: server_resources_tx.xml + - name: sessions-cm + mountPath: /config/adc_conf/sessions_management.xml + subPath: sessions_management.xml + - name: security-cm + mountPath: /config/adc_conf/server_security.xml + subPath: server_security.xml + - name: ltpa-keys-cm + mountPath: /opt/ibm/wlp/output/defaultServer/resources/security/ltpa.keys + subPath: ltpa.keys + {{- if or $.Values.global.database.ssl.secretName $.Values.global.mq.tlsSecretName }} + - name: keystore-volume + mountPath: /output/resources/security + {{- end }} + {{- if $.Values.global.apps.common.persistence.enabled }} + - name: {{ $.Release.Name }}-persistence-volume + mountPath: {{ include "persistence.mountPoint" $ }} + subPath: {{ include "persistence.subDir" $ }} + {{- end }} +{{- end }} +{{- end }} diff --git a/helm-charts/apps/templates/deployment-producer.yaml b/helm-charts/apps/templates/deployment-producer.yaml new file mode 100644 index 00000000..402a3f1a --- /dev/null +++ b/helm-charts/apps/templates/deployment-producer.yaml @@ -0,0 +1,395 @@ +{{- range $name, $app := .Values.global.apps.config }} +{{- if $app.enabled }} +{{- $imageData := dict "ImageConfig" $.Values.global.images "ImageName" $name }} +{{- $batchImageData := dict "ImageConfig" $.Values.global.images "ImageName" "batch" }} +--- +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "apps.fullname" $ }}-{{ $name }}-producer + namespace: {{ $.Release.Namespace }} + labels: +{{ include "apps.labels" $ | indent 4 }} +spec: + replicas: {{ $app.producerReplicaCount | default 1 }} + selector: + matchLabels: + app.kubernetes.io/name: {{ include "apps.fullname" $ }}-{{ $name }}-producer + app.kubernetes.io/instance: {{ $.Release.Name }} + template: + metadata: + labels: + app.kubernetes.io/name: {{ include "apps.fullname" $ }}-{{ $name }}-producer + app.kubernetes.io/instance: {{ $.Release.Name }} + spec: + {{- with $.Values.global.apps.common.runAs }} + securityContext: + runAsUser: {{ . }} + {{- end }} + {{- if $.Values.global.imagePullSecret.username }} + imagePullSecrets: + - name: {{ $.Release.Name }}-pull-secret + {{- end }} + restartPolicy: {{ $app.restartPolicy | default "Always" }} + volumes: + - name: server-cm + configMap: + name: {{ $.Release.Name }}-server-cm + - name: jvm-override + configMap: + name: {{ $.Release.Name }}-jvm-override-{{ $name }} + - name: jvm-options-cm + configMap: + name: {{ $.Release.Name }}-jvm-options-cm + - name: messaging-config + configMap: + name: {{ $.Release.Name }}-messaging-config + - name: applications-cm + configMap: + name: {{ $.Release.Name }}-applications-cm + - name: ejb-bindings + configMap: + name: {{ $.Release.Name }}-jms-producer-bind + - name: dbconn-cm + configMap: + name: {{ $.Release.Name }}-dbconn-cm + - name: log4j-cm + configMap: + name: {{ $.Release.Name }}-log4j-cm + - name: endpoints-cm + configMap: + name: {{ $.Release.Name }}-endpoints-cm + - name: logging-cm + configMap: + name: {{ $.Release.Name }}-logging-cm + - name: transactions-cm + configMap: + name: {{ $.Release.Name }}-transactions-cm + - name: sessions-cm + configMap: + name: {{ $.Release.Name }}-sessions-cm + - name: security-cm + configMap: + name: {{ $.Release.Name }}-jms-producer-security + - name: ltpa-keys-cm + configMap: + name: {{ $.Release.Name }}-ltpa-keys-cm + {{- if eq $name "curam" }} + - name: customsql-files + configMap: + name: {{ $.Release.Name }}-customsql-cm + - name: bootstrap-file + configMap: + name: {{ $.Release.Name }}-bootstrap-cm + {{- end }} + {{- if eq $name "curambirtviewer" }} + - name: birt-bind + configMap: + name: {{ $.Release.Name }}-birt-bind + {{- end }} + {{- if $.Values.global.openldap.enabled }} + - name: openldap-cm + configMap: + name: {{ $.Release.Name }}-openldap-cm + {{- end }} + {{- if or $.Values.global.database.ssl.secretName $.Values.global.mq.tlsSecretName }} + - name: keystore-volume + emptyDir: {} + {{- end }} + {{- if and (eq ($.Values.global.database.type | upper) "DB2") $.Values.global.database.ssl.enabled $.Values.global.database.ssl.secretName }} + - name: db2-cert + secret: + secretName: {{ $.Values.global.database.ssl.secretName }} + {{- end }} + {{- if $.Values.global.mq.tlsSecretName }} + - name: service-certs + secret: + {{- if $.Values.global.mq.useConnectionNameList }} + secretName: {{ $.Values.global.mq.tlsSecretName }} + {{- else }} + secretName: {{ $.Release.Name }}-mq-secret + {{- end }} + {{- end}} + {{- if $.Values.global.apps.common.persistence.enabled }} + - name: {{ $.Release.Name }}-persistence-volume + persistentVolumeClaim: + claimName: {{ $.Release.Name }}-persistence-pvc + {{- end }} + initContainers: + - name: wait-for-database + image: busybox:1.28 + command: + - /bin/sh + - -c + - > + until nslookup {{ include "apps.dbhostname" $ }}; do + echo waiting for {{ include "apps.dbhostname" $ }} to be available...; + sleep 2; + done; + until nc -z -w3 {{ include "apps.dbhostname" $ }} {{ $.Values.global.database.port | default 50000 }}; do + echo waiting for {{ include "apps.dbhostname" $ }}:{{ $.Values.global.database.port | default 50000 }} to be reachable; + sleep 2; + done; + echo waiting {{ $.Values.global.database.initTime | default 120 }} additional seconds...; + sleep {{ $.Values.global.database.initTime | default 120 }}; + {{- if not (hasKey $app "mqConnectionNameList") }} + - name: wait-for-mq + image: busybox:1.28 + command: + - /bin/sh + - -c + - > + until nslookup {{ $.Release.Name }}-mqserver-{{ $name }}; do + echo waiting for {{ $.Release.Name }}-mqserver-{{ $name }} to be available...; + sleep 2; + done + {{- end }} + {{- if and (eq ($.Values.global.database.type | upper) "DB2") $.Values.global.database.ssl.enabled $.Values.global.database.ssl.secretName }} + - name: import-db2-cert + image: ibmjava:8-sdk + env: + - name: certfile + value: /mnt/certificates/{{ $.Values.global.database.ssl.certFile | default "db2admin.arm" }} + - name: keystore_jks + value: /mnt/keystores/db2TrustStore.jks + command: + - /bin/sh + - -c + - keytool -import -trustcacerts -noprompt -file $certfile -keystore $keystore_jks -storepass changeit -storetype jks + volumeMounts: + - name: keystore-volume + mountPath: /mnt/keystores + - name: db2-cert + mountPath: /mnt/certificates + {{- end }} + {{- if $.Values.global.mq.tlsSecretName }} + - name: import-certs-for-mq + image: ibmjava:8-sdk + env: + - name: keyfile + value: /mnt/certificates/tls.key + - name: crtfile + value: /mnt/certificates/tls.crt + - name: keystore_pkcs12 + value: /tmp/tls_keystore.p12 + - name: keystore_jks + value: /mnt/keystores/key.jks + - name: password + value: password + command: + - /bin/sh + - -c + - > + openssl pkcs12 -export -inkey $keyfile -in $crtfile -out $keystore_pkcs12 -password pass:$password; + keytool -importkeystore -noprompt -srckeystore $keystore_pkcs12 -srcstoretype pkcs12 -destkeystore $keystore_jks -storepass $password -srcstorepass $password -srcalias 1 -destalias default; + {{- if $.Values.global.mq.useConnectionNameList }} + keytool -import -trustcacerts -noprompt -alias ibmwebspheremqqm_{{ $.Values.global.mq.objectSuffix | lower }}_{{ $name }} -file $crtfile -keystore $keystore_jks -storepass $password -storetype jks + {{- else }} + keytool -import -trustcacerts -noprompt -alias ibmwebspheremqqm1 -file $crtfile -keystore $keystore_jks -storepass $password -storetype jks + {{- end }} + volumeMounts: + - name: keystore-volume + mountPath: /mnt/keystores + - name: service-certs + mountPath: /mnt/certificates + {{- end }} + {{- if eq $name "curam" }} + - name: apply-customsql + image: {{ include "apps.imageFullName" $batchImageData }} + imagePullPolicy: {{ $.Values.global.pullPolicy }} + args: + - -f + - /opt/ibm/Curam/release/CuramSDEJ/util/loadsql.xml + - -Dsql.resource=/mnt/customsql/ + volumeMounts: + - name: customsql-files + mountPath: /mnt/customsql + - name: bootstrap-file + mountPath: /opt/ibm/Curam/release/project/properties/Bootstrap.properties + subPath: Bootstrap.properties + {{- if and (eq ($.Values.global.database.type | upper) "DB2") $.Values.global.database.ssl.enabled $.Values.global.database.ssl.secretName }} + - name: keystore-volume + mountPath: /mnt/keystores + {{- end }} + {{- end }} + {{- if ne $name "curam" }} + - name: wait-for-curam + image: busybox:1.28 + command: + - /bin/sh + - -c + - > + until nslookup {{ include "apps.fullname" $ }}-curam; do + echo waiting for {{ include "apps.fullname" $ }}-curam to be available...; + sleep 2; + done; + until nc -z -w3 {{ include "apps.fullname" $ }}-curam {{ $.Values.global.apps.common.port | default 8443 }}; do + echo waiting for {{ include "apps.fullname" $ }}-curam:{{ $.Values.global.apps.common.port | default 8443 }} to be reachable; + sleep 2; + done; + {{- end }} + containers: + - name: {{ $.Chart.Name }}-producer-{{ $name }} + image: {{ include "apps.imageFullName" $imageData }} + imagePullPolicy: {{ $.Values.global.pullPolicy }} + ports: + - name: client + containerPort: {{ $.Values.global.apps.common.port | default 8443 }} + env: + - name: LICENSE + value: {{ $.Values.global.license }} + - name: EAR_NAME + value: {{ required "earName not specified!" $app.earName }} + - name: WAR_NAME + value: {{ $app.warName | default "ClientModule" }} + - name: SESSION_COOKIE_NAME + {{- if eq $name "curambirtviewer" }} + value: BIRTJSESSIONID + {{- else }} + value: JSESSIONID + {{- end }} + - name: LOG_DIR + value: {{ include "apps.logsDir" $ }} + - name: SYSTEM_USER + value: {{ $.Values.global.apps.common.security.username | default "SYSTEM" }} + - name: SYSTEM_PASSWORD + value: {{ $.Values.global.apps.common.security.password | default "{xor}LCYsLz4sLA==" | quote }} + {{- if $.Values.global.mq.useConnectionNameList }} + - name: MQ_CONN_NAME_LIST + value: {{ $app.mqConnectionNameList }} + - name: MQ_QMGR_NAME + value: QM_{{ $.Values.global.mq.objectSuffix }}_{{ $name }} + - name: MQ_CHANNEL_NAME + value: CHL_{{ $.Values.global.mq.objectSuffix | upper }}_{{ $name | upper }} + {{- else }} + - name: MQ_HOST_NAME + value: {{ $.Release.Name }}-mqserver-{{ $name }} + - name: MQ_QMGR_NAME + value: QM1 + - name: MQ_CHANNEL_NAME + value: MQ_CHN + {{- end }} + {{- if $.Values.global.apps.common.persistence.enabled }} + - name: MOUNT_POINT + value: {{ include "persistence.mountPoint" $ }} + {{- end }} + {{- with .readinessPath }} + readinessProbe: + httpGet: + path: {{ . }} + port: client + scheme: HTTPS + initialDelaySeconds: {{ $.Values.global.apps.common.initialDelaySeconds | default 300 }} + periodSeconds: 10 + {{- end }} + {{- if .readinessTCPProbe }} + readinessProbe: + tcpSocket: + port: client + initialDelaySeconds: 90 + periodSeconds: 10 + {{- end }} + {{- if .readinessString }} + readinessProbe: + exec: + command: + - /bin/grep + - {{ .readinessString | quote }} + - {{ include "apps.logsDir" $ }}/messages.log + initialDelaySeconds: 90 + periodSeconds: 10 + {{- end }} + {{- if .resources }} + {{- with .resources }} + resources: + {{- toYaml . | nindent 12 }} + {{- end }} + {{- else }} + {{- with $.Values.global.resources }} + resources: + {{- toYaml . | nindent 12 }} + {{- end }} + {{- end }} + volumeMounts: + - name: server-cm + mountPath: /config/server.xml + subPath: server.xml + - name: jvm-override + mountPath: /config/configDropins/overrides/jvm.options + subPath: jvm.options + - name: jvm-options-cm + mountPath: /config/jvm.options + subPath: jvm.options + - name: messaging-config + mountPath: /config/adc_conf/server_resources_messaging.xml + subPath: server_resources_messaging.xml + - name: applications-cm + mountPath: /config/adc_conf/server_applications.xml + subPath: server_applications.xml + - name: ejb-bindings + mountPath: /config/configDropins/defaults/application_CuramServerCode.xml + subPath: application_CuramServerCode.xml + {{- if eq $name "curambirtviewer" }} + - name: birt-bind + mountPath: /config/configDropins/defaults/application_CuramBIRTViewer.xml + subPath: application_CuramBIRTViewer.xml + {{- else }} + - name: ejb-bindings + mountPath: /config/configDropins/defaults/application_ClientCode.xml + subPath: application_ClientCode.xml + {{- end }} + - name: dbconn-cm + mountPath: /config/adc_conf/server_resources_jdbc.xml + subPath: server_resources_jdbc.xml + - name: log4j-cm + mountPath: /opt/log4j + - name: endpoints-cm + mountPath: /config/adc_conf/server_endpoints.xml + subPath: server_endpoints.xml + - name: logging-cm + mountPath: /config/adc_conf/server_logging.xml + subPath: server_logging.xml + - name: transactions-cm + mountPath: /config/adc_conf/server_resources_tx.xml + subPath: server_resources_tx.xml + - name: sessions-cm + mountPath: /config/adc_conf/sessions_management.xml + subPath: sessions_management.xml + - name: security-cm + mountPath: /config/adc_conf/server_security.xml + subPath: server_security.xml + - name: ltpa-keys-cm + mountPath: /opt/ibm/wlp/output/defaultServer/resources/security/ltpa.keys + subPath: ltpa.keys + {{- if $.Values.global.openldap.enabled }} + - name: openldap-cm + mountPath: /config/configDropins/overrides/server_openldap.xml + subPath: server_openldap.xml + {{- end }} + {{- if or $.Values.global.database.ssl.secretName $.Values.global.mq.tlsSecretName }} + - name: keystore-volume + mountPath: /output/resources/security + {{- end }} + {{- if $.Values.global.apps.common.persistence.enabled }} + - name: {{ $.Release.Name }}-persistence-volume + mountPath: {{ include "persistence.mountPoint" $ }} + subPath: {{ include "persistence.subDir" $ }} + {{- end }} +{{- end }} +{{- end }} diff --git a/helm-charts/apps/templates/deployment.yaml b/helm-charts/apps/templates/deployment.yaml deleted file mode 100644 index fe634fbe..00000000 --- a/helm-charts/apps/templates/deployment.yaml +++ /dev/null @@ -1,245 +0,0 @@ -{{- range $name, $app := .Values.global.apps.config }} -{{- if $app.enabled }} ---- -############################################################################### -# Copyright 2019 IBM Corporation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -############################################################################### - -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "apps.fullname" $ }}-{{ $name }} - namespace: {{ $.Release.Namespace }} - labels: -{{ include "apps.labels" $ | indent 4 }} -spec: - replicas: {{ $app.replicaCount | default 1 }} - selector: - matchLabels: - app.kubernetes.io/name: {{ include "apps.fullname" $ }}-{{ $name }} - app.kubernetes.io/instance: {{ $.Release.Name }} - template: - metadata: - labels: - app.kubernetes.io/name: {{ include "apps.fullname" $ }}-{{ $name }} - app.kubernetes.io/instance: {{ $.Release.Name }} - spec: - {{- with $.Values.global.apps.common.runAs }} - securityContext: - runAsUser: {{ . }} - {{- end }} - {{- if $.Values.global.imagePullSecret.username }} - imagePullSecrets: - - name: {{ $.Release.Name }}-pull-secret - {{- end }} - restartPolicy: {{ $app.restartPolicy | default "Always" }} - volumes: - - name: messaging-config - configMap: - name: {{ $.Release.Name }}-messaging-config - {{- if eq $name "curam" }} - - name: load-custom-sql - configMap: - name: {{ $.Release.Name }}-customsql - - name: bootstrap-file - configMap: - name: {{ $.Release.Name }}-bootstrap-cm - {{- end }} - {{- if or $.Values.global.database.ssl.secretName $.Values.tls.secretName }} - - name: keystore-volume - emptyDir: {} - {{- end }} - {{- if and (eq ($.Values.global.database.type | upper) "DB2") $.Values.global.database.ssl.enabled $.Values.global.database.ssl.secretName }} - - name: db2-cert - secret: - secretName: {{ $.Values.global.database.ssl.secretName }} - {{- end }} - {{- if $.Values.tls.secretName }} - - name: service-certs - secret: - secretName: {{ $.Release.Name }}-{{ $.Values.tls.secretName }} - {{- end}} - {{- with $.Values.global.apps.common.volumes }} - {{- range . }} - - name: {{ .name }} - configMap: - name: {{ $.Release.Name }}-{{ .name }} - {{- end -}} - {{- end }} - initContainers: - - name: wait-for-database - image: busybox:1.28 - command: - - /bin/sh - - -c - - > - until nslookup {{ include "apps.dbhostname" $ }}; do - echo waiting for {{ include "apps.dbhostname" $ }} to be available...; - sleep 2; - done; - echo waiting {{ $.Values.global.database.initTime | default 120 }} additional seconds...; - sleep {{ $.Values.global.database.initTime | default 120 }}; - - name: wait-for-mq - image: busybox:1.28 - command: - - /bin/sh - - -c - - > - until nslookup {{ $.Release.Name }}-mqserver-{{ $name }}; do - echo waiting for {{ $.Release.Name }}-mqserver-{{ $name }} to be available...; - sleep 2; - done - {{- if and (eq ($.Values.global.database.type | upper) "DB2") $.Values.global.database.ssl.enabled $.Values.global.database.ssl.secretName }} - - name: import-db2-cert - image: ibmjava:8-sdk - env: - - name: certfile - value: /mnt/certificates/{{ $.Values.global.database.ssl.certFile | default "db2admin.arm" }} - - name: keystore_jks - value: /mnt/keystores/db2TrustStore.jks - command: - - /bin/sh - - -c - - keytool -import -trustcacerts -noprompt -file $certfile -keystore $keystore_jks -storepass changeit -storetype jks - volumeMounts: - - name: keystore-volume - mountPath: /mnt/keystores - - name: db2-cert - mountPath: /mnt/certificates - {{- end }} - {{- if $.Values.tls.secretName }} - - name: import-certs-for-mq - image: ibmjava:8-sdk - env: - - name: keyfile - value: /mnt/certificates/tls.key - - name: crtfile - value: /mnt/certificates/tls.crt - - name: keystore_pkcs12 - value: /tmp/tls_keystore.p12 - - name: keystore_jks - value: /mnt/keystores/key.jks - - name: password - value: password - command: - - /bin/sh - - -c - - > - openssl pkcs12 -export -inkey $keyfile -in $crtfile -out $keystore_pkcs12 -password pass:$password; - keytool -importkeystore -noprompt -srckeystore $keystore_pkcs12 -srcstoretype pkcs12 -destkeystore $keystore_jks -storepass $password -srcstorepass $password -srcalias 1 -destalias default; - keytool -import -trustcacerts -noprompt -alias ibmwebspheremqqm1 -file $crtfile -keystore $keystore_jks -storepass $password -storetype jks - volumeMounts: - - name: keystore-volume - mountPath: /mnt/keystores - - name: service-certs - mountPath: /mnt/certificates - {{- end }} - {{- if eq $name "curam" }} - - name: update-database-with-customsql - image: {{ $.Values.global.images.registry }}/batch:latest - imagePullPolicy: {{ $.Values.global.pullPolicy }} - args: - - -f - - /opt/ibm/Curam/release/CuramSDEJ/util/loadsql.xml - - -Dsql.resource=/mnt/loadsql - volumeMounts: - - name: load-custom-sql - mountPath: /mnt/loadsql - - name: bootstrap-file - mountPath: /opt/ibm/Curam/release/project/properties/Bootstrap.properties - subPath: Bootstrap.properties - {{- if and (eq ($.Values.global.database.type | upper) "DB2") $.Values.global.database.ssl.enabled $.Values.global.database.ssl.secretName }} - - name: keystore-volume - mountPath: /mnt/keystores - {{- end }} - {{- end }} - {{- if ne $name "curam" }} - - name: wait-for-curam - image: busybox:1.28 - command: - - /bin/sh - - -c - - > - until nslookup {{ include "apps.fullname" $ }}-curam; do - echo waiting for {{ include "apps.fullname" $ }}-curam to be available...; - sleep 2; - done - until nc -z -w3 {{ include "apps.fullname" $ }}-curam {{ $.Values.global.apps.common.port | default 8443 }}; do - echo waiting for {{ include "apps.fullname" $ }}-curam:{{ $.Values.global.apps.common.port | default 8443 }} to be reachable...; - sleep 2; - done; - {{- end }} - containers: - - name: {{ $.Chart.Name }} - image: {{ $.Values.global.images.registry }}/{{ $name }}:latest - imagePullPolicy: {{ $.Values.global.pullPolicy }} - ports: - - name: client - containerPort: {{ $.Values.global.apps.common.port | default 8443 }} - env: - - name: MQ_SERVICE_NAME - value: {{ $.Release.Name }}-mqserver-{{ $name }} - {{- with $.Values.global.apps.common.environment }} - {{- toYaml . | nindent 12 }} - {{- end }} - {{- with .readinessPath }} - readinessProbe: - httpGet: - path: {{ . }} - port: client - scheme: HTTPS - initialDelaySeconds: 60 - periodSeconds: 10 - {{- end }} - {{- if .readinessExec }} - readinessProbe: - exec: - command: - {{- range .readinessExec }} - - {{ . }} - {{- end }} - initialDelaySeconds: 90 - periodSeconds: 10 - {{- end }} - {{- if .resources }} - {{- with .resources }} - resources: - {{- toYaml . | nindent 12 }} - {{- end }} - {{- else }} - {{- with $.Values.global.resources }} - resources: - {{- toYaml . | nindent 12 }} - {{- end }} - {{- end }} - volumeMounts: - - name: messaging-config - mountPath: /config/adc_conf/server_resources_messaging.xml - subPath: server_resources_messaging.xml - {{- if or $.Values.global.database.ssl.secretName $.Values.tls.secretName }} - - name: keystore-volume - mountPath: /output/resources/security - {{- end }} - {{- with $.Values.global.apps.common.volumes }} - {{- range . }} - - name: {{ .name }} - mountPath: {{ .mountPath }} - {{- with .subPath }} - subPath: {{ . }} - {{- end }} - {{- end -}} - {{- end }} -{{- end }} -{{- end }} diff --git a/helm-charts/apps/templates/service.yaml b/helm-charts/apps/templates/service.yaml index e7190ebd..889db3e1 100644 --- a/helm-charts/apps/templates/service.yaml +++ b/helm-charts/apps/templates/service.yaml @@ -2,7 +2,7 @@ {{- if $app.enabled }} --- ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -30,7 +30,7 @@ spec: - port: {{ $.Values.global.apps.common.port | default 8443 }} targetPort: client selector: - app.kubernetes.io/name: {{ include "apps.fullname" $ }}-{{ $name }} + app.kubernetes.io/name: {{ include "apps.fullname" $ }}-{{ $name }}-producer app.kubernetes.io/instance: {{ $.Release.Name }} {{- end }} {{- end }} diff --git a/helm-charts/apps/values.yaml b/helm-charts/apps/values.yaml index 1c62a5c0..6ef7b02d 100644 --- a/helm-charts/apps/values.yaml +++ b/helm-charts/apps/values.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,60 +15,234 @@ ############################################################################### global: + # Set to 'accept' to accept the license terms of WebSphere Liberty and WebSphere MQ + license: '' images: - registry: &imageRegistry minikube.local:5000 + registry: &imageRegistry us.icr.io + imageLibrary: '' + imagePrefix: '' + imageTag: latest pullPolicy: Always imagePullSecret: registry: *imageRegistry + database: + ## Database connection configuration + # The property wlp_psw: contains the XOR password injected in the Liberty configuration + # The property spm_psw: contains the encrypted password injected in Bootstrap.properties + type: db2 + port: 50000 + dbName: DATABASE + username: db2admin + initTime: 120 + ssl: {} + resources: + limits: + cpu: 2 + memory: 6Gi + requests: + cpu: 2 + memory: 6Gi xmlserver: port: 1800 apps: common: runAs: 1001 port: 8443 - serviceType: NodePort - volumes: - - name: dbconn-cm - mountPath: /config/adc_conf/server_resources_jdbc.xml - subPath: server_resources_jdbc.xml - - name: log4j-cm - mountPath: /opt/log4j - - name: endpoints-cm - mountPath: /config/adc_conf/server_endpoints.xml - subPath: server_endpoints.xml - - name: logging-cm - mountPath: /config/adc_conf/server_logging.xml - subPath: server_logging.xml - - name: server-cm - mountPath: /config/server.xml - subPath: server.xml + initialDelaySeconds: 300 + security: {} + persistence: + ## Persistence volume to store data (such as non-log files) + enabled: false + ## If enabled, creates a PVC to connect to IBM Cloud Object Storage + ## Properties secretKey, accessKey, instanceId, and bucketName are required + ## Values available in the WebUI where the bucket was pre-created + # secretKey: "" + # accessKey: "" + # instanceId: "" + # bucketName: "" + # mountPoint: "/tmp/persistence" + # subDir: "/folder/name" + jmxstats: + ## Parameters of the JMX Stats to be persisted on the PVC + # The property timerPeriod sets the value curam.jmx.output_statistics_timer_period in milliseconds + enabled: false + timerPeriod: 60000 config: curam: enabled: true readinessPath: /Curam ingressPath: /Curam + earName: Curam + jvm: + - "-Xms2048m" + - "-Xmx2048m" resources: + requests: + cpu: 1 + memory: 2.5Gi limits: - cpu: 4 - memory: 4Gi + cpu: 1.5 + memory: 3Gi + rest: + enabled: true + ingressPath: /Rest + earName: Rest + warName: RestModule + jvm: + - "-Xms1536m" + - "-Xmx1536m" + resources: requests: - cpu: 4 - memory: 4Gi - database: - type: "db2" - hostname: "dbhostname" - dbName: "DATABASE" - serviceName: "" - username: "db2admin" - password: "db2admin" - spm_psw: "spmEncryptedDBPassword" - wlp_psw: "xorEncodedDBPassword" - ssl: - enabled: false - secretName: 'secretName' - -tls: - secretName: mq-secret + cpu: 0.75 + memory: 1.5Gi + limits: + cpu: 1.5 + memory: 2Gi + readinessString: "application available .*/Rest" + citizenportal: + enabled: false + readinessPath: /CitizenPortal + ingressPath: /CitizenPortal + earName: CitizenPortal + jvm: + - "-Xms2048m" + - "-Xmx2048m" + resources: + requests: + cpu: 1 + memory: 2.5Gi + limits: + cpu: 1.5 + memory: 3Gi + curamwebservices: + enabled: false + readinessPath: /CuramWS2/SOAPMonitor + ingressPath: /CuramWS2 + earName: CuramWebServices + warName: webservices2 + jvm: + - "-Xms512m" + - "-Xmx512m" + resources: + requests: + cpu: 0.5 + memory: 768Mi + limits: + cpu: 0.75 + memory: 1Gi + curambirtviewer: + enabled: false + readinessTCPProbe: true + ingressPath: /CuramBIRTViewer + earName: CuramBIRTViewer + producerOnly: true + jvm: + - "-Xms768m" + - "-Xmx768m" + resources: + requests: + cpu: 0.5 + memory: 1Gi + limits: + cpu: 0.75 + memory: 1.5Gi + cpmexternalns: + enabled: false + readinessPath: /CPMExternalNS + ingressPath: /CPMExternalNS + earName: CPMExternalNS + jvm: + - "-Xms512m" + - "-Xmx512m" + resources: + requests: + cpu: 0.5 + memory: 768Mi + limits: + cpu: 0.75 + memory: 1Gi + cpmexternals: + enabled: false + readinessPath: /CPMExternalS + ingressPath: /CPMExternalS + earName: CPMExternalS + jvm: + - "-Xms512m" + - "-Xmx512m" + resources: + requests: + cpu: 0.5 + memory: 768Mi + limits: + cpu: 0.75 + memory: 1Gi + navigatorns: + enabled: false + readinessPath: /NavigatorNS + ingressPath: /NavigatorNS + earName: NavigatorNS + jvm: + - "-Xms512m" + - "-Xmx512m" + resources: + requests: + cpu: 0.5 + memory: 768Mi + limits: + cpu: 0.75 + memory: 1Gi + navigators: + enabled: false + readinessPath: /NavigatorS + ingressPath: /NavigatorS + earName: NavigatorS + jvm: + - "-Xms512m" + - "-Xmx512m" + resources: + requests: + cpu: 0.5 + memory: 768Mi + limits: + cpu: 0.75 + memory: 1Gi + mdtworkspace: + enabled: false + readinessPath: /MDTWorkspace + ingressPath: /MDTWorkspace + earName: MDTWorkspace + jvm: + - "-Xms512m" + - "-Xmx512m" + resources: + requests: + cpu: 0.5 + memory: 768Mi + limits: + cpu: 0.75 + memory: 1Gi + samplepublicaccess: + enabled: false + readinessPath: /SamplePublicAccess + ingressPath: /SamplePublicAccess + earName: SamplePublicAccess + jvm: + - "-Xms512m" + - "-Xmx512m" + resources: + requests: + cpu: 0.5 + memory: 768Mi + limits: + cpu: 0.75 + memory: 1Gi + openldap: + enabled: + false + mq: + useConnectionNameList: false + objectSuffix: minikube + tlsSecretName: mq-secret nameOverride: "" fullnameOverride: "" diff --git a/helm-charts/batch/Chart.yaml b/helm-charts/batch/Chart.yaml index 49852bc3..516836c9 100644 --- a/helm-charts/batch/Chart.yaml +++ b/helm-charts/batch/Chart.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -16,17 +16,15 @@ apiVersion: v1 name: batch description: Batch Chart for SPM Batch within a Kubernetes Cluster +version: 1.1.1 maintainers: - name: Cúram SPM Dev Team - url: https://github.com/IBM/spm-containerization + url: https://github.com/IBM/spm-kubernetes sources: - - https://github.com/IBM/spm-containerization -version: 1.1.0 + - https://github.com/IBM/spm-kubernetes keywords: - Liberty - - runtime - - microservices - - ICP + - Minikube - IKS - Curam - SPM diff --git a/helm-charts/batch/templates/_helpers.tpl b/helm-charts/batch/templates/_helpers.tpl index 9b3546d4..551f58eb 100644 --- a/helm-charts/batch/templates/_helpers.tpl +++ b/helm-charts/batch/templates/_helpers.tpl @@ -1,5 +1,5 @@ {{/* -Copyright 2019 IBM Corporation +Copyright 2019,2020 IBM Corporation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -47,6 +47,20 @@ Create chart name and version as used by the chart label. {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} {{- end -}} +{{/* +Build up full image path +*/}} +{{- define "batch.imageFullName" -}} +{{- .registry -}}/ +{{- if .imageLibrary -}} +{{- .imageLibrary -}}/ +{{- end -}} +{{- if .imagePrefix -}} +{{- .imagePrefix -}} +{{- end -}} +batch:{{- .imageTag -}} +{{- end -}} + {{/* Common labels */}} diff --git a/helm-charts/batch/templates/cronjob.yaml b/helm-charts/batch/templates/cronjob.yaml index 66ca45b2..9c5b84db 100644 --- a/helm-charts/batch/templates/cronjob.yaml +++ b/helm-charts/batch/templates/cronjob.yaml @@ -1,5 +1,6 @@ +--- ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,7 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. ############################################################################### ---- + apiVersion: batch/v1beta1 kind: CronJob metadata: @@ -22,11 +23,13 @@ metadata: labels: {{ include "batch.labels" . | indent 4 }} spec: - schedule: "{{ .Values.batch.schedule }}" - successfulJobsHistoryLimit: {{ .Values.batch.successfulJobsHistoryLimit }} + schedule: "{{ .Values.global.batch.schedule }}" + successfulJobsHistoryLimit: {{ .Values.global.batch.successfulJobsHistoryLimit }} jobTemplate: spec: - backoffLimit: {{ .Values.batch.backoffLimit }} + backoffLimit: {{ .Values.global.batch.backoffLimit }} + # Disabled until TTLAfterFinished feature graduates from 'alpha' status + # ttlSecondsAfterFinished: {{ .Values.global.batch.ttlSecondsAfterFinished }} template: spec: {{- if .Values.global.imagePullSecret.username }} @@ -63,14 +66,27 @@ spec: {{- end }} containers: - name: running-batch - image: {{ .Values.global.images.registry }}/batch:latest + image: {{ include "batch.imageFullName" $.Values.global.images }} imagePullPolicy: {{ .Values.global.images.pullPolicy }} command: - build.sh - runbatch - {{- with .Values.batch.programName }} + {{- if or $.Values.global.batch.programName $.Values.global.batch.javaMetrics}} args: + {{- end }} + {{- with $.Values.global.batch.programName }} - -Dbatch.program={{ . }} + {{- with $.Values.global.batch.programParameters}} + - -Dbatch.parameters={{ . }} + {{- end }} + {{- end }} + {{- if $.Values.global.batch.javaMetrics}} + - {{ $.Values.global.batch.javaMetrics.timer}} + - {{ $.Values.global.batch.javaMetrics.timerFolder}} + - {{ $.Values.global.batch.javaMetrics.timerPeriod}} + env: + - name: ANT_OPTS + value: {{ $.Values.global.batch.javaMetrics.antOpts }} {{- end }} volumeMounts: - name: bootstrap-file diff --git a/helm-charts/batch/values.yaml b/helm-charts/batch/values.yaml index ecad2770..906a10fa 100644 --- a/helm-charts/batch/values.yaml +++ b/helm-charts/batch/values.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,31 +14,36 @@ # limitations under the License. ############################################################################### +# Default values for fat-spm. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + global: images: - registry: &imageRegistry minikube.local:5000 + registry: &imageRegistry us.icr.io + imageLibrary: '' + imagePrefix: '' + imageTag: latest pullPolicy: IfNotPresent database: - type: "db2" - hostname: "db2hostname" - dbName: "DATABASE" - username: "db2admin" - password: "db2admin" - spm_psw: "spmEncryptedDBPassword" - wlp_psw: "xorEncodedDBPassword" - ssl: - enabled: false - secretName: 'secretName' + type: db2 + ssl: {} imagePullSecret: registry: *imageRegistry -batch: - schedule: "*/15 * * * *" - successfulJobsHistoryLimit: 3 - ttlSecondsAfterFinished: 60 - backoffLimit: 5 - # programName: curam.healthcare.sl.intf.BulkICReassessment.process - programName: "" - -nameOverride: "" -fullnameOverride: "" + batch: + schedule: "*/30 * * * *" + successfulJobsHistoryLimit: 3 + ttlSecondsAfterFinished: 60 + backoffLimit: 5 + # programName could be used to call a specific batch program, example: + # programName: curam.healthcare.sl.intf.BulkICReassessment.process + # programParameters can be used to include additional parameters, example: + # programParameters: '"evidenceMigrationDetails=CASE|DET0026071;DET0026027|CT26301"' + programName: "" + programParameters: "" + # javaMetrics: + # antOpts: "-Xgcpolicy:gencon -Xverbosegclog:/tmp/GCLogs_chunker.log" + # timer: "-Dcuram.jmx.output_statistics_timer_enabled=true" + # timerFolder: "-Dcuram.jmx.output_statistics_timer_folder=/tmp" + # timerPeriod: "-Dcuram.jmx.output_statistics_timer_period=60000" diff --git a/helm-charts/ce-app/.helmignore b/helm-charts/ce-app/.helmignore new file mode 100644 index 00000000..50af0317 --- /dev/null +++ b/helm-charts/ce-app/.helmignore @@ -0,0 +1,22 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/helm-charts/ce-app/Chart.yaml b/helm-charts/ce-app/Chart.yaml new file mode 100644 index 00000000..b8caf159 --- /dev/null +++ b/helm-charts/ce-app/Chart.yaml @@ -0,0 +1,34 @@ +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +apiVersion: v1 +name: ce-app +description: Helm Chart for deploying the Universal Access React application +version: 1.0.0 +maintainers: + - name: Cúram SPM Dev Team + url: https://github.com/IBM/spm-kubernetes +sources: + - https://github.com/IBM/spm-kubernetes +keywords: + - Liberty + - Minikube + - IKS + - Curam + - SPM + - React +home: https://www.ibm.com/watson-health/solutions/social-program-management +icon: https://avatars2.githubusercontent.com/u/1459110 diff --git a/helm-charts/ce-app/LICENSE b/helm-charts/ce-app/LICENSE new file mode 100644 index 00000000..cd482d89 --- /dev/null +++ b/helm-charts/ce-app/LICENSE @@ -0,0 +1,201 @@ +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by +the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all +other entities that control, are controlled by, or are under common +control with that entity. For the purposes of this definition, +"control" means (i) the power, direct or indirect, to cause the +direction or management of such entity, whether by contract or +otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity +exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation +source, and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but +not limited to compiled object code, generated documentation, +and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or +Object form, made available under the License, as indicated by a +copyright notice that is included in or attached to the work +(an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object +form, that is based on (or derived from) the Work and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. For the purposes +of this License, Derivative Works shall not include works that remain +separable from, or merely link (or bind by name) to the interfaces of, +the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including +the original version of the Work and any modifications or additions +to that Work or Derivative Works thereof, that is intentionally +submitted to Licensor for inclusion in the Work by the copyright owner +or by an individual or Legal Entity authorized to submit on behalf of +the copyright owner. For the purposes of this definition, "submitted" +means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, +and issue tracking systems that are managed by, or on behalf of, the +Licensor for the purpose of discussing and improving the Work, but +excluding communication that is conspicuously marked or otherwise +designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the +Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +(except as stated in this section) patent license to make, have made, +use, offer to sell, sell, import, and otherwise transfer the Work, +where such license applies only to those patent claims licensable +by such Contributor that are necessarily infringed by their +Contribution(s) alone or by combination of their Contribution(s) +with the Work to which such Contribution(s) was submitted. If You +institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work +or a Contribution incorporated within the Work constitutes direct +or contributory patent infringement, then any patent licenses +granted to You under this License for that Work shall terminate +as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the +Work or Derivative Works thereof in any medium, with or without +modifications, and in Source or Object form, provided that You +meet the following conditions: + +(a) You must give any other recipients of the Work or +Derivative Works a copy of this License; and + +(b) You must cause any modified files to carry prominent notices +stating that You changed the files; and + +(c) You must retain, in the Source form of any Derivative Works +that You distribute, all copyright, patent, trademark, and +attribution notices from the Source form of the Work, +excluding those notices that do not pertain to any part of +the Derivative Works; and + +(d) If the Work includes a "NOTICE" text file as part of its +distribution, then any Derivative Works that You distribute must +include a readable copy of the attribution notices contained +within such NOTICE file, excluding those notices that do not +pertain to any part of the Derivative Works, in at least one +of the following places: within a NOTICE text file distributed +as part of the Derivative Works; within the Source form or +documentation, if provided along with the Derivative Works; or, +within a display generated by the Derivative Works, if and +wherever such third-party notices normally appear. The contents +of the NOTICE file are for informational purposes only and +do not modify the License. You may add Your own attribution +notices within Derivative Works that You distribute, alongside +or as an addendum to the NOTICE text from the Work, provided +that such additional attribution notices cannot be construed +as modifying the License. + +You may add Your own copyright statement to Your modifications and +may provide additional or different license terms and conditions +for use, reproduction, or distribution of Your modifications, or +for any such Derivative Works as a whole, provided Your use, +reproduction, and distribution of the Work otherwise complies with +the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work +by You to the Licensor shall be under the terms and conditions of +this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify +the terms of any separate license agreement you may have executed +with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or +agreed to in writing, Licensor provides the Work (and each +Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied, including, without limitation, any warranties or conditions +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any +risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, +unless required by applicable law (such as deliberate and grossly +negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, +incidental, or consequential damages of any character arising as a +result of this License or out of the use or inability to use the +Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all +other commercial damages or losses), even if such Contributor +has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, +and charge a fee for, acceptance of support, warranty, indemnity, +or other liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only +on Your own behalf and on Your sole responsibility, not on behalf +of any other Contributor, and only if You agree to indemnify, +defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason +of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + +To apply the Apache License to your work, attach the following +boilerplate notice, with the fields enclosed by brackets "[]" +replaced with your own identifying information. (Don't include +the brackets!) The text should be enclosed in the appropriate +comment syntax for the file format. We also recommend that a +file or class name and description of purpose be included on the +same "printed page" as the copyright notice for easier +identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/helm-charts/ce-app/templates/_helpers.tpl b/helm-charts/ce-app/templates/_helpers.tpl new file mode 100644 index 00000000..0b739dee --- /dev/null +++ b/helm-charts/ce-app/templates/_helpers.tpl @@ -0,0 +1,101 @@ +{{/* +Copyright 2019,2020 IBM Corporation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/}} + +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "ce-app.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "ce-app.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "ce-app.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create the image pull secret +*/}} +{{- define "imagePullSecret" }} +{{- printf "{\"auths\": {\"%s\": {\"auth\": \"%s\"}}}" .registry (printf "%s:%s" .username (required "Credentials password is required" .password) | b64enc) | b64enc }} +{{- end }} + +{{/* +Build up full image path +*/}} +{{- define "ce-app.imageFullName" -}} +{{- .Values.global.images.registry -}}/ +{{- if .Values.global.ceApp.imageLibrary -}} +{{- .Values.global.ceApp.imageLibrary -}}/ +{{- end -}} +{{- .Values.global.ceApp.imageName -}}:{{- .Values.global.ceApp.imageTag -}} +{{- end -}} + +{{/* +Mountpoint for the persistence storage on the application pods (e.g. /tmp/persistence ) +*/}} +{{- define "persistence.mountPoint" -}} +{{- if .Values.global.apps.common.persistence.mountPoint -}} +{{- .Values.global.apps.common.persistence.mountPoint -}} +{{- else -}} +{{- "/tmp/persistence" -}} +{{- end -}} +{{- end -}} + +{{/* +Folder name to persist release files inside mountpoint (e.g. /tmp/persistence/release_name") +*/}} +{{- define "persistence.subDir" -}} +{{- if .Values.global.apps.common.persistence.subDir -}} +{{- .Values.global.apps.common.persistence.subDir -}} +{{- else -}} +{{- printf "%s" $.Release.Name -}} +{{- end -}} +{{- end -}} + +{{/* +Common labels +*/}} +{{- define "ce-app.labels" -}} +app.kubernetes.io/name: {{ include "ce-app.name" . }} +helm.sh/chart: {{ include "ce-app.chart" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} diff --git a/helm-charts/ce-app/templates/deployment.yaml b/helm-charts/ce-app/templates/deployment.yaml new file mode 100644 index 00000000..e3296135 --- /dev/null +++ b/helm-charts/ce-app/templates/deployment.yaml @@ -0,0 +1,88 @@ +{{- with .Values.global.ceApp }} +--- +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "ce-app.fullname" $ }} + namespace: {{ $.Release.Namespace }} + labels: +{{ include "ce-app.labels" $ | indent 4 }} +spec: + replicas: {{ .replicaCount }} + selector: + matchLabels: + app.kubernetes.io/name: {{ include "ce-app.name" $ }} + app.kubernetes.io/instance: {{ $.Release.Name }} + template: + metadata: + labels: + app.kubernetes.io/name: {{ include "ce-app.name" $ }} + app.kubernetes.io/instance: {{ $.Release.Name }} + spec: + {{- if .runAs }} + securityContext: + runAsUser: {{ .runAs }} + {{- end }} + {{- if $.Values.global.imagePullSecret.username }} + imagePullSecrets: + - name: {{ $.Release.Name }}-pull-secret + {{- end }} + {{- if $.Values.global.apps.common.persistence.enabled }} + volumes: + - name: {{ $.Release.Name }}-persistence-volume + persistentVolumeClaim: + claimName: {{ $.Release.Name }}-persistence-pvc + {{- end }} + containers: + - name: {{ $.Chart.Name }} + image: {{ include "ce-app.imageFullName" $ }} + imagePullPolicy: {{ $.Values.global.images.pullPolicy }} + {{- if $.Values.global.apps.common.persistence.enabled }} + env: + - name: MOUNT_POINT + value: {{ include "persistence.mountPoint" $ }} + {{- end }} + ports: + - name: client + containerPort: 8443 + protocol: TCP + {{- if $.Values.global.apps.common.persistence.enabled }} + volumeMounts: + - name: {{ $.Release.Name }}-persistence-volume + mountPath: {{ include "persistence.mountPoint" $ }} + subPath: {{ include "persistence.subDir" $ }} + {{- end }} + livenessProbe: + httpGet: + path: / + port: client + scheme: HTTPS + {{- with .readinessPath }} + readinessProbe: + httpGet: + path: {{ . }} + port: client + scheme: HTTPS + periodSeconds: 10 + {{- end }} + {{- with .resources }} + resources: + {{- toYaml . | nindent 12 }} + {{- end }} +{{- end }} \ No newline at end of file diff --git a/helm-charts/ce-app/templates/service.yaml b/helm-charts/ce-app/templates/service.yaml new file mode 100644 index 00000000..5b99ac0c --- /dev/null +++ b/helm-charts/ce-app/templates/service.yaml @@ -0,0 +1,34 @@ +--- +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +apiVersion: v1 +kind: Service +metadata: + name: {{ include "ce-app.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: +{{ include "ce-app.labels" . | indent 4 }} +spec: + type: NodePort + ports: + - port: {{ .Values.global.apps.common.port }} + targetPort: client + protocol: TCP + name: http + selector: + app.kubernetes.io/name: {{ include "ce-app.name" . }} + app.kubernetes.io/instance: {{ .Release.Name }} diff --git a/helm-charts/ce-app/values.yaml b/helm-charts/ce-app/values.yaml new file mode 100644 index 00000000..017d3d84 --- /dev/null +++ b/helm-charts/ce-app/values.yaml @@ -0,0 +1,45 @@ +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +global: + ceApp: + replicaCount: 1 + imageLibrary: '' + imageName: ce-ihs + imageTag: latest + ingressPath: /universal + readinessPath: /universal + resources: {} + images: + registry: &imageRegistry us.icr.io + pullPolicy: Always + imagePullSecret: + registry: *imageRegistry + apps: + common: + port: 8443 + persistence: + ## Persistence volume to store data (such as non-log files) + enabled: false + ## If enabled, creates a PVC to connect to IBM Cloud Object Storage + ## Properties secretKey, accessKey, instanceId, and bucketName are required + ## Values available in the WebUI where the bucket was pre-created + # secretKey: "" + # accessKey: "" + # instanceId: "" + # bucketName: "" + # mountPoint: "/tmp/persistence" + # subDir: "/folder/name" diff --git a/helm-charts/configmaps/Chart.yaml b/helm-charts/configmaps/Chart.yaml index 1f534756..e946a364 100644 --- a/helm-charts/configmaps/Chart.yaml +++ b/helm-charts/configmaps/Chart.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -16,17 +16,15 @@ apiVersion: v1 name: configmaps description: Helm Chart for Config Maps preparation in support of Container Deployment of SPM within a Kubernetes Cluster +version: 1.2.0 maintainers: - name: Cúram SPM Dev Team - url: https://github.com/IBM/spm-containerization + url: https://github.com/IBM/spm-kubernetes sources: - - https://github.com/IBM/spm-containerization -version: 1.1.0 + - https://github.com/IBM/spm-kubernetes keywords: - Liberty - - runtime - - microservices - - ICP + - Minikube - IKS - Curam - SPM diff --git a/helm-charts/configmaps/templates/NOTES.txt b/helm-charts/configmaps/templates/NOTES.txt deleted file mode 100644 index 09625e5e..00000000 --- a/helm-charts/configmaps/templates/NOTES.txt +++ /dev/null @@ -1,3 +0,0 @@ -1. Get the list of config maps: - - kubectl get configmap --namespace {{ .Release.Namespace }} \ No newline at end of file diff --git a/helm-charts/configmaps/templates/_helpers.tpl b/helm-charts/configmaps/templates/_helpers.tpl index c41afa97..6390061b 100644 --- a/helm-charts/configmaps/templates/_helpers.tpl +++ b/helm-charts/configmaps/templates/_helpers.tpl @@ -1,5 +1,5 @@ {{/* -Copyright 2019 IBM Corporation +Copyright 2019,2020 IBM Corporation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -59,7 +59,7 @@ Define Database hostname {{- end -}} {{/* -SSL properties for JDBC connection in Liberty. If global.database.ssl.secretName is provided, assume it has been imported into a Trust Store +SSL properties for JDBC connection in Liberty. If global.db2.ssl.secretName is provided, assume it has been imported into a Trust Store */}} {{- define "configmaps.ssljdbc" -}} {{- if .enabled }} @@ -81,14 +81,14 @@ Liberty Datastore properties fragment fullyMaterializeLobData="false" portNumber="{{ $dbConfig.port }}" serverName="{{ include "configmaps.dbhostname" . }}" - password="{{ $dbConfig.wlp_psw }}" - user="{{ $dbConfig.username }}" + password="{{ required "XOR-encoded password is required" $dbConfig.wlp_psw }}" + user="{{ required "Database username is required" $dbConfig.username }}" {{- include "configmaps.ssljdbc" $dbConfig.ssl }} /> {{- else if eq ($dbConfig.type | upper) "ORA" -}} - {{- else -}} @@ -121,6 +121,28 @@ ojdbc.jar {{- end -}} {{- end -}} +{{/* +Mountpoint for the persistence storage on the application pods (e.g. /tmp/persistence ) +*/}} +{{- define "persistence.mountPoint" -}} +{{- if .Values.global.apps.common.persistence.mountPoint -}} +{{- .Values.global.apps.common.persistence.mountPoint -}} +{{- else -}} +{{- "/tmp/persistence" -}} +{{- end -}} +{{- end -}} + +{{/* +Folder name to persist release files inside mountpoint (e.g. /tmp/persistence/release_name/") +*/}} +{{- define "persistence.subDir" -}} +{{- if .Values.global.apps.common.persistence.subDir -}} +{{- .Values.global.apps.common.persistence.subDir -}} +{{- else -}} +{{- printf "%s" $.Release.Name -}} +{{- end -}} +{{- end -}} + {{/* Common labels */}} diff --git a/helm-charts/configmaps/templates/configmap-applications.yaml b/helm-charts/configmaps/templates/configmap-applications.yaml new file mode 100644 index 00000000..cf314e51 --- /dev/null +++ b/helm-charts/configmaps/templates/configmap-applications.yaml @@ -0,0 +1,40 @@ +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-applications-cm + namespace: {{ .Release.Namespace }} +data: + server_applications.xml: | + + + + + + + + + + + + diff --git a/helm-charts/configmaps/templates/configmap-birt-bind.yaml b/helm-charts/configmaps/templates/configmap-birt-bind.yaml new file mode 100644 index 00000000..b80d4810 --- /dev/null +++ b/helm-charts/configmaps/templates/configmap-birt-bind.yaml @@ -0,0 +1,44 @@ +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-birt-bind + namespace: {{ .Release.Namespace }} +data: + application_CuramBIRTViewer.xml: | + + + + + + + + + + + + + + + + + + + + + + diff --git a/helm-charts/configmaps/templates/configmap-bootstrap.yaml b/helm-charts/configmaps/templates/configmap-bootstrap.yaml index 79131c41..a4b0b9a8 100644 --- a/helm-charts/configmaps/templates/configmap-bootstrap.yaml +++ b/helm-charts/configmaps/templates/configmap-bootstrap.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,6 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. ############################################################################### + apiVersion: v1 kind: ConfigMap metadata: diff --git a/helm-charts/configmaps/templates/configmap-dbconn.yaml b/helm-charts/configmaps/templates/configmap-dbconn.yaml index 2517010e..437f9c70 100644 --- a/helm-charts/configmaps/templates/configmap-dbconn.yaml +++ b/helm-charts/configmaps/templates/configmap-dbconn.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/helm-charts/configmaps/templates/configmap-endpoints.yaml b/helm-charts/configmaps/templates/configmap-endpoints.yaml index 4797e828..ee311f33 100644 --- a/helm-charts/configmaps/templates/configmap-endpoints.yaml +++ b/helm-charts/configmaps/templates/configmap-endpoints.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/helm-charts/configmaps/templates/configmap-jms-consumer-bind.yaml b/helm-charts/configmaps/templates/configmap-jms-consumer-bind.yaml new file mode 100644 index 00000000..b7499f8a --- /dev/null +++ b/helm-charts/configmaps/templates/configmap-jms-consumer-bind.yaml @@ -0,0 +1,64 @@ +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-jms-consumer-bind + namespace: {{ .Release.Namespace }} +data: + application_CuramServerCode.xml: | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/helm-charts/configmaps/templates/configmap-jms-consumer-security.yaml b/helm-charts/configmaps/templates/configmap-jms-consumer-security.yaml new file mode 100644 index 00000000..764e83f4 --- /dev/null +++ b/helm-charts/configmaps/templates/configmap-jms-consumer-security.yaml @@ -0,0 +1,72 @@ +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-jms-consumer-security + namespace: {{ .Release.Namespace }} +data: + server_security.xml: | + + + + + + + + + + + + + + + + websphere + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/helm-charts/configmaps/templates/configmap-jms-producer-bind.yaml b/helm-charts/configmaps/templates/configmap-jms-producer-bind.yaml new file mode 100644 index 00000000..9ee47e6f --- /dev/null +++ b/helm-charts/configmaps/templates/configmap-jms-producer-bind.yaml @@ -0,0 +1,73 @@ +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-jms-producer-bind + namespace: {{ .Release.Namespace }} +data: + application_CuramServerCode.xml: | + + + + + + + + + + + + + + + + + + + + + + + + + + application_ClientCode.xml: | + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/helm-charts/configmaps/templates/configmap-jms-producer-security.yaml b/helm-charts/configmaps/templates/configmap-jms-producer-security.yaml new file mode 100644 index 00000000..5afa1d21 --- /dev/null +++ b/helm-charts/configmaps/templates/configmap-jms-producer-security.yaml @@ -0,0 +1,80 @@ +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-jms-producer-security + namespace: {{ .Release.Namespace }} +data: + server_security.xml: | + + + + + + + + + + {{- if not .Values.global.openldap.enabled }} + + {{- end }} + + + + + + websphere + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/helm-charts/configmaps/templates/configmap-jvm-options.yaml b/helm-charts/configmaps/templates/configmap-jvm-options.yaml new file mode 100644 index 00000000..a1e469e4 --- /dev/null +++ b/helm-charts/configmaps/templates/configmap-jvm-options.yaml @@ -0,0 +1,34 @@ +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-jvm-options-cm + namespace: {{ .Release.Namespace }} +data: + jvm.options: | + # Placed by Kubernetes Configmap + -Dcom.ibm.websphere.ejbcontainer.rmicCompatible=all + # Enable verbose garbage collection logs. + {{- if $.Values.global.apps.common.persistence.enabled }} + -Dfile.encoding=UTF-8 + -verbose:gc + -Xverbosegclog:/tmp/gc/verbosegc.log + -Xdump:directory=/tmp/dump + {{- else }} + -verbose:gc + -Xverbosegclog:verbosegc.log + {{- end }} diff --git a/helm-charts/configmaps/templates/configmap-log4j.yaml b/helm-charts/configmaps/templates/configmap-log4j.yaml index e46bfb0c..6967cbd0 100644 --- a/helm-charts/configmaps/templates/configmap-log4j.yaml +++ b/helm-charts/configmaps/templates/configmap-log4j.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/helm-charts/configmaps/templates/configmap-logging.yaml b/helm-charts/configmaps/templates/configmap-logging.yaml index 9fa67972..e0c356a6 100644 --- a/helm-charts/configmaps/templates/configmap-logging.yaml +++ b/helm-charts/configmaps/templates/configmap-logging.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/helm-charts/configmaps/templates/configmap-ltpa-keys.yaml b/helm-charts/configmaps/templates/configmap-ltpa-keys.yaml new file mode 100644 index 00000000..dc1442fc --- /dev/null +++ b/helm-charts/configmaps/templates/configmap-ltpa-keys.yaml @@ -0,0 +1,30 @@ +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-ltpa-keys-cm + namespace: {{ .Release.Namespace }} +data: + ltpa.keys: | + # Placed by Kubernetes Configmap + com.ibm.websphere.CreationDate=Mon Oct 8 08\:08\:08 UTC 2019 + com.ibm.websphere.CreationHost=localhost + com.ibm.websphere.ltpa.version=1.0 + com.ibm.websphere.ltpa.Realm=defaultRealm + com.ibm.websphere.ltpa.3DESKey={{ .Values.global.commonAppConfig.ltpa.encryptKey }} + com.ibm.websphere.ltpa.PrivateKey={{ .Values.global.commonAppConfig.ltpa.privateKey }} + com.ibm.websphere.ltpa.PublicKey={{ .Values.global.commonAppConfig.ltpa.publicKey }} diff --git a/helm-charts/configmaps/templates/configmap-openldap.yaml b/helm-charts/configmaps/templates/configmap-openldap.yaml new file mode 100644 index 00000000..2745990e --- /dev/null +++ b/helm-charts/configmaps/templates/configmap-openldap.yaml @@ -0,0 +1,45 @@ +{{- if $.Values.global.openldap.enabled }} +--- +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-openldap-cm + namespace: {{ .Release.Namespace }} +data: + server_openldap.xml: | + + + + + appSecurity-2.0 + ldapRegistry-3.0 + + + + + + + + +{{- end }} diff --git a/helm-charts/configmaps/templates/configmap-server.yaml b/helm-charts/configmaps/templates/configmap-server.yaml index ff96c102..e0cd1e63 100644 --- a/helm-charts/configmaps/templates/configmap-server.yaml +++ b/helm-charts/configmaps/templates/configmap-server.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -57,9 +57,6 @@ data: - - - diff --git a/helm-charts/configmaps/templates/configmap-sessions.yaml b/helm-charts/configmaps/templates/configmap-sessions.yaml index 62306417..d1f878f4 100644 --- a/helm-charts/configmaps/templates/configmap-sessions.yaml +++ b/helm-charts/configmaps/templates/configmap-sessions.yaml @@ -1,11 +1,17 @@ ############################################################################### -# Licensed Materials - Property of IBM. -# Copyright IBM Corporation 2019. All Rights Reserved. -# U.S. Government Users Restricted Rights - Use, duplication or disclosure -# restricted by GSA ADP Schedule Contract with IBM Corp. +# Copyright 2019,2020 IBM Corporation # -# Contributors: -# IBM Corporation +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. ############################################################################### apiVersion: v1 kind: ConfigMap @@ -41,7 +47,7 @@ data: storageRef="SessionDB" cloneId="${env.HOSTNAME}" idReuse="true" - maxInMemorySessionCount="${httpSession.maxInMemorySessionCount}" + maxInMemorySessionCount="{{ .Values.global.commonAppConfig.maxInMemorySessionCount | default 1000 }}" cookieSecure="true" /> diff --git a/helm-charts/configmaps/templates/configmap-transactions.yaml b/helm-charts/configmaps/templates/configmap-transactions.yaml new file mode 100644 index 00000000..033cc07a --- /dev/null +++ b/helm-charts/configmaps/templates/configmap-transactions.yaml @@ -0,0 +1,33 @@ +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ .Release.Name }}-transactions-cm + namespace: {{ .Release.Namespace }} +data: + server_resources_tx.xml: | + + + + + + + diff --git a/helm-charts/configmaps/values.yaml b/helm-charts/configmaps/values.yaml index c2ad6e4d..bf7bd5e8 100644 --- a/helm-charts/configmaps/values.yaml +++ b/helm-charts/configmaps/values.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,19 +14,38 @@ # limitations under the License. ############################################################################### +# Default values for appserver. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + global: commonAppConfig: port: 8443 + maxInMemorySessionCount: 1000 + ltpa: + encryptKey: oG+Be8gmh9oxFDV0JCQiWxlqIJltme1h3/cGjIn+mR4\= + privateKey: p6IkWX/f1ZI/CMmuzEsJW5d/ukCQLHe2iBRNAnSzavz2IyfHdJ9l5ybeYDAYST+HMrRwPh5R2mRu09m6Sb7a5YXpFwN9M1vSXJVcId9UqhG9e5TDO5d77K9BuPTELE6H5kOBzkazs3y9gFEDZ4fDTAhxZLNI7XTK3oQqjzadu2eX+UF4AAmHp37MmtqKhdtV/pe79rcMIC4EEmx9U3wEMKvIdyekAaBpM7wquLUyEZIpa8F82j07BnvRRrYsnE6NDPGBSPxsfr81T/6Ohkye+Zy29jJ5IiXGzO+2S5lfz9D8+TUxKWETtmR3I4d38ZrjnfcCJSiS2hqTGIoMCVJCUwGSQAJYzDdcK2/yzZflYvM\= + publicKey: ALe026+tabwYGSinI8MDIGlRznv7WMIs5b9zDgES3pYe8xtnSl42jaETRje322S46ql9YmMNZLTtkUSwZMNYR1XTUR8QPQx1HgR75wKs+oSHFvDGsi6sejbwSfLW+X8OSCSq4YMQGGUlGIV6iEFTVlyOkSeSjZQIvaiKaQHeHs7NAQAB + apps: + common: + persistence: + enabled: false + sessionTimeout: 30m + transactionTimeout: 3m + cookieHttpOnly: true + loginTrace: true + security: {} + openldap: + enabled: false + identityOnly: false database: - type: "db2" - hostname: "dbhostname" - dbName: "DATABASE" - serviceName: "" - username: "db2admin" - password: "db2admin" - spm_psw: "spmEncryptedDBPassword" - wlp_psw: "xorEncodedDBPassword" + ## Database connection configuration + # The property wlp_psw: contains the XOR password injected in the Liberty configuration + # The property spm_psw: contains the encrypted password (by SPM) injected in Bootstrap.properties + type: db2 port: 50000 - ssl: - enabled: false - secretName: 'secretName' + dbName: DATABASE + username: db2admin + wlp_psw: "{xor}Oz1tPjsyNjE=" + spm_psw: "5itAmT5UzH7wR6kvkYqkTw==" + ssl: {} diff --git a/helm-charts/ihs/Chart.yaml b/helm-charts/ihs/Chart.yaml index d7f0c8fd..7b2c8a66 100644 --- a/helm-charts/ihs/Chart.yaml +++ b/helm-charts/ihs/Chart.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,24 +13,20 @@ # See the License for the specific language governing permissions and # limitations under the License. ############################################################################### - apiVersion: v1 name: ihs -description: IBM HTTP Server Chart for SPM webserver within a Kubernetes Cluster +description: IBM IHS Chart for SPM webserver within a Kubernetes Cluster +version: 2.0.0 maintainers: - name: Cúram SPM Dev Team - url: https://github.com/IBM/spm-containerization + url: https://github.com/IBM/spm-kubernetes sources: - - https://github.com/IBM/spm-containerization -version: 1.1.0 + - https://github.com/IBM/spm-kubernetes keywords: - Liberty - - runtime - - microservices - - ICP + - Minikube - IKS - Curam - SPM - - IHS home: https://www.ibm.com/watson-health/solutions/social-program-management icon: https://avatars2.githubusercontent.com/u/1459110 diff --git a/helm-charts/ihs/templates/NOTES.txt b/helm-charts/ihs/templates/NOTES.txt deleted file mode 100644 index c65c0dc9..00000000 --- a/helm-charts/ihs/templates/NOTES.txt +++ /dev/null @@ -1,21 +0,0 @@ -1. Get the application URL by running these commands: -{{- if .Values.global.ingress.enabled }} -{{- range $host := .Values.global.ingress.hosts }} - {{- range .paths }} - http{{ if $.Values.global.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }} - {{- end }} -{{- end }} -{{- else if contains "NodePort" .Values.global.ihs.serviceType }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "ihs.fullname" . }}) - export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") - echo http://$NODE_IP:$NODE_PORT -{{- else if contains "LoadBalancer" .Values.global.ihs.serviceType }} - NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "ihs.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "ihs.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') - echo http://$SERVICE_IP:{{ .Values.global.ihs.servicePort }} -{{- else if contains "ClusterIP" .Values.global.ihs.serviceType }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "ihs.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") - echo "Visit http://127.0.0.1:8080 to use your application" - kubectl port-forward $POD_NAME 8080:80 -{{- end }} diff --git a/helm-charts/ihs/templates/_helpers.tpl b/helm-charts/ihs/templates/_helpers.tpl index 2cfce687..6e267fd5 100644 --- a/helm-charts/ihs/templates/_helpers.tpl +++ b/helm-charts/ihs/templates/_helpers.tpl @@ -1,3 +1,19 @@ +{{/* +Copyright 2019,2020 IBM Corporation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/}} + {{/* vim: set filetype=mustache: */}} {{/* Expand the name of the chart. @@ -38,6 +54,43 @@ Create the image pull secret {{- printf "{\"auths\": {\"%s\": {\"auth\": \"%s\"}}}" .registry (printf "%s:%s" .username (required "Credentials password is required" .password) | b64enc) | b64enc }} {{- end }} +{{/* +Build up full image path +*/}} +{{- define "ihs.imageFullName" -}} +{{- .registry -}}/ +{{- if .imageLibrary -}} +{{- .imageLibrary -}}/ +{{- end -}} +{{- if .imagePrefix -}} +{{- .imagePrefix -}} +{{- end -}} +ihs:{{- .imageTag -}} +{{- end -}} + + +{{/* +Mountpoint for the persistence storage on the application pods (e.g. /tmp/persistence ) +*/}} +{{- define "persistence.mountPoint" -}} +{{- if .Values.global.apps.common.persistence.mountPoint -}} +{{- .Values.global.apps.common.persistence.mountPoint -}} +{{- else -}} +{{- "/tmp/persistence" -}} +{{- end -}} +{{- end -}} + +{{/* +Folder name to persist release files inside mountpoint (e.g. /tmp/persistence/release_name") +*/}} +{{- define "persistence.subDir" -}} +{{- if .Values.global.apps.common.persistence.subDir -}} +{{- .Values.global.apps.common.persistence.subDir -}} +{{- else -}} +{{- printf "%s" $.Release.Name -}} +{{- end -}} +{{- end -}} + {{/* Common labels */}} diff --git a/helm-charts/ihs/templates/deployment.yaml b/helm-charts/ihs/templates/deployment.yaml index 04cefbfe..1c14cfc7 100644 --- a/helm-charts/ihs/templates/deployment.yaml +++ b/helm-charts/ihs/templates/deployment.yaml @@ -1,5 +1,21 @@ {{- with .Values.global.ihs }} --- +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + apiVersion: apps/v1 kind: Deployment metadata: @@ -8,7 +24,7 @@ metadata: labels: {{ include "ihs.labels" $ | indent 4 }} spec: - replicas: {{ .replicaCount | default 1 }} + replicas: {{ .replicaCount }} selector: matchLabels: app.kubernetes.io/name: {{ include "ihs.fullname" $ }} @@ -28,14 +44,42 @@ spec: - name: {{ $.Release.Name }}-pull-secret {{- end }} restartPolicy: {{ .restartPolicy | default "Always" }} + {{- if $.Values.global.apps.common.persistence.enabled }} + volumes: + - name: {{ $.Release.Name }}-persistence-volume + persistentVolumeClaim: + claimName: {{ $.Release.Name }}-persistence-pvc + {{- end }} containers: - name: {{ $.Chart.Name }} - image: {{ $.Values.global.images.registry }}/ihs:latest + image: {{ include "ihs.imageFullName" $.Values.global.images }} imagePullPolicy: {{ $.Values.global.images.pullPolicy }} + {{- if $.Values.global.apps.common.persistence.enabled }} + env: + - name: MOUNT_POINT + value: {{ include "persistence.mountPoint" $ }} + {{- end }} ports: - - containerPort: {{ $.Values.global.ihs.servicePort | default 443 }} + - name: client + containerPort: 8443 + protocol: TCP + {{- with .readinessPath }} + readinessProbe: + httpGet: + path: {{ . }} + port: client + scheme: HTTPS + periodSeconds: 10 + {{- end }} {{- with .resources }} resources: {{- toYaml . | nindent 12 }} {{- end }} + {{- if $.Values.global.apps.common.persistence.enabled }} + volumeMounts: + - name: {{ $.Release.Name }}-persistence-volume + mountPath: {{ include "persistence.mountPoint" $ }} + subPath: {{ include "persistence.subDir" $ }} + {{- end }} + {{ end }} diff --git a/helm-charts/ihs/templates/secret.yaml b/helm-charts/ihs/templates/secret.yaml deleted file mode 100644 index 052dffc3..00000000 --- a/helm-charts/ihs/templates/secret.yaml +++ /dev/null @@ -1,10 +0,0 @@ -{{- if .Values.global.imagePullSecret.username -}} -apiVersion: v1 -kind: Secret -metadata: - name: {{ .Release.Name }}-pull-secret - namespace: {{ .Release.Namespace }} -type: kubernetes.io/dockerconfigjson -data: - .dockerconfigjson: {{ template "imagePullSecret" .Values.global.imagePullSecret }} -{{- end }} \ No newline at end of file diff --git a/helm-charts/ihs/templates/service.yaml b/helm-charts/ihs/templates/service.yaml index c676ef12..96c1eb65 100644 --- a/helm-charts/ihs/templates/service.yaml +++ b/helm-charts/ihs/templates/service.yaml @@ -1,5 +1,21 @@ {{- with .Values.global.ihs }} --- +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + apiVersion: v1 kind: Service metadata: @@ -8,11 +24,12 @@ metadata: labels: {{ include "ihs.labels" $ | indent 4 }} spec: - type: {{ .serviceType | default "NodePort" }} + type: NodePort ports: - - - port: {{ $.Values.global.ihs.servicePort | default 443 }} - targetPort: {{ $.Values.global.ihs.servicePort | default 443 }} + - port: {{ $.Values.global.apps.common.port }} + targetPort: client + protocol: TCP + name: http selector: app.kubernetes.io/name: {{ include "ihs.fullname" $ }} app.kubernetes.io/instance: {{ $.Release.Name }} diff --git a/helm-charts/ihs/templates/tests/test-connection.yaml b/helm-charts/ihs/templates/tests/test-connection.yaml deleted file mode 100644 index 22422b2f..00000000 --- a/helm-charts/ihs/templates/tests/test-connection.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: "{{ include "ihs.fullname" . }}-test-connection" - labels: -{{ include "ihs.labels" . | indent 4 }} - annotations: - "helm.sh/hook": test-success -spec: - containers: - - name: wget - image: busybox - command: ['wget'] - args: ['{{ include "ihs.fullname" . }}:{{ .Values.global.ihs.servicePort }}'] - restartPolicy: Never diff --git a/helm-charts/ihs/values.yaml b/helm-charts/ihs/values.yaml index 68f6f30d..99929531 100644 --- a/helm-charts/ihs/values.yaml +++ b/helm-charts/ihs/values.yaml @@ -1,39 +1,45 @@ -# Default values for fat-spm. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. +############################################################################### +# Copyright 2019,2020 IBM Corporation # -# prodConfig: v75CrossSolutions +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at # -# prodConfig: v75PlatformExProd +# http://www.apache.org/licenses/LICENSE-2.0 # - +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### global: images: - registry: &imageRegistry minikube.local:5000 + registry: &imageRegistry us.icr.io + imageLibrary: '' + imagePrefix: '' + imageTag: latest pullPolicy: Always - ihs: - servicePort: 443 - serviceType: NodePort - config: - readinessPath: /CuramStatic - ingressPath: /CuramStatic + ihs: + runAs: 1000 + replicaCount: 1 + readinessPath: /CuramStatic + ingressPath: /CuramStatic + resources: {} imagePullSecret: registry: *imageRegistry - resources: - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - limits: - cpu: 1 - memory: 1Gi - requests: - cpu: 1 - memory: 1Gi - - ingress: - enabled: true - hostname: minikube.local - -nameOverride: "" -fullnameOverride: "" + apps: + common: + port: 8443 + persistence: + ## Persistence volume to store data (such as non-log files) + enabled: false + ## If enabled, creates a PVC to connect to IBM Cloud Object Storage + ## Properties secretKey, accessKey, instanceId, and bucketName are required + ## Values available in the WebUI where the bucket was pre-created + # secretKey: "" + # accessKey: "" + # instanceId: "" + # bucketName: "" + # mountPoint: "/tmp/persistence" + # subDir: "/folder/name" diff --git a/helm-charts/mqserver/Chart.yaml b/helm-charts/mqserver/Chart.yaml index bfd9f74c..5b9b76b5 100644 --- a/helm-charts/mqserver/Chart.yaml +++ b/helm-charts/mqserver/Chart.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,21 +13,18 @@ # See the License for the specific language governing permissions and # limitations under the License. ############################################################################### - apiVersion: v1 name: mqserver description: Helm Chart for Deployment of MQ server for SPM within a Kubernetes Cluster +version: 1.2.0 maintainers: - name: Cúram SPM Dev Team - url: https://github.com/IBM/spm-containerization + url: https://github.com/IBM/spm-kubernetes sources: - - https://github.com/IBM/spm-containerization -version: 1.1.0 + - https://github.com/IBM/spm-kubernetes keywords: - Liberty - - runtime - - microservices - - ICP + - Minikube - IKS - Curam - SPM diff --git a/helm-charts/mqserver/templates/_helpers.tpl b/helm-charts/mqserver/templates/_helpers.tpl index d5b3fe1b..20214496 100644 --- a/helm-charts/mqserver/templates/_helpers.tpl +++ b/helm-charts/mqserver/templates/_helpers.tpl @@ -1,5 +1,5 @@ {{/* -Copyright 2019 IBM Corporation +Copyright 2019,2020 IBM Corporation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -54,6 +54,20 @@ Create the image pull secret {{- printf "{\"auths\": {\"%s\": {\"auth\": \"%s\"}}}" .registry (printf "%s:%s" .username (required "Credentials password is required" .password) | b64enc) | b64enc }} {{- end }} +{{/* +Build up full image path +*/}} +{{- define "mqserver.imageFullName" -}} +{{- .registry -}}/ +{{- if .imageLibrary -}} +{{- .imageLibrary -}}/ +{{- end -}} +{{- if .imagePrefix -}} +{{- .imagePrefix -}} +{{- end -}} +mqserver:{{- .imageTag -}} +{{- end -}} + {{/* Common labels */}} diff --git a/helm-charts/mqserver/templates/configmap-messaging.yaml b/helm-charts/mqserver/templates/configmap-messaging.yaml index efc3cd96..6ab4f7dc 100644 --- a/helm-charts/mqserver/templates/configmap-messaging.yaml +++ b/helm-charts/mqserver/templates/configmap-messaging.yaml @@ -1,5 +1,6 @@ +--- ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,6 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. ############################################################################### + apiVersion: v1 kind: ConfigMap metadata: @@ -40,13 +42,28 @@ data: - + + + {{- if .Values.global.mq.useConnectionNameList }} + + {{- else }} + - - + {{- end }} - + @@ -54,7 +71,18 @@ data: - + @@ -62,7 +90,18 @@ data: - + @@ -70,7 +109,18 @@ data: - + @@ -78,7 +128,18 @@ data: - + @@ -86,19 +147,54 @@ data: - + + - + + - + @@ -106,12 +202,32 @@ data: - + - + - + diff --git a/helm-charts/mqserver/templates/configmap-mqsc.yaml b/helm-charts/mqserver/templates/configmap-mqsc.yaml index 009d51fc..ce52eb95 100644 --- a/helm-charts/mqserver/templates/configmap-mqsc.yaml +++ b/helm-charts/mqserver/templates/configmap-mqsc.yaml @@ -1,5 +1,6 @@ +--- ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,6 +14,7 @@ # See the License for the specific language governing permissions and # limitations under the License. ############################################################################### + apiVersion: v1 kind: ConfigMap metadata: diff --git a/helm-charts/mqserver/templates/deployment.yaml b/helm-charts/mqserver/templates/deployment.yaml index 840ced36..d350fe77 100644 --- a/helm-charts/mqserver/templates/deployment.yaml +++ b/helm-charts/mqserver/templates/deployment.yaml @@ -1,11 +1,9 @@ {{ $apps := .Values.global.apps.config }} -{{ $pvcs := .Values.global.mq.pvcs }} - {{- range $name, $app := $apps }} -{{- if $app.enabled }} +{{- if and ($app.enabled) (not (hasKey $app "mqConnectionNameList")) }} --- ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -50,10 +48,10 @@ spec: name: {{ $.Release.Name }}-mq-config - name: modified-cmds emptyDir: {} - {{- if $.Values.tls.secretName }} + {{- if $.Values.global.mq.tlsSecretName }} - name: service-certs secret: - secretName: {{ $.Release.Name }}-{{ $.Values.tls.secretName }} + secretName: {{ $.Release.Name }}-{{ $.Values.global.mq.tlsSecretName }} {{- end}} initContainers: - name: set-mq-conname @@ -70,32 +68,30 @@ spec: - name: modified-cmds mountPath: /mnt/mod-mqsc containers: - - name: {{ $.Chart.Name }} - image: {{ $.Values.global.images.registry }}/mqserver:latest + - name: {{ $.Chart.Name }}-{{ $name }} + image: {{ include "mqserver.imageFullName" $.Values.global.images }} imagePullPolicy: {{ $.Values.global.pullPolicy }} env: - name: LICENSE - value: {{ $.Values.license }} + value: {{ $.Values.global.license }} - name: MQ_QMGR_NAME value: {{ $.Values.global.mq.queueManager.name | default "QM1" }} - # - name: MQ_MULTI_INSTANCE - # value: "{{ $.Values.global.mq.queueManager.multiInstance | default false }}" - name: LOG_FORMAT value: {{ $.Values.log.format | default "basic" }} - name: MQ_ENABLE_METRICS - value: "{{ $.Values.global.mq.metrics.enabled | default false }}" + value: {{ $.Values.global.mq.metrics.enabled | default false | quote }} - name: DEBUG - value: "{{ $.Values.log.debug | default false }}" + value: {{ $.Values.log.debug | default false | quote }} - name: MQ_EPHEMERAL_PREFIX - value: "/run/mqm" + value: /run/mqm - name: MQ_DEV value: "false" - name: MQ_ADMIN_PASSWORD value: {{ $.Values.global.mq.queueManager.secret.adminPasswordKey }} - {{- if $.Values.global.mq.queueManager.secret.appPasswordKey }} - - name: MQ_APP_PASSWORD - value: {{ $.Values.global.mq.queueManager.secret.appPasswordKey }} - {{- end }} + # valueFrom: + # secretKeyRef: + # name: {{ $.Values.global.mq.queueManager.secret.name }} + # key: {{ $.Values.global.mq.queueManager.secret.adminPasswordKey }} ports: - containerPort: 1414 - containerPort: 9443 @@ -143,7 +139,7 @@ spec: - name: modified-cmds mountPath: /etc/mqm/20-config.mqsc subPath: 20-config.mqsc - {{- if $.Values.tls.secretName }} + {{- if $.Values.global.mq.tlsSecretName }} - name: service-certs mountPath: "/etc/mqm/pki/keys/ibmwebspheremqqm1" readOnly: true diff --git a/helm-charts/mqserver/templates/mq-secret.yaml b/helm-charts/mqserver/templates/mq-secret.yaml index 723bb42d..3fb6c27b 100644 --- a/helm-charts/mqserver/templates/mq-secret.yaml +++ b/helm-charts/mqserver/templates/mq-secret.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ # limitations under the License. ############################################################################### -{{- $cert := genSelfSignedCert (printf "%s-%s" $.Release.Name "mq") nil nil 365 }} +{{- $cert := genSelfSignedCert $.Release.Name nil nil 365 }} apiVersion: v1 kind: Secret metadata: @@ -23,4 +23,4 @@ metadata: type: kubernetes.io/tls data: tls.crt: {{ $cert.Cert | b64enc }} - tls.key: {{ $cert.Key | b64enc }} + tls.key: {{ $cert.Key | b64enc }} \ No newline at end of file diff --git a/helm-charts/mqserver/templates/service.yaml b/helm-charts/mqserver/templates/service.yaml index 09482de8..fde35029 100644 --- a/helm-charts/mqserver/templates/service.yaml +++ b/helm-charts/mqserver/templates/service.yaml @@ -1,8 +1,8 @@ {{- range $name, $app := .Values.global.apps.config }} -{{- if $app.enabled }} +{{- if and ($app.enabled) (not (hasKey $app "mqConnectionNameList")) }} --- ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/helm-charts/mqserver/values.yaml b/helm-charts/mqserver/values.yaml index cacfd7c4..9ba2851e 100644 --- a/helm-charts/mqserver/values.yaml +++ b/helm-charts/mqserver/values.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,19 +13,50 @@ # See the License for the specific language governing permissions and # limitations under the License. ############################################################################### - global: + # Set to 'accept' to accept the license terms of WebSphere Liberty and WebSphere MQ + license: '' images: - registry: &imageRegistry minikube.local:5000 + registry: &imageRegistry us.icr.io + imageLibrary: '' + imagePrefix: '' + imageTag: latest pullPolicy: Always imagePullSecret: registry: *imageRegistry apps: + common: + persistence: + ## Persistence volume to store data + enabled: false config: curam: enabled: true + citizenportal: + enabled: true + rest: + enabled: true + curamwebservices: + enabled: false + curambirtviewer: + enabled: false + cpmexternalns: + enabled: false + cpmexternals: + enabled: false + navigatorns: + enabled: false + navigators: + enabled: false + mdtworkspace: + enabled: false + samplepublicaccess: + enabled: false mq: version: 9.1.3.0 + # Set to True if running MQ in HA mode + useConnectionNameList: false + tlsSecretName: mq-secret queueManager: name: "QM1" secret: @@ -57,10 +88,5 @@ log: format: basic debug: false -license: "accept" - -tls: - secretName: mq-secret - imagePullSecret: registry: *imageRegistry diff --git a/helm-charts/openldap/.helmignore b/helm-charts/openldap/.helmignore new file mode 100644 index 00000000..f0c13194 --- /dev/null +++ b/helm-charts/openldap/.helmignore @@ -0,0 +1,21 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj diff --git a/helm-charts/openldap/Chart.yaml b/helm-charts/openldap/Chart.yaml new file mode 100644 index 00000000..3394961b --- /dev/null +++ b/helm-charts/openldap/Chart.yaml @@ -0,0 +1,34 @@ +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### +apiVersion: v1 +name: openldap +description: OpenLDAP Helm Chart based on Community edition (v1.2.3) for Deployment within Cúram SPM Kubernetes Cluster +version: 1.0.0 +maintainers: + - name: Cúram SPM Dev Team + url: https://github.com/IBM/spm-kubernetes +sources: + - https://github.com/IBM/spm-kubernetes +keywords: + - Liberty + - Minikube + - IKS + - Curam + - SPM + - LDAP + - OpenLDAP +home: https://www.openldap.org +icon: https://www.openldap.org/images/headers/LDAPworm.gif diff --git a/helm-charts/openldap/LICENSE b/helm-charts/openldap/LICENSE new file mode 100644 index 00000000..cd482d89 --- /dev/null +++ b/helm-charts/openldap/LICENSE @@ -0,0 +1,201 @@ +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by +the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all +other entities that control, are controlled by, or are under common +control with that entity. For the purposes of this definition, +"control" means (i) the power, direct or indirect, to cause the +direction or management of such entity, whether by contract or +otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity +exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation +source, and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but +not limited to compiled object code, generated documentation, +and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or +Object form, made available under the License, as indicated by a +copyright notice that is included in or attached to the work +(an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object +form, that is based on (or derived from) the Work and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. For the purposes +of this License, Derivative Works shall not include works that remain +separable from, or merely link (or bind by name) to the interfaces of, +the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including +the original version of the Work and any modifications or additions +to that Work or Derivative Works thereof, that is intentionally +submitted to Licensor for inclusion in the Work by the copyright owner +or by an individual or Legal Entity authorized to submit on behalf of +the copyright owner. For the purposes of this definition, "submitted" +means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, +and issue tracking systems that are managed by, or on behalf of, the +Licensor for the purpose of discussing and improving the Work, but +excluding communication that is conspicuously marked or otherwise +designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the +Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +(except as stated in this section) patent license to make, have made, +use, offer to sell, sell, import, and otherwise transfer the Work, +where such license applies only to those patent claims licensable +by such Contributor that are necessarily infringed by their +Contribution(s) alone or by combination of their Contribution(s) +with the Work to which such Contribution(s) was submitted. If You +institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work +or a Contribution incorporated within the Work constitutes direct +or contributory patent infringement, then any patent licenses +granted to You under this License for that Work shall terminate +as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the +Work or Derivative Works thereof in any medium, with or without +modifications, and in Source or Object form, provided that You +meet the following conditions: + +(a) You must give any other recipients of the Work or +Derivative Works a copy of this License; and + +(b) You must cause any modified files to carry prominent notices +stating that You changed the files; and + +(c) You must retain, in the Source form of any Derivative Works +that You distribute, all copyright, patent, trademark, and +attribution notices from the Source form of the Work, +excluding those notices that do not pertain to any part of +the Derivative Works; and + +(d) If the Work includes a "NOTICE" text file as part of its +distribution, then any Derivative Works that You distribute must +include a readable copy of the attribution notices contained +within such NOTICE file, excluding those notices that do not +pertain to any part of the Derivative Works, in at least one +of the following places: within a NOTICE text file distributed +as part of the Derivative Works; within the Source form or +documentation, if provided along with the Derivative Works; or, +within a display generated by the Derivative Works, if and +wherever such third-party notices normally appear. The contents +of the NOTICE file are for informational purposes only and +do not modify the License. You may add Your own attribution +notices within Derivative Works that You distribute, alongside +or as an addendum to the NOTICE text from the Work, provided +that such additional attribution notices cannot be construed +as modifying the License. + +You may add Your own copyright statement to Your modifications and +may provide additional or different license terms and conditions +for use, reproduction, or distribution of Your modifications, or +for any such Derivative Works as a whole, provided Your use, +reproduction, and distribution of the Work otherwise complies with +the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work +by You to the Licensor shall be under the terms and conditions of +this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify +the terms of any separate license agreement you may have executed +with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or +agreed to in writing, Licensor provides the Work (and each +Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied, including, without limitation, any warranties or conditions +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any +risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, +unless required by applicable law (such as deliberate and grossly +negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, +incidental, or consequential damages of any character arising as a +result of this License or out of the use or inability to use the +Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all +other commercial damages or losses), even if such Contributor +has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, +and charge a fee for, acceptance of support, warranty, indemnity, +or other liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only +on Your own behalf and on Your sole responsibility, not on behalf +of any other Contributor, and only if You agree to indemnify, +defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason +of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + +To apply the Apache License to your work, attach the following +boilerplate notice, with the fields enclosed by brackets "[]" +replaced with your own identifying information. (Don't include +the brackets!) The text should be enclosed in the appropriate +comment syntax for the file format. We also recommend that a +file or class name and description of purpose be included on the +same "printed page" as the copyright notice for easier +identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/helm-charts/openldap/templates/_helpers.tpl b/helm-charts/openldap/templates/_helpers.tpl new file mode 100644 index 00000000..06a73115 --- /dev/null +++ b/helm-charts/openldap/templates/_helpers.tpl @@ -0,0 +1,56 @@ +{{/* +Copyright 2019,2020 IBM Corporation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/}} + +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "openldap.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "openldap.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "openldap.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + + +{{/* +Generate chart secret name +*/}} +{{- define "openldap.secretName" -}} +{{ default (include "openldap.fullname" .) .Values.existingSecret }} +{{- end -}} diff --git a/helm-charts/openldap/templates/configmap-customldif.yaml b/helm-charts/openldap/templates/configmap-customldif.yaml new file mode 100644 index 00000000..f2fcc897 --- /dev/null +++ b/helm-charts/openldap/templates/configmap-customldif.yaml @@ -0,0 +1,40 @@ +{{- if .Values.global.openldap.customLdifFiles }} +--- +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### +# +# A ConfigMap spec for openldap slapd that map directly to files under +# /container/service/slapd/assets/config/bootstrap/ldif/custom +# + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "openldap.fullname" . }}-customldif + labels: + app: {{ template "openldap.name" . }} + chart: {{ template "openldap.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- if .Values.global.openldap.extraLabels }} +{{ toYaml .Values.global.openldap.extraLabels | indent 4 }} +{{- end }} +data: +{{- range $key, $val := .Values.global.openldap.customLdifFiles }} + {{ $key }}: |- +{{ $val | indent 4}} +{{- end }} +{{- end }} diff --git a/helm-charts/openldap/templates/configmap-env.yaml b/helm-charts/openldap/templates/configmap-env.yaml new file mode 100644 index 00000000..9f678f66 --- /dev/null +++ b/helm-charts/openldap/templates/configmap-env.yaml @@ -0,0 +1,37 @@ +--- +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### +# +# A ConfigMap spec for openldap slapd that map directly to env variables in the Pod. +# List of environment variables supported is from the docker image: +# https://github.com/osixia/docker-openldap#beginner-guide +# Note that passwords are defined as secrets +# + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "openldap.fullname" . }}-env + labels: + app: {{ template "openldap.name" . }} + chart: {{ template "openldap.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- if .Values.global.openldap.extraLabels }} +{{ toYaml .Values.global.openldap.extraLabels | indent 4 }} +{{- end }} +data: +{{ toYaml .Values.global.openldap.env | indent 2 }} diff --git a/helm-charts/openldap/templates/deployment.yaml b/helm-charts/openldap/templates/deployment.yaml new file mode 100644 index 00000000..0c3aebda --- /dev/null +++ b/helm-charts/openldap/templates/deployment.yaml @@ -0,0 +1,191 @@ +--- +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ template "openldap.fullname" . }} + labels: + app: {{ template "openldap.name" . }} + chart: {{ template "openldap.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- if .Values.global.openldap.extraLabels }} +{{ toYaml .Values.global.openldap.extraLabels | indent 4 }} +{{- end }} +spec: + replicas: {{ .Values.global.openldap.replicaCount }} +{{- if .Values.global.openldap.strategy }} + strategy: +{{ toYaml .Values.global.openldap.strategy | indent 4 }} +{{- end }} + selector: + matchLabels: + app: {{ template "openldap.name" . }} + release: {{ .Release.Name }} + template: + metadata: + annotations: + checksum/configmap-env: {{ include (print $.Template.BasePath "/configmap-env.yaml") . | sha256sum }} +{{- if .Values.global.openldap.customLdifFiles}} + checksum/configmap-customldif: {{ include (print $.Template.BasePath "/configmap-customldif.yaml") . | sha256sum }} +{{- end }} +{{- if .Values.global.openldap.podAnnotations}} +{{ toYaml .Values.global.openldap.podAnnotations | indent 8}} +{{- end }} + labels: + app: {{ template "openldap.name" . }} + release: {{ .Release.Name }} + spec: + {{- if or .Values.global.openldap.customLdifFiles .Values.global.openldap.tls.enabled }} + initContainers: + {{- end }} + {{- if .Values.global.openldap.customLdifFiles }} + - name: {{ .Chart.Name }}-init-ldif + image: busybox + command: ['sh', '-c', 'cp /customldif/* /ldifworkingdir'] + imagePullPolicy: {{ .Values.global.openldap.image.pullPolicy }} + volumeMounts: + - name: customldif + mountPath: /customldif + - name: ldifworkingdir + mountPath: /ldifworkingdir + resources: +{{ toYaml .Values.global.openldap.initResources | indent 10 }} + {{- end }} + {{- if .Values.global.openldap.tls.enabled }} + - name: {{ .Chart.Name }}-init-tls + image: busybox + command: ['sh', '-c', 'cp /tls/* /certs'] + imagePullPolicy: {{ .Values.global.openldap.image.pullPolicy }} + volumeMounts: + - name: tls + mountPath: /tls + - name: certs + mountPath: /certs + resources: +{{ toYaml .Values.global.openldap.initResources | indent 10 }} + {{- if .Values.global.openldap.tls.CA.enabled }} + - name: {{ .Chart.Name }}-init-catls + image: busybox + command: ['sh', '-c', 'cp /catls/ca.crt /certs'] + volumeMounts: + - name: catls + mountPath: /catls + - name: certs + mountPath: /certs + resources: +{{ toYaml .Values.global.openldap.initResources | indent 10 }} + {{- end }} + {{- end }} + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.global.openldap.image.repository }}:{{ .Values.global.openldap.image.tag }}" + imagePullPolicy: {{ .Values.global.openldap.image.pullPolicy }} +{{- if .Values.global.openldap.customLdifFiles }} + args: [--copy-service] +{{- end }} + ports: + - name: ldap-port + containerPort: 389 + - name: ssl-ldap-port + containerPort: 636 + envFrom: + - configMapRef: + name: {{ template "openldap.fullname" . }}-env + - secretRef: + name: {{ template "openldap.secretName" . }} + volumeMounts: + - name: data + mountPath: /var/lib/ldap + subPath: data + - name: data + mountPath: /etc/ldap/slapd.d + subPath: config-data + {{- if .Values.global.openldap.customLdifFiles }} + - name: ldifworkingdir + mountPath: /container/service/slapd/assets/config/bootstrap/ldif/custom + {{- end }} + {{- if .Values.global.openldap.tls.enabled }} + - name: certs + mountPath: /container/service/slapd/assets/certs + {{- end }} + env: + {{- if .Values.global.openldap.tls.enabled }} + - name: LDAP_TLS_CRT_FILENAME + value: tls.crt + - name: LDAP_TLS_KEY_FILENAME + value: tls.key + {{- if .Values.global.openldap.tls.CA.enabled }} + - name: LDAP_TLS_CA_CRT_FILENAME + value: ca.crt + {{- end }} + {{- end }} + livenessProbe: + tcpSocket: + port: ldap-port + initialDelaySeconds: 20 + periodSeconds: 10 + failureThreshold: 10 + readinessProbe: + tcpSocket: + port: ldap-port + initialDelaySeconds: 20 + periodSeconds: 10 + failureThreshold: 10 + resources: +{{ toYaml .Values.global.openldap.resources | indent 12 }} + {{- with .Values.global.openldap.nodeSelector }} + nodeSelector: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.global.openldap.affinity }} + affinity: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.global.openldap.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} + {{- end }} + volumes: + {{- if .Values.global.openldap.customLdifFiles }} + - name: customldif + configMap: + name: {{ template "openldap.fullname" . }}-customldif + - name: ldifworkingdir + emptyDir: {} + {{- end }} + {{- if .Values.global.openldap.tls.enabled }} + - name: tls + secret: + secretName: {{ .Values.global.openldap.tls.secret }} + {{- if .Values.global.openldap.tls.CA.enabled }} + - name: catls + secret: + secretName: {{ .Values.global.openldap.tls.CA.secret }} + {{- end }} + {{- end }} + - name: certs + emptyDir: + medium: Memory + - name: data + {{- if .Values.global.openldap.persistence.enabled }} + persistentVolumeClaim: + claimName: {{ .Values.global.openldap.persistence.existingClaim | default (include "openldap.fullname" .) }} + {{- else }} + emptyDir: {} + {{- end -}} diff --git a/helm-charts/openldap/templates/pvc.yaml b/helm-charts/openldap/templates/pvc.yaml new file mode 100644 index 00000000..b85821a0 --- /dev/null +++ b/helm-charts/openldap/templates/pvc.yaml @@ -0,0 +1,44 @@ +{{- if and .Values.global.openldap.persistence.enabled (not .Values.global.openldap.persistence.existingClaim) }} +--- +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: {{ template "openldap.fullname" . }} + labels: + app: {{ template "openldap.name" . }} + chart: {{ template "openldap.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- if .Values.global.openldap.extraLabels }} +{{ toYaml .Values.global.openldap.extraLabels | indent 4 }} +{{- end }} +spec: + accessModes: + - {{ .Values.global.openldap.persistence.accessMode | quote }} + resources: + requests: + storage: {{ .Values.global.openldap.persistence.size | quote }} +{{- if .Values.global.openldap.persistence.storageClass }} +{{- if (eq "-" .Values.global.openldap.persistence.storageClass) }} + storageClassName: "" +{{- else }} + storageClassName: "{{ .Values.global.openldap.persistence.storageClass }}" +{{- end }} +{{- end }} +{{- end }} diff --git a/helm-charts/openldap/templates/secret.yaml b/helm-charts/openldap/templates/secret.yaml new file mode 100644 index 00000000..7df6e180 --- /dev/null +++ b/helm-charts/openldap/templates/secret.yaml @@ -0,0 +1,35 @@ +{{ if not .Values.global.openldap.existingSecret }} +--- +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +apiVersion: v1 +kind: Secret +metadata: + name: {{ template "openldap.fullname" . }} + labels: + app: {{ template "openldap.name" . }} + chart: {{ template "openldap.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- if .Values.global.openldap.extraLabels }} +{{ toYaml .Values.global.openldap.extraLabels | indent 4 }} +{{- end }} +type: Opaque +data: + LDAP_ADMIN_PASSWORD: {{ .Values.global.openldap.adminPassword | default (randAlphaNum 32) | b64enc | quote }} + LDAP_CONFIG_PASSWORD: {{ .Values.global.openldap.configPassword | default (randAlphaNum 32) | b64enc | quote }} +{{ end }} diff --git a/helm-charts/openldap/templates/service.yaml b/helm-charts/openldap/templates/service.yaml new file mode 100644 index 00000000..7a330305 --- /dev/null +++ b/helm-charts/openldap/templates/service.yaml @@ -0,0 +1,59 @@ +--- +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +apiVersion: v1 +kind: Service +metadata: +{{- if .Values.global.openldap.service.annotations }} + annotations: +{{ toYaml .Values.global.openldap.service.annotations | indent 4 }} +{{- end }} + name: {{ template "openldap.fullname" . }} + labels: + app: {{ template "openldap.name" . }} + chart: {{ template "openldap.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- if .Values.global.openldap.extraLabels }} +{{ toYaml .Values.global.openldap.extraLabels | indent 4 }} +{{- end }} +spec: + clusterIP: {{ .Values.global.openldap.service.clusterIP | quote }} +{{- if .Values.global.openldap.service.externalIPs }} + externalIPs: +{{ toYaml .Values.global.openldap.service.externalIPs | indent 4 }} +{{- end }} +{{- if .Values.global.openldap.service.loadBalancerIP }} + loadBalancerIP: {{ .Values.global.openldap.service.loadBalancerIP | quote }} +{{- end }} +{{- if .Values.global.openldap.service.loadBalancerSourceRanges }} + loadBalancerSourceRanges: +{{ toYaml .Values.global.openldap.service.loadBalancerSourceRanges | indent 4 }} +{{- end }} + ports: + - name: ldap-port + protocol: TCP + port: {{ .Values.global.openldap.service.ldapPort }} + targetPort: ldap-port + - name: ssl-ldap-port + protocol: TCP + port: {{ .Values.global.openldap.service.sslLdapPort }} + targetPort: ssl-ldap-port + selector: + app: {{ template "openldap.name" . }} + release: {{ .Release.Name }} + type: {{ .Values.global.openldap.service.type }} diff --git a/helm-charts/openldap/templates/tests/openldap-test-runner.yaml b/helm-charts/openldap/templates/tests/openldap-test-runner.yaml new file mode 100644 index 00000000..075fbbff --- /dev/null +++ b/helm-charts/openldap/templates/tests/openldap-test-runner.yaml @@ -0,0 +1,67 @@ +{{- if .Values.test.enabled }} +--- +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +apiVersion: v1 +kind: Pod +metadata: + name: "{{ template "openldap.fullname" . }}-test-{{ randAlphaNum 5 | lower }}" + labels: + app: {{ template "openldap.name" . }} + chart: {{ template "openldap.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- if .Values.extraLabels }} +{{ toYaml .Values.extraLabels | indent 4 }} +{{- end }} + annotations: + "helm.sh/hook": test-success +spec: + initContainers: + - name: test-framework + image: {{ .Values.test.image.repository }}:{{ .Values.test.image.tag }} + command: + - "bash" + - "-c" + - | + set -ex + # copy bats to tools dir + cp -R /usr/local/libexec/ /tools/bats/ + volumeMounts: + - mountPath: /tools + name: tools + containers: + - name: {{ .Release.Name }}-test + image: {{ .Values.test.image.repository }}:{{ .Values.test.image.tag }} + envFrom: + - secretRef: + name: {{ template "openldap.secretName" . }} + command: ["/tools/bats/bats", "-t", "/tests/run.sh"] + volumeMounts: + - mountPath: /tests + name: tests + readOnly: true + - mountPath: /tools + name: tools + volumes: + - name: tests + configMap: + name: {{ template "openldap.fullname" . }}-tests + - name: tools + emptyDir: {} + restartPolicy: Never +{{- end -}} diff --git a/helm-charts/openldap/templates/tests/openldap-tests.yaml b/helm-charts/openldap/templates/tests/openldap-tests.yaml new file mode 100644 index 00000000..5460ad98 --- /dev/null +++ b/helm-charts/openldap/templates/tests/openldap-tests.yaml @@ -0,0 +1,39 @@ +{{- if .Values.test.enabled }} +--- +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "openldap.fullname" . }}-tests + labels: + app: {{ template "openldap.name" . }} + chart: {{ template "openldap.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- if .Values.extraLabels }} +{{ toYaml .Values.extraLabels | indent 4 }} +{{- end }} +data: + run.sh: |- + @test "Testing connecting to slapd server" { + # Ideally, this should be in the docker image, but there is not a generic image we can use + # with bats and ldap-utils installed. It is not worth for now to push an image for this. + apt-get update && apt-get install -y ldap-utils + ldapsearch -x -H ldap://{{ template "openldap.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local:{{ .Values.service.ldapPort }} -b "dc=example,dc=org" -D "cn=admin,dc=example,dc=org" -w $LDAP_ADMIN_PASSWORD + } +{{- end -}} diff --git a/helm-charts/openldap/values.yaml b/helm-charts/openldap/values.yaml new file mode 100644 index 00000000..a9e5dfb9 --- /dev/null +++ b/helm-charts/openldap/values.yaml @@ -0,0 +1,133 @@ +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### +global: + openldap: + replicaCount: 1 + + image: + # From repository https://github.com/osixia/docker-openldap + repository: osixia/openldap + tag: 1.2.4 + pullPolicy: IfNotPresent + + initResources: + requests: + cpu: "100m" + memory: "128Mi" + limits: + cpu: "100m" + memory: "128Mi" + resources: + requests: + cpu: "100m" + memory: "256Mi" + limits: + cpu: "500m" + memory: "512Mi" + + service: + annotations: {} + clusterIP: "" + + ldapPort: 389 + sslLdapPort: 636 # Only used if tls.enabled is true + ## List of IP addresses at which the service is available + ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips + ## + externalIPs: [] + + loadBalancerIP: "" + loadBalancerSourceRanges: [] + type: ClusterIP + + # Default configuration for openldap as environment variables. These get injected directly in the container. + # Use the env variables from https://github.com/osixia/docker-openldap#beginner-guide + env: + LDAP_ORGANISATION: "spm" + LDAP_DOMAIN: "spm.com" + LDAP_TLS: "true" + LDAP_TLS_ENFORCE: "false" + LDAP_REMOVE_CONFIG_AFTER_SETUP: "true" + + # Default Passwords to use, stored as a secret. If unset, passwords are auto-generated. + # You can override these at install time with + # helm install openldap --set openldap.adminPassword=,openldap.configPassword= + adminPassword: admin + configPassword: config + + # Custom openldap configuration files used to override default settings + # customLdifFiles: + # 01-default-users.ldif: |- + # Predefine users here + + # settings for enabling TLS + tls: + enabled: false + secret: "" # The name of a kubernetes.io/tls type secret to use for TLS + CA: + enabled: false + secret: "" # The name of a generic secret to use for custom CA certificate (ca.crt) + + ## Persist data to a persistent volume + persistence: + enabled: false + ## database data Persistent Volume Storage Class + ## If defined, storageClassName: + ## If set to "-", storageClassName: "", which disables dynamic provisioning + ## If undefined (the default) or set to null, no storageClassName spec is + ## set, choosing the default provisioner. (gp2 on AWS, standard on + ## GKE, AWS & OpenStack) + ## + # storageClass: "-" + accessMode: ReadWriteOnce + size: 8Gi + # existingClaim: "" + + ## Add additional labels to all resources + extraLabels: {} + + ## Add additional annotations to pods + podAnnotations: {} + +# Define deployment strategy - IMPORTANT: use rollingUpdate: null when use Recreate strategy. +# It prevents from merging with existing map keys which are forbidden. +# strategy: + # type: RollingUpdate + # rollingUpdate: + # maxSurge: 1 + # maxUnavailable: 0 + # + # or + # + # type: Recreate + # rollingUpdate: null +strategy: {} + +# Spcifies an existing secret to be used for admin and config user passwords +existingSecret: "" + +nodeSelector: {} + +tolerations: [] + +affinity: {} + +## test container details +test: + enabled: false + image: + repository: dduportal/bats + tag: 0.4.0 diff --git a/helm-charts/spm/Chart.yaml b/helm-charts/spm/Chart.yaml index f3acfc65..0d6ec998 100644 --- a/helm-charts/spm/Chart.yaml +++ b/helm-charts/spm/Chart.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,21 +13,18 @@ # See the License for the specific language governing permissions and # limitations under the License. ############################################################################### - apiVersion: v1 name: spm description: Umbrella Helm Chart for Full Curam Deployment of SPM within a Kubernetes Cluster +version: 1.2.0 maintainers: - name: Cúram SPM Dev Team - url: https://github.com/IBM/spm-containerization + url: https://github.com/IBM/spm-kubernetes sources: - - https://github.com/IBM/spm-containerization -version: 1.1.0 + - https://github.com/IBM/spm-kubernetes keywords: - Liberty - - runtime - - microservices - - ICP + - Minikube - IKS - Curam - SPM diff --git a/helm-charts/spm/requirements.yaml b/helm-charts/spm/requirements.yaml index f594b2ae..e4d8c30f 100644 --- a/helm-charts/spm/requirements.yaml +++ b/helm-charts/spm/requirements.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,23 +13,29 @@ # See the License for the specific language governing permissions and # limitations under the License. ############################################################################### - dependencies: -- name: configmaps - version: "~1.1.0" +- name: apps + version: "~2.0.0" repository: "@local-development" -- name: xmlserver +- name: batch version: "~1.1.0" repository: "@local-development" -- name: apps - version: "~1.1.0" +- name: ce-app + version: "~1.0.0" + repository: "@local-development" +- name: configmaps + version: "~1.2.0" + repository: "@local-development" +- name: ihs + version: "~2.0.0" repository: "@local-development" - name: mqserver - version: "~1.1.0" + version: "~1.2.0" repository: "@local-development" -- name: batch - version: "~1.1.0" +- name: openldap + version: "~1.0.0" repository: "@local-development" -- name: ihs + condition: global.openldap.enabled +- name: xmlserver version: "~1.1.0" repository: "@local-development" diff --git a/helm-charts/spm/templates/_helpers.tpl b/helm-charts/spm/templates/_helpers.tpl index f419c82c..94b4b468 100644 --- a/helm-charts/spm/templates/_helpers.tpl +++ b/helm-charts/spm/templates/_helpers.tpl @@ -1,5 +1,5 @@ {{/* -Copyright 2019 IBM Corporation +Copyright 2019,2020 IBM Corporation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -54,6 +54,15 @@ Create the image pull secret {{- printf "{\"auths\": {\"%s\": {\"auth\": \"%s\"}}}" .registry (printf "%s:%s" .username (required "Credentials password is required" .password) | b64enc) | b64enc }} {{- end }} +{{/* +Create the persistence secret +*/}} +{{- define "persistenceSecret" -}} +secret-key: {{ required "secretKey is required" .secretKey | b64enc | quote }} +access-key: {{ required "accessKey is required" .accessKey | b64enc | quote}} +service-instance-id: {{ required "instanceId is required" .instanceId | b64enc | quote }} +{{- end -}} + {{/* Build up ssl-services value */}} @@ -63,9 +72,10 @@ Build up ssl-services value ssl-service={{ $.Release.Name }}-apps-{{ $name }}; {{- end -}} {{- end -}} -{{- if .Values.global.images.ceDistTag -}} -ssl-service={{ $.Release.Name }}-ce-app +{{- if .Values.global.ceApp.imageTag -}} +ssl-service={{ $.Release.Name }}-ce-app; {{- end -}} +ssl-service={{ $.Release.Name }}-ihs; {{- end }} {{/* @@ -77,9 +87,10 @@ Build up sticky-cookie-services value serviceName={{ $.Release.Name }}-apps-{{ $name }} name={{ $name }}Route hash=sha1 path=/; {{- end -}} {{- end -}} -{{- if .Values.global.images.ceDistTag -}} +{{- if .Values.global.ceApp.imageTag -}} serviceName={{ $.Release.Name }}-ce-app name=ceRoute hash=sha1 path=/; {{- end -}} +serviceName={{ $.Release.Name }}-ihs name=ihsRoute hash=sha1 path=/; {{- end }} {{/* diff --git a/helm-charts/spm/templates/ingress.yaml b/helm-charts/spm/templates/ingress.yaml index 23d9caf7..1e744ecc 100644 --- a/helm-charts/spm/templates/ingress.yaml +++ b/helm-charts/spm/templates/ingress.yaml @@ -1,5 +1,7 @@ +{{- if .Values.ingress.enabled }} +--- ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,8 +16,7 @@ # limitations under the License. ############################################################################### -{{- if .Values.ingress.enabled }} -apiVersion: extensions/v1beta1 +apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: {{ .Release.Name }} @@ -23,8 +24,14 @@ metadata: labels: {{ include "spm.labels" . | indent 4 }} annotations: - nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" - nginx.ingress.kubernetes.io/ssl-redirect: \"false\" + ingress.bluemix.net/ssl-services: {{ include "sslServicesChain" . }} + ingress.bluemix.net/sticky-cookie-services: {{ include "stickyCookieServicesChain" . }} + nginx.ingress.kubernetes.io/affinity: cookie + nginx.ingress.kubernetes.io/backend-protocol: HTTPS + nginx.ingress.kubernetes.io/session-cookie-path: / + {{- with .Values.ingress.annotations }} + {{- toYaml . | nindent 4 }} + {{- end }} spec: {{- if or .Values.ingress.tlsSecretName .Values.ingress.generateCert }} tls: @@ -37,7 +44,7 @@ spec: {{- end }} {{- end }} rules: - - host: {{ .Values.ingress.hostname }} + - host: {{ required "When ingress is enabled, you must provide a value for ingress.hostname" .Values.ingress.hostname }} http: paths: {{- range $name, $app := .Values.global.apps.config }} @@ -48,8 +55,14 @@ spec: servicePort: {{ $.Values.global.apps.common.port }} {{- end }} {{- end }} - - path: /CuramStatic + {{- if .Values.global.ceApp.imageTag }} + - path: {{ .Values.global.ceApp.ingressPath | default "/universal" }} + backend: + serviceName: {{ $.Release.Name }}-ce-app + servicePort: http + {{- end }} + - path: {{ .Values.global.ihs.ingressPath | default "/CuramStatic" }} backend: serviceName: {{ $.Release.Name }}-ihs - servicePort: {{ $.Values.global.ihs.servicePort }} + servicePort: http {{- end }} diff --git a/helm-charts/spm/templates/persistence-pvc.yaml b/helm-charts/spm/templates/persistence-pvc.yaml new file mode 100644 index 00000000..e8373345 --- /dev/null +++ b/helm-charts/spm/templates/persistence-pvc.yaml @@ -0,0 +1,37 @@ +{{- if $.Values.global.apps.common.persistence.enabled }} +--- +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: {{ $.Release.Name }}-persistence-pvc + annotations: + ibm.io/auto-create-bucket: "false" + ibm.io/auto-delete-bucket: "false" + ibm.io/bucket: {{ required "bucketName is required" $.Values.global.apps.common.persistence.bucketName | quote }} + ibm.io/secret-name: "{{ $.Release.Namespace }}-persistence-secret" + labels: +{{ include "apps.labels" $ | indent 4 }} +spec: + accessModes: + - "ReadWriteMany" + resources: + requests: + storage: 10Gi # Enter a fictitious value + storageClassName: ibmc-s3fs-standard-regional +{{- end }} diff --git a/helm-charts/spm/templates/persistence-secret.yaml b/helm-charts/spm/templates/persistence-secret.yaml new file mode 100644 index 00000000..bed248b4 --- /dev/null +++ b/helm-charts/spm/templates/persistence-secret.yaml @@ -0,0 +1,27 @@ +{{- if $.Values.global.apps.common.persistence.enabled }} +--- +############################################################################### +# Copyright 2019,2020 IBM Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################### + +apiVersion: v1 +kind: Secret +type: ibm/ibmc-s3fs +metadata: + name: {{ .Release.Namespace }}-persistence-secret + namespace: {{ .Release.Namespace }} +data: +{{ include "persistenceSecret" $.Values.global.apps.common.persistence | indent 2 }} +{{- end }} \ No newline at end of file diff --git a/helm-charts/spm/templates/pull-secret.yaml b/helm-charts/spm/templates/pull-secret.yaml index 6bd8045d..17d95050 100644 --- a/helm-charts/spm/templates/pull-secret.yaml +++ b/helm-charts/spm/templates/pull-secret.yaml @@ -1,5 +1,7 @@ +{{- if .Values.global.imagePullSecret.username }} +--- ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,7 +16,6 @@ # limitations under the License. ############################################################################### -{{- if .Values.global.imagePullSecret.username }} apiVersion: v1 kind: Secret metadata: diff --git a/helm-charts/spm/templates/tls-secret.yaml b/helm-charts/spm/templates/tls-secret.yaml index d1dee308..b2ed02d2 100644 --- a/helm-charts/spm/templates/tls-secret.yaml +++ b/helm-charts/spm/templates/tls-secret.yaml @@ -1,5 +1,7 @@ +{{- if and .Values.ingress.enabled .Values.ingress.generateCert }} +--- ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,7 +16,6 @@ # limitations under the License. ############################################################################### -{{- if and .Values.ingress.enabled .Values.ingress.generateCert }} {{- $cert := genSelfSignedCert (required "ingress.hostname must be provided" .Values.ingress.hostname) nil nil 365 }} apiVersion: v1 kind: Secret diff --git a/helm-charts/spm/values.yaml b/helm-charts/spm/values.yaml index db6f35e5..e6964278 100644 --- a/helm-charts/spm/values.yaml +++ b/helm-charts/spm/values.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -16,49 +16,232 @@ global: images: - registry: &imageRegistry minikube.local:5000 + registry: &imageRegistry us.icr.io + imageLibrary: '' + imagePrefix: '' + imageTag: latest pullPolicy: Always imagePullSecret: registry: *imageRegistry + ceApp: + replicaCount: 1 + imageLibrary: '' + imageName: ce-ihs + imageTag: latest + ingressPath: /universal + resources: {} + ihs: + runAs: 1000 + replicaCount: 1 + readinessPath: /CuramStatic + ingressPath: /CuramStatic + resources: {} + database: + ## Database connection configuration + # The property wlp_psw: contains the XOR password injected in the Liberty configuration + # The property spm_psw: contains the encrypted password injected in Bootstrap.properties + type: db2 + port: 50000 + dbName: DATABASE + username: db2admin + wlp_psw: "{xor}Oz1tPjsyNjE=" + spm_psw: "5itAmT5UzH7wR6kvkYqkTw==" + ssl: {} apps: common: port: 8443 + persistence: + ## Persistence volume to store data (such as non-log files) + enabled: false + ## If enabled, creates a PVC to connect to IBM Cloud Object Storage + ## Properties secretKey, accessKey, instanceId, and bucketName are required + ## Values available in the WebUI where the bucket was pre-created + # secretKey: "" + # accessKey: "" + # instanceId: "" + # bucketName: "" + # mountPoint: "/tmp/persistence" + # subDir: "/folder/name" + jmxstats: + ## Parameters of the JMX Stats to be persisted on the PVC + # The property timerPeriod sets the value curam.jmx.output_statistics_timer_period in milliseconds + enabled: false + timerPeriod: 60000 + sessionTimeout: 30m + transactionTimeout: 3m + cookieHttpOnly: true + security: {} + loginTrace: true config: curam: enabled: true - ingressPath: /Curam readinessPath: /Curam + ingressPath: /Curam + jvm: + - "-Xms2048m" + - "-Xmx2048m" + resources: + requests: + cpu: 1 + memory: 2.5Gi + limits: + cpu: 1.5 + memory: 3Gi + rest: + enabled: true + ingressPath: /Rest + jvm: + - "-Xms1536m" + - "-Xmx1536m" + resources: + requests: + cpu: 0.75 + memory: 1.5Gi + limits: + cpu: 1.5 + memory: 2Gi + readinessExec: + - /bin/grep + - "application available .*/Rest" + - /logs/messages.log + citizenportal: + enabled: false + readinessPath: /CitizenPortal + ingressPath: /CitizenPortal + jvm: + - "-Xms2048m" + - "-Xmx2048m" + resources: + requests: + cpu: 1 + memory: 2.5Gi + limits: + cpu: 1.5 + memory: 3Gi + curamwebservices: + enabled: false + readinessPath: /CuramWS2/SOAPMonitor + ingressPath: /CuramWS2 + jvm: + - "-Xms512m" + - "-Xmx512m" + resources: + requests: + cpu: 0.5 + memory: 768Mi + limits: + cpu: 0.75 + memory: 1Gi + curambirtviewer: + enabled: false + readinessTCPProbe: true + ingressPath: /CuramBIRTViewer + jvm: + - "-Xms768m" + - "-Xmx768m" + resources: + requests: + cpu: 0.5 + memory: 1Gi + limits: + cpu: 0.75 + memory: 1.5Gi + cpmexternalns: + enabled: false + readinessPath: /CPMExternalNS + ingressPath: /CPMExternalNS + jvm: + - "-Xms512m" + - "-Xmx512m" + resources: + requests: + cpu: 0.5 + memory: 768Mi + limits: + cpu: 0.75 + memory: 1Gi + cpmexternals: + enabled: false + readinessPath: /CPMExternalS + ingressPath: /CPMExternalS + jvm: + - "-Xms512m" + - "-Xmx512m" + resources: + requests: + cpu: 0.5 + memory: 768Mi + limits: + cpu: 0.75 + memory: 1Gi + navigatorns: + enabled: false + readinessPath: /NavigatorNS + ingressPath: /NavigatorNS + jvm: + - "-Xms512m" + - "-Xmx512m" resources: + requests: + cpu: 0.5 + memory: 768Mi limits: - cpu: 2 - memory: 4Gi + cpu: 0.75 + memory: 1Gi + navigators: + enabled: false + readinessPath: /NavigatorS + ingressPath: /NavigatorS + jvm: + - "-Xms512m" + - "-Xmx512m" + resources: requests: - cpu: 2 - memory: 4Gi - ihs: - servicePort: 443 + cpu: 0.5 + memory: 768Mi + limits: + cpu: 0.75 + memory: 1Gi + mdtworkspace: + enabled: false + readinessPath: /MDTWorkspace + ingressPath: /MDTWorkspace + jvm: + - "-Xms512m" + - "-Xmx512m" + resources: + requests: + cpu: 0.5 + memory: 768Mi + limits: + cpu: 0.75 + memory: 1Gi + samplepublicaccess: + enabled: false + readinessPath: /SamplePublicAccess + ingressPath: /SamplePublicAccess + jvm: + - "-Xms512m" + - "-Xmx512m" + resources: + requests: + cpu: 0.5 + memory: 768Mi + limits: + cpu: 0.75 + memory: 1Gi + ihs: serviceType: NodePort - config: + config: readinessPath: /CuramStatic ingressPath: /CuramStatic - database: - type: "db2" - hostname: "db2hostname" - dbName: "DATABASE" - serviceName: "" - username: "db2admin" - password: "db2adminpassword" - spm_psw: "spmEncryptedDBPassword" - wlp_psw: "xorEncodedDBPassword" - port: 50000 - ssl: - enabled: false - secretName: 'secretName' + openldap: + enabled: false + identityOnly: false ingress: - enabled: true - generateCert: true - hostname: minikube.local + enabled: false + #hostname: minikube.local nameOverride: "" fullnameOverride: "" diff --git a/helm-charts/xmlserver/Chart.yaml b/helm-charts/xmlserver/Chart.yaml index d67cf836..73e9ba79 100644 --- a/helm-charts/xmlserver/Chart.yaml +++ b/helm-charts/xmlserver/Chart.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,21 +13,18 @@ # See the License for the specific language governing permissions and # limitations under the License. ############################################################################### - apiVersion: v1 name: xmlserver description: Helm Chart for XMLServer Container Deployment of SPM within a Kubernetes Cluster +version: 1.1.1 maintainers: - name: Cúram SPM Dev Team - url: https://github.com/IBM/spm-containerization + url: https://github.com/IBM/spm-kubernetes sources: - - https://github.com/IBM/spm-containerization -version: 1.1.0 + - https://github.com/IBM/spm-kubernetes keywords: - Liberty - - runtime - - microservices - - ICP + - Minikube - IKS - Curam - SPM diff --git a/helm-charts/xmlserver/templates/_helpers.tpl b/helm-charts/xmlserver/templates/_helpers.tpl index 3c0cd9af..ea12eeea 100644 --- a/helm-charts/xmlserver/templates/_helpers.tpl +++ b/helm-charts/xmlserver/templates/_helpers.tpl @@ -1,5 +1,5 @@ {{/* -Copyright 2019 IBM Corporation +Copyright 2019,2020 IBM Corporation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -55,7 +55,21 @@ Create the image pull secret {{- end }} {{/* -Define DB2 hostname +Build up full image path +*/}} +{{- define "xmlserver.imageFullName" -}} +{{- .registry -}}/ +{{- if .imageLibrary -}} +{{- .imageLibrary -}}/ +{{- end -}} +{{- if .imagePrefix -}} +{{- .imagePrefix -}} +{{- end -}} +xmlserver:{{- .imageTag -}} +{{- end -}} + +{{/* +Define Database hostname */}} {{- define "xmlserver.dbhostname" -}} {{- if .Values.global.database.hostname -}} @@ -65,6 +79,28 @@ Define DB2 hostname {{- end -}} {{- end -}} +{{/* +Define Database username (or use default) +*/}} +{{- define "xmlserver.db2username" -}} +{{- if .Values.global.database.username -}} +{{- .Values.global.database.username -}} +{{- else -}} +{{- printf "db2admin" -}} +{{- end -}} +{{- end -}} + +{{/* +Define Database password (or use default) +*/}} +{{- define "xmlserver.db2password" -}} +{{- if .Values.global.database.password -}} +{{- .Values.global.database.password -}} +{{- else -}} +{{- printf "%s" "ZGIyYWRtaW4=" | b64dec -}} +{{- end -}} +{{- end -}} + {{/* Common labels */}} diff --git a/helm-charts/xmlserver/templates/deployment.yaml b/helm-charts/xmlserver/templates/deployment.yaml index d47980e7..e272d877 100644 --- a/helm-charts/xmlserver/templates/deployment.yaml +++ b/helm-charts/xmlserver/templates/deployment.yaml @@ -1,5 +1,7 @@ +{{- with .Values.global.xmlserver }} +--- ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,8 +16,6 @@ # limitations under the License. ############################################################################### -{{- with .Values.global.xmlserver }} ---- apiVersion: apps/v1 kind: Deployment metadata: @@ -57,7 +57,7 @@ spec: done containers: - name: {{ $.Chart.Name }} - image: {{ $.Values.global.images.registry }}/xmlserver:latest + image: {{ include "xmlserver.imageFullName" $.Values.global.images }} imagePullPolicy: {{ $.Values.global.images.pullPolicy }} ports: - containerPort: {{ .port | default 1800 }} diff --git a/helm-charts/xmlserver/templates/service.yaml b/helm-charts/xmlserver/templates/service.yaml index c5c6b643..c3e400ff 100644 --- a/helm-charts/xmlserver/templates/service.yaml +++ b/helm-charts/xmlserver/templates/service.yaml @@ -1,5 +1,7 @@ +{{- with .Values.global.xmlserver }} +--- ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,8 +16,6 @@ # limitations under the License. ############################################################################### -{{- with .Values.global.xmlserver }} ---- apiVersion: v1 kind: Service metadata: diff --git a/helm-charts/xmlserver/values.yaml b/helm-charts/xmlserver/values.yaml index 443bdcd0..26df7615 100644 --- a/helm-charts/xmlserver/values.yaml +++ b/helm-charts/xmlserver/values.yaml @@ -1,5 +1,5 @@ ############################################################################### -# Copyright 2019 IBM Corporation +# Copyright 2019,2020 IBM Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,14 +15,23 @@ ############################################################################### global: + # Set to 'accept' to accept the license terms of WebSphere Liberty and WebSphere MQ + license: '' images: - registry: &imageRegistry minikube.local:5000 + registry: &imageRegistry us.icr.io + imageLibrary: '' + imagePrefix: '' + imageTag: latest pullPolicy: Always + database: + type: db2 + port: 50000 + dbName: DATABASE + username: db2admin + initTime: 2 xmlserver: port: 1800 replicaCount: 1 imagePullSecret: registry: *imageRegistry -nameOverride: "" -fullnameOverride: "" diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..487e1063 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,19787 @@ +{ + "name": "example", + "version": "1.20.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/compat-data": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.8.6.tgz", + "integrity": "sha512-CurCIKPTkS25Mb8mz267vU95vy+TyUpnctEX2lV33xWNmHAfjruztgiPBbXZRh3xZZy1CYvGx6XfxyTVS+sk7Q==", + "requires": { + "browserslist": "^4.8.5", + "invariant": "^2.2.4", + "semver": "^5.5.0" + } + }, + "@babel/core": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.7.tgz", + "integrity": "sha512-rBlqF3Yko9cynC5CCFy6+K/w2N+Sq/ff2BPy+Krp7rHlABIr5epbA7OxVeKoMHB39LZOp1UY5SuLjy6uWi35yA==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.7", + "@babel/helpers": "^7.8.4", + "@babel/parser": "^7.8.7", + "@babel/template": "^7.8.6", + "@babel/traverse": "^7.8.6", + "@babel/types": "^7.8.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "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==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@babel/generator": { + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", + "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", + "requires": { + "@babel/types": "^7.8.7", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@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==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", + "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==", + "requires": { + "@babel/helper-explode-assignable-expression": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-builder-react-jsx": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.8.3.tgz", + "integrity": "sha512-JT8mfnpTkKNCboTqZsQTdGo3l3Ik3l7QIt9hh0O9DYiwVel37VoJpILKM4YFbP2euF32nkQSb+F9cUk9b7DDXQ==", + "requires": { + "@babel/types": "^7.8.3", + "esutils": "^2.0.0" + } + }, + "@babel/helper-call-delegate": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.7.tgz", + "integrity": "sha512-doAA5LAKhsFCR0LAFIf+r2RSMmC+m8f/oQ+URnUET/rWeEzC0yTRmAGyWkD4sSu3xwbS7MYQ2u+xlt1V5R56KQ==", + "requires": { + "@babel/helper-hoist-variables": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.7" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.7.tgz", + "integrity": "sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw==", + "requires": { + "@babel/compat-data": "^7.8.6", + "browserslist": "^4.9.1", + "invariant": "^2.2.4", + "levenary": "^1.1.1", + "semver": "^5.5.0" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.8.6.tgz", + "integrity": "sha512-klTBDdsr+VFFqaDHm5rR69OpEQtO2Qv8ECxHS1mNhJJvaHArR6a1xTf5K/eZW7eZpJbhCx3NW1Yt/sKsLXLblg==", + "requires": { + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-member-expression-to-functions": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.6", + "@babel/helper-split-export-declaration": "^7.8.3" + } + }, + "@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==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-regex": "^7.8.3", + "regexpu-core": "^4.7.0" + } + }, + "@babel/helper-define-map": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz", + "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==", + "requires": { + "@babel/helper-function-name": "^7.8.3", + "@babel/types": "^7.8.3", + "lodash": "^4.17.13" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", + "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==", + "requires": { + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", + "requires": { + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", + "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", + "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-module-imports": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", + "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-module-transforms": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.6.tgz", + "integrity": "sha512-RDnGJSR5EFBJjG3deY0NiL0K9TO8SXxS9n/MPsbPK/s9LbQymuLNtlzvDiNS7IpecuL45cMeLVkA+HfmlrnkRg==", + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.6", + "@babel/helper-simple-access": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/template": "^7.8.6", + "@babel/types": "^7.8.6", + "lodash": "^4.17.13" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", + "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@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==" + }, + "@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==", + "requires": { + "lodash": "^4.17.13" + } + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz", + "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-wrap-function": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-replace-supers": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", + "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", + "requires": { + "@babel/helper-member-expression-to-functions": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/traverse": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/helper-simple-access": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", + "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", + "requires": { + "@babel/template": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", + "requires": { + "@babel/types": "^7.8.3" + } + }, + "@babel/helper-wrap-function": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", + "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==", + "requires": { + "@babel/helper-function-name": "^7.8.3", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.3", + "@babel/types": "^7.8.3" + } + }, + "@babel/helpers": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz", + "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==", + "requires": { + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.4", + "@babel/types": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", + "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==" + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz", + "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-remap-async-to-generator": "^7.8.3", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz", + "integrity": "sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz", + "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz", + "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.3.tgz", + "integrity": "sha512-QIoIR9abkVn+seDE3OjA08jWcs3eZ9+wJCKSRgo3WdEU2csFYgdScb+8qHB3+WXsGJD55u+5hWCISI7ejXS+kg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" + } + }, + "@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==", + "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==", + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz", + "integrity": "sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@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==", + "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==", + "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==", + "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==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz", + "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz", + "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz", + "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==", + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-remap-async-to-generator": "^7.8.3" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz", + "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz", + "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "lodash": "^4.17.13" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.6.tgz", + "integrity": "sha512-k9r8qRay/R6v5aWZkrEclEhKO6mc1CCQr2dLsVHBmOQiMpN6I2bpjX3vgnldUWeEI1GHVNByULVxZ4BdP4Hmdg==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-define-map": "^7.8.3", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-optimise-call-expression": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.6", + "@babel/helper-split-export-declaration": "^7.8.3", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz", + "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.8.tgz", + "integrity": "sha512-eRJu4Vs2rmttFCdhPUM3bV0Yo/xPSdPw6ML9KHs/bjB4bLA5HXlbvYXPOD5yASodGod+krjYx21xm1QmL8dCJQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@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==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz", + "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz", + "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==", + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.6.tgz", + "integrity": "sha512-M0pw4/1/KI5WAxPsdcUL/w2LJ7o89YHN3yLkzNjg7Yl15GlVGgzHyCU+FMeAxevHGsLVmUqbirlUIKTafPmzdw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz", + "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==", + "requires": { + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz", + "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz", + "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz", + "integrity": "sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ==", + "requires": { + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz", + "integrity": "sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg==", + "requires": { + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-simple-access": "^7.8.3", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz", + "integrity": "sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg==", + "requires": { + "@babel/helper-hoist-variables": "^7.8.3", + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "babel-plugin-dynamic-import-node": "^2.3.0" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz", + "integrity": "sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw==", + "requires": { + "@babel/helper-module-transforms": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", + "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz", + "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz", + "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-replace-supers": "^7.8.3" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.8.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.8.tgz", + "integrity": "sha512-hC4Ld/Ulpf1psQciWWwdnUspQoQco2bMzSrwU6TmzRlvoYQe4rQFy9vnCZDTlVeCQj0JPfL+1RX0V8hCJvkgBA==", + "requires": { + "@babel/helper-call-delegate": "^7.8.7", + "@babel/helper-get-function-arity": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz", + "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.8.3.tgz", + "integrity": "sha512-3Jy/PCw8Fe6uBKtEgz3M82ljt+lTg+xJaM4og+eyu83qLT87ZUSckn0wy7r31jflURWLO83TW6Ylf7lyXj3m5A==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.8.3.tgz", + "integrity": "sha512-r0h+mUiyL595ikykci+fbwm9YzmuOrUBi0b+FDIKmi3fPQyFokWVEMJnRWHJPPQEjyFJyna9WZC6Viv6UHSv1g==", + "requires": { + "@babel/helper-builder-react-jsx": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.8.3.tgz", + "integrity": "sha512-01OT7s5oa0XTLf2I8XGsL8+KqV9lx3EZV+jxn/L2LQ97CGKila2YMroTkCEIE0HV/FF7CMSRsIAybopdN9NTdg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.8.3.tgz", + "integrity": "sha512-PLMgdMGuVDtRS/SzjNEQYUT8f4z1xb2BAT54vM1X5efkVuYBf5WyGUMbpmARcfq3NaglIwz08UVQK4HHHbC6ag==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz", + "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==", + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz", + "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.8.3.tgz", + "integrity": "sha512-/vqUt5Yh+cgPZXXjmaG9NT8aVfThKk7G4OqkVhrXqwsC5soMn/qTCxs36rZ2QFhpfTJcjw4SNDIZ4RUb8OL4jQ==", + "requires": { + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "resolve": "^1.8.1", + "semver": "^5.5.1" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", + "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz", + "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz", + "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/helper-regex": "^7.8.3" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz", + "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==", + "requires": { + "@babel/helper-annotate-as-pure": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz", + "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz", + "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==", + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/polyfill": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.8.7.tgz", + "integrity": "sha512-LeSfP9bNZH2UOZgcGcZ0PIHUt1ZuHub1L3CVmEyqLxCeDLm4C5Gi8jRH8ZX2PNpDhQCo0z6y/+DIs2JlliXW8w==", + "requires": { + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/preset-env": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.8.7.tgz", + "integrity": "sha512-BYftCVOdAYJk5ASsznKAUl53EMhfBbr8CJ1X+AJLfGPscQkwJFiaV/Wn9DPH/7fzm2v6iRYJKYHSqyynTGw0nw==", + "requires": { + "@babel/compat-data": "^7.8.6", + "@babel/helper-compilation-targets": "^7.8.7", + "@babel/helper-module-imports": "^7.8.3", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-proposal-async-generator-functions": "^7.8.3", + "@babel/plugin-proposal-dynamic-import": "^7.8.3", + "@babel/plugin-proposal-json-strings": "^7.8.3", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-proposal-object-rest-spread": "^7.8.3", + "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", + "@babel/plugin-proposal-optional-chaining": "^7.8.3", + "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@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.8.3", + "@babel/plugin-transform-arrow-functions": "^7.8.3", + "@babel/plugin-transform-async-to-generator": "^7.8.3", + "@babel/plugin-transform-block-scoped-functions": "^7.8.3", + "@babel/plugin-transform-block-scoping": "^7.8.3", + "@babel/plugin-transform-classes": "^7.8.6", + "@babel/plugin-transform-computed-properties": "^7.8.3", + "@babel/plugin-transform-destructuring": "^7.8.3", + "@babel/plugin-transform-dotall-regex": "^7.8.3", + "@babel/plugin-transform-duplicate-keys": "^7.8.3", + "@babel/plugin-transform-exponentiation-operator": "^7.8.3", + "@babel/plugin-transform-for-of": "^7.8.6", + "@babel/plugin-transform-function-name": "^7.8.3", + "@babel/plugin-transform-literals": "^7.8.3", + "@babel/plugin-transform-member-expression-literals": "^7.8.3", + "@babel/plugin-transform-modules-amd": "^7.8.3", + "@babel/plugin-transform-modules-commonjs": "^7.8.3", + "@babel/plugin-transform-modules-systemjs": "^7.8.3", + "@babel/plugin-transform-modules-umd": "^7.8.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", + "@babel/plugin-transform-new-target": "^7.8.3", + "@babel/plugin-transform-object-super": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.8.7", + "@babel/plugin-transform-property-literals": "^7.8.3", + "@babel/plugin-transform-regenerator": "^7.8.7", + "@babel/plugin-transform-reserved-words": "^7.8.3", + "@babel/plugin-transform-shorthand-properties": "^7.8.3", + "@babel/plugin-transform-spread": "^7.8.3", + "@babel/plugin-transform-sticky-regex": "^7.8.3", + "@babel/plugin-transform-template-literals": "^7.8.3", + "@babel/plugin-transform-typeof-symbol": "^7.8.4", + "@babel/plugin-transform-unicode-regex": "^7.8.3", + "@babel/types": "^7.8.7", + "browserslist": "^4.8.5", + "core-js-compat": "^3.6.2", + "invariant": "^2.2.2", + "levenary": "^1.1.1", + "semver": "^5.5.0" + } + }, + "@babel/preset-react": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.8.3.tgz", + "integrity": "sha512-9hx0CwZg92jGb7iHYQVgi0tOEHP/kM60CtWJQnmbATSPIQQ2xYzfoCI3EdqAhFBeeJwYMdWQuDUHMsuDbH9hyQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-transform-react-display-name": "^7.8.3", + "@babel/plugin-transform-react-jsx": "^7.8.3", + "@babel/plugin-transform-react-jsx-self": "^7.8.3", + "@babel/plugin-transform-react-jsx-source": "^7.8.3" + } + }, + "@babel/runtime": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.7.tgz", + "integrity": "sha512-+AATMUFppJDw6aiR5NVPHqIQBlV/Pj8wY/EZH+lmvRdUo9xBaz/rF3alAwFJQavvKfeOlPE7oaaDHVbcySbCsg==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/runtime-corejs3": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.8.7.tgz", + "integrity": "sha512-sc7A+H4I8kTd7S61dgB9RomXu/C+F4IrRr4Ytze4dnfx7AXEpCrejSNpjx7vq6y/Bak9S6Kbk65a/WgMLtg43Q==", + "requires": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6" + } + }, + "@babel/traverse": { + "version": "7.8.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", + "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.6", + "@babel/helper-function-name": "^7.8.3", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.8.6", + "@babel/types": "^7.8.6", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@babel/types": { + "version": "7.8.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@carbon/colors": { + "version": "10.8.1", + "resolved": "https://registry.npmjs.org/@carbon/colors/-/colors-10.8.1.tgz", + "integrity": "sha512-p/dSgmdW18CAy3VA1+GXL6s9W/u9fd+mFVnwepUYg9cCHDKA2t1rpeFP9HZd/96JvTFysjJqBl5HamkRVM03pA==" + }, + "@carbon/elements": { + "version": "10.10.2", + "resolved": "https://registry.npmjs.org/@carbon/elements/-/elements-10.10.2.tgz", + "integrity": "sha512-lZhU2guwBiag/Cjo6fx+TGwoZaiI+Ohpc4od2WalmiSYYF5ploYsneuWuFISLWOOVYwhlLxFxz77A/XuuxtRbg==", + "requires": { + "@carbon/colors": "^10.8.1", + "@carbon/grid": "^10.9.2", + "@carbon/icons": "^10.9.2", + "@carbon/import-once": "^10.3.0", + "@carbon/layout": "^10.8.2", + "@carbon/motion": "^10.6.0", + "@carbon/themes": "^10.10.2", + "@carbon/type": "^10.9.2" + } + }, + "@carbon/grid": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/@carbon/grid/-/grid-10.9.2.tgz", + "integrity": "sha512-ubApaJb3K2WB69dk40OgFHC63wtmKkrK/+6TIwcLQd13Hx79GUFnvRNvqLmrR8f/8r8jExIV+OFo/77X1LuctA==", + "requires": { + "@carbon/import-once": "^10.3.0", + "@carbon/layout": "^10.8.2" + } + }, + "@carbon/icon-helpers": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/@carbon/icon-helpers/-/icon-helpers-10.6.0.tgz", + "integrity": "sha512-4Nh6l+B8SRNyw1RpgNT4Z83Aa5UwRFmKJ2mx5m7mE5TqxPkfIZjyyLHyv5gl3gPtaVwq78ZGz80wG0NRQzRM7g==" + }, + "@carbon/icons": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/@carbon/icons/-/icons-10.9.2.tgz", + "integrity": "sha512-FFAynS/jzGErCoTyDBvkVypqln5wTAkMvwdIE9oOWq4YJB3CQn+LYQD7GcW6H2nat2VSEqcfiTTTkXQIqZXKPw==" + }, + "@carbon/icons-react": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/@carbon/icons-react/-/icons-react-10.9.2.tgz", + "integrity": "sha512-Dm3ouT2ZEC3sY1ndOxUsHYUJhkwT7OLFqCwGr6zx2VhH27WQu4S63WBvm6N9g5UJkxKAbEH5v2kD7OUH9wV+4A==", + "requires": { + "@carbon/icon-helpers": "^10.6.0" + } + }, + "@carbon/import-once": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@carbon/import-once/-/import-once-10.3.0.tgz", + "integrity": "sha512-PFk3FhMe3psihYtCg3JsyPHismqglnbUqIpz1DCG5Gn/kt0HdVKhGvHdEq7E305rGoBUCKzMn/4xoY9v9mcmlg==" + }, + "@carbon/layout": { + "version": "10.8.2", + "resolved": "https://registry.npmjs.org/@carbon/layout/-/layout-10.8.2.tgz", + "integrity": "sha512-ak78dHILgmWGgRZfIWhCRQRrP/tfJWY1iIjnlq2+cfD18gMUCtR0F8TSZLGTrH3h7jxQzLj0LoaRLe1u6o1iyA==" + }, + "@carbon/motion": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/@carbon/motion/-/motion-10.6.0.tgz", + "integrity": "sha512-AByB+GXw3JpalElLuEHibj0fzDbQD1SpJO8x3HIxSbhZDjyAEK7z9v4SfhJ6/fe34zySNtG3YFbVt4nHc/dYVQ==" + }, + "@carbon/themes": { + "version": "10.10.2", + "resolved": "https://registry.npmjs.org/@carbon/themes/-/themes-10.10.2.tgz", + "integrity": "sha512-hxCKpoNe07NYKMRrMm0QkisGHSvWxJpWjvlbfVsh+3XiDd1nEoRgeF53nRrMh7JTYJ4+0INV3dCXud5sWFJIYA==", + "requires": { + "@carbon/colors": "^10.8.1", + "@carbon/layout": "^10.8.2", + "@carbon/type": "^10.9.2", + "color": "^3.1.2" + } + }, + "@carbon/type": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/@carbon/type/-/type-10.9.2.tgz", + "integrity": "sha512-y6ygWD3nlJrNJrF8g31cQlQylFVsqAFzH6M9wY7GjoXl8pWruNcQSahxE+Pv0JB5U2ErscF7jKHjbMRkab+XxQ==", + "requires": { + "@carbon/import-once": "^10.3.0", + "@carbon/layout": "^10.8.2" + } + }, + "@emotion/babel-plugin-jsx-pragmatic": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin-jsx-pragmatic/-/babel-plugin-jsx-pragmatic-0.1.5.tgz", + "integrity": "sha512-y+3AJ0SItMDaAgGPVkQBC/S/BaqaPACkQ6MyCI2CUlrjTxKttTVfD3TMtcs7vLEcLxqzZ1xiG0vzwCXjhopawQ==", + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@emotion/babel-preset-css-prop": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/babel-preset-css-prop/-/babel-preset-css-prop-10.0.27.tgz", + "integrity": "sha512-rducrjTpLGDholp0l2l4pXqpzAqYYGMg/x4IteO0db2smf6zegn6RRZdDnbaoMSs63tfPWgo2WukT1/F1gX/AA==", + "requires": { + "@babel/plugin-transform-react-jsx": "^7.3.0", + "@babel/runtime": "^7.5.5", + "@emotion/babel-plugin-jsx-pragmatic": "^0.1.5", + "babel-plugin-emotion": "^10.0.27" + } + }, + "@emotion/cache": { + "version": "10.0.29", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-10.0.29.tgz", + "integrity": "sha512-fU2VtSVlHiF27empSbxi1O2JFdNWZO+2NFHfwO0pxgTep6Xa3uGb+3pVKfLww2l/IBGLNEZl5Xf/++A4wAYDYQ==", + "requires": { + "@emotion/sheet": "0.9.4", + "@emotion/stylis": "0.8.5", + "@emotion/utils": "0.11.3", + "@emotion/weak-memoize": "0.2.5" + } + }, + "@emotion/core": { + "version": "10.0.28", + "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.28.tgz", + "integrity": "sha512-pH8UueKYO5jgg0Iq+AmCLxBsvuGtvlmiDCOuv8fGNYn3cowFpLN98L8zO56U0H1PjDIyAlXymgL3Wu7u7v6hbA==", + "requires": { + "@babel/runtime": "^7.5.5", + "@emotion/cache": "^10.0.27", + "@emotion/css": "^10.0.27", + "@emotion/serialize": "^0.11.15", + "@emotion/sheet": "0.9.4", + "@emotion/utils": "0.11.3" + } + }, + "@emotion/css": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/css/-/css-10.0.27.tgz", + "integrity": "sha512-6wZjsvYeBhyZQYNrGoR5yPMYbMBNEnanDrqmsqS1mzDm1cOTu12shvl2j4QHNS36UaTE0USIJawCH9C8oW34Zw==", + "requires": { + "@emotion/serialize": "^0.11.15", + "@emotion/utils": "0.11.3", + "babel-plugin-emotion": "^10.0.27" + } + }, + "@emotion/hash": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", + "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==" + }, + "@emotion/is-prop-valid": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", + "requires": { + "@emotion/memoize": "0.7.4" + } + }, + "@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==" + }, + "@emotion/serialize": { + "version": "0.11.16", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-0.11.16.tgz", + "integrity": "sha512-G3J4o8by0VRrO+PFeSc3js2myYNOXVJ3Ya+RGVxnshRYgsvErfAOglKAiy1Eo1vhzxqtUvjCyS5gtewzkmvSSg==", + "requires": { + "@emotion/hash": "0.8.0", + "@emotion/memoize": "0.7.4", + "@emotion/unitless": "0.7.5", + "@emotion/utils": "0.11.3", + "csstype": "^2.5.7" + } + }, + "@emotion/sheet": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-0.9.4.tgz", + "integrity": "sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==" + }, + "@emotion/styled": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.0.27.tgz", + "integrity": "sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==", + "requires": { + "@emotion/styled-base": "^10.0.27", + "babel-plugin-emotion": "^10.0.27" + } + }, + "@emotion/styled-base": { + "version": "10.0.31", + "resolved": "https://registry.npmjs.org/@emotion/styled-base/-/styled-base-10.0.31.tgz", + "integrity": "sha512-wTOE1NcXmqMWlyrtwdkqg87Mu6Rj1MaukEoEmEkHirO5IoHDJ8LgCQL4MjJODgxWxXibGR3opGp1p7YvkNEdXQ==", + "requires": { + "@babel/runtime": "^7.5.5", + "@emotion/is-prop-valid": "0.8.8", + "@emotion/serialize": "^0.11.15", + "@emotion/utils": "0.11.3" + } + }, + "@emotion/stylis": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", + "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" + }, + "@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "@emotion/utils": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-0.11.3.tgz", + "integrity": "sha512-0o4l6pZC+hI88+bzuaX/6BgOvQVhbt2PfmxauVaYOGgbsAw14wdKyvMCZXnsnsHys94iadcF+RG/wZyx6+ZZBw==" + }, + "@emotion/weak-memoize": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz", + "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" + }, + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==" + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==" + }, + "@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==" + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "requires": { + "@hapi/hoek": "^8.3.0" + } + }, + "@jimp/bmp": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.6.8.tgz", + "integrity": "sha512-uxVgSkI62uAzk5ZazYHEHBehow590WAkLKmDXLzkr/XP/Hv2Fx1T4DKwJ/15IY5ktq5VAhAUWGXTyd8KWFsx7w==", + "requires": { + "@jimp/utils": "^0.6.8", + "bmp-js": "^0.1.0", + "core-js": "^2.5.7" + } + }, + "@jimp/core": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.6.8.tgz", + "integrity": "sha512-JOFqBBcSNiDiMZJFr6OJqC6viXj5NVBQISua0eacoYvo4YJtTajOIxC4MqWyUmGrDpRMZBR8QhSsIOwsFrdROA==", + "requires": { + "@jimp/utils": "^0.6.8", + "any-base": "^1.1.0", + "buffer": "^5.2.0", + "core-js": "^2.5.7", + "exif-parser": "^0.1.12", + "file-type": "^9.0.0", + "load-bmfont": "^1.3.1", + "mkdirp": "0.5.1", + "phin": "^2.9.1", + "pixelmatch": "^4.0.2", + "tinycolor2": "^1.4.1" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "file-type": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz", + "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==" + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + } + } + }, + "@jimp/custom": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.6.8.tgz", + "integrity": "sha512-FrYlzZRVXP2vuVwd7Nc2dlK+iZk4g6IaT1Ib8Z6vU5Kkwlt83FJIPJ2UUFABf3bF5big0wkk8ZUihWxE4Nzdng==", + "requires": { + "@jimp/core": "^0.6.8", + "core-js": "^2.5.7" + } + }, + "@jimp/gif": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.6.8.tgz", + "integrity": "sha512-yyOlujjQcgz9zkjM5ihZDEppn9d1brJ7jQHP5rAKmqep0G7FU1D0AKcV+Ql18RhuI/CgWs10wAVcrQpmLnu4Yw==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7", + "omggif": "^1.0.9" + } + }, + "@jimp/jpeg": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.6.8.tgz", + "integrity": "sha512-rGtXbYpFXAn471qLpTGvhbBMNHJo5KiufN+vC5AWyufntmkt5f0Ox2Cx4ijuBMDtirZchxbMLtrfGjznS4L/ew==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7", + "jpeg-js": "^0.3.4" + } + }, + "@jimp/plugin-blit": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.6.8.tgz", + "integrity": "sha512-7Tl6YpKTSpvwQbnGNhsfX2zyl3jRVVopd276Y2hF2zpDz9Bycow7NdfNU/4Nx1jaf96X6uWOtSVINcQ7rGd47w==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + } + }, + "@jimp/plugin-blur": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.6.8.tgz", + "integrity": "sha512-NpZCMKxXHLDQsX9zPlWtpMA660DQStY6/z8ZetyxCDbqrLe9YCXpeR4MNhdJdABIiwTm1W5FyFF4kp81PHJx3Q==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + } + }, + "@jimp/plugin-color": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.6.8.tgz", + "integrity": "sha512-jjFyU0zNmGOH2rjzHuOMU4kaia0oo82s/7UYfn5h7OUkmUZTd6Do3ZSK1PiXA7KR+s4B76/Omm6Doh/0SGb7BQ==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7", + "tinycolor2": "^1.4.1" + } + }, + "@jimp/plugin-contain": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.6.8.tgz", + "integrity": "sha512-p/P2wCXhAzbmEgXvGsvmxLmbz45feF6VpR4m9suPSOr8PC/i/XvTklTqYEUidYYAft4vHgsYJdS74HKSMnH8lw==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + } + }, + "@jimp/plugin-cover": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.6.8.tgz", + "integrity": "sha512-2PvWgk+PJfRsfWDI1G8Fpjrsu0ZlpNyZxO2+fqWlVo6y/y2gP4v08FqvbkcqSjNlOu2IDWIFXpgyU0sTINWZLg==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + } + }, + "@jimp/plugin-crop": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.6.8.tgz", + "integrity": "sha512-CbrcpWE2xxPK1n/JoTXzhRUhP4mO07mTWaSavenCg664oQl/9XCtL+A0FekuNHzIvn4myEqvkiTwN7FsbunS/Q==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + } + }, + "@jimp/plugin-displace": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.6.8.tgz", + "integrity": "sha512-RmV2bPxoPE6mrPxtYSPtHxm2cGwBQr5a2p+9gH6SPy+eUMrbGjbvjwKNfXWUYD0leML+Pt5XOmAS9pIROmuruQ==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + } + }, + "@jimp/plugin-dither": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.6.8.tgz", + "integrity": "sha512-x6V/qjxe+xypjpQm7GbiMNqci1EW5UizrcebOhHr8AHijOEqHd2hjXh5f6QIGfrkTFelc4/jzq1UyCsYntqz9Q==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + } + }, + "@jimp/plugin-flip": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.6.8.tgz", + "integrity": "sha512-4il6Da6G39s9MyWBEee4jztEOUGJ40E6OlPjkMrdpDNvge6hYEAB31BczTYBP/CEY74j4LDSoY5LbcU4kv06yA==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + } + }, + "@jimp/plugin-gaussian": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.6.8.tgz", + "integrity": "sha512-pVOblmjv7stZjsqloi4YzHVwAPXKGdNaHPhp4KP4vj41qtc6Hxd9z/+VWGYRTunMFac84gUToe0UKIXd6GhoKw==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + } + }, + "@jimp/plugin-invert": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.6.8.tgz", + "integrity": "sha512-11zuLiXDHr6tFv4U8aieXqNXQEKbDbSBG/h+X62gGTNFpyn8EVPpncHhOqrAFtZUaPibBqMFlNJ15SzwC7ExsQ==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + } + }, + "@jimp/plugin-mask": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.6.8.tgz", + "integrity": "sha512-hZJ0OiKGJyv7hDSATwJDkunB1Ie80xJnONMgpUuUseteK45YeYNBOiZVUe8vum8QI1UwavgBzcvQ9u4fcgXc9g==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + } + }, + "@jimp/plugin-normalize": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.6.8.tgz", + "integrity": "sha512-Q4oYhU+sSyTJI7pMZlg9/mYh68ujLfOxXzQGEXuw0sHGoGQs3B0Jw7jmzGa6pIS06Hup5hD2Zuh1ppvMdjJBfQ==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + } + }, + "@jimp/plugin-print": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.6.8.tgz", + "integrity": "sha512-2aokejGn4Drv1FesnZGqh5KEq0FQtR0drlmtyZrBH+r9cx7hh0Qgf4D1BOTDEgXkfSSngjGRjKKRW/fwOrVXYw==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7", + "load-bmfont": "^1.4.0" + } + }, + "@jimp/plugin-resize": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.6.8.tgz", + "integrity": "sha512-27nPh8L1YWsxtfmV/+Ub5dOTpXyC0HMF2cu52RQSCYxr+Lm1+23dJF70AF1poUbUe+FWXphwuUxQzjBJza9UoA==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + } + }, + "@jimp/plugin-rotate": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.6.8.tgz", + "integrity": "sha512-GbjETvL05BDoLdszNUV4Y0yLkHf177MnqGqilA113LIvx9aD0FtUopGXYfRGVvmtTOTouoaGJUc+K6qngvKxww==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + } + }, + "@jimp/plugin-scale": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.6.8.tgz", + "integrity": "sha512-GzIYWR/oCUK2jAwku23zt19V1ssaEU4pL0x2XsLNKuuJEU6DvEytJyTMXCE7OLG/MpDBQcQclJKHgiyQm5gIOQ==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7" + } + }, + "@jimp/plugins": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.6.8.tgz", + "integrity": "sha512-fMcTI72Vn/Lz6JftezTURmyP5ml/xGMe0Ljx2KRJ85IWyP33vDmGIUuutFiBEbh2+y7lRT+aTSmjs0QGa/xTmQ==", + "requires": { + "@jimp/plugin-blit": "^0.6.8", + "@jimp/plugin-blur": "^0.6.8", + "@jimp/plugin-color": "^0.6.8", + "@jimp/plugin-contain": "^0.6.8", + "@jimp/plugin-cover": "^0.6.8", + "@jimp/plugin-crop": "^0.6.8", + "@jimp/plugin-displace": "^0.6.8", + "@jimp/plugin-dither": "^0.6.8", + "@jimp/plugin-flip": "^0.6.8", + "@jimp/plugin-gaussian": "^0.6.8", + "@jimp/plugin-invert": "^0.6.8", + "@jimp/plugin-mask": "^0.6.8", + "@jimp/plugin-normalize": "^0.6.8", + "@jimp/plugin-print": "^0.6.8", + "@jimp/plugin-resize": "^0.6.8", + "@jimp/plugin-rotate": "^0.6.8", + "@jimp/plugin-scale": "^0.6.8", + "core-js": "^2.5.7", + "timm": "^1.6.1" + } + }, + "@jimp/png": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.6.8.tgz", + "integrity": "sha512-JHHg/BZ7KDtHQrcG+a7fztw45rdf7okL/YwkN4qU5FH7Fcrp41nX5QnRviDtD9hN+GaNC7kvjvcqRAxW25qjew==", + "requires": { + "@jimp/utils": "^0.6.8", + "core-js": "^2.5.7", + "pngjs": "^3.3.3" + } + }, + "@jimp/tiff": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.6.8.tgz", + "integrity": "sha512-iWHbxd+0IKWdJyJ0HhoJCGYmtjPBOusz1z1HT/DnpePs/Lo3TO4d9ALXqYfUkyG74ZK5jULZ69KLtwuhuJz1bg==", + "requires": { + "core-js": "^2.5.7", + "utif": "^2.0.1" + } + }, + "@jimp/types": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.6.8.tgz", + "integrity": "sha512-vCZ/Cp2osy69VP21XOBACfHI5HeR60Rfd4Jidj4W73UL+HrFWOtyQiJ7hlToyu1vI5mR/NsUQpzyQvz56ADm5A==", + "requires": { + "@jimp/bmp": "^0.6.8", + "@jimp/gif": "^0.6.8", + "@jimp/jpeg": "^0.6.8", + "@jimp/png": "^0.6.8", + "@jimp/tiff": "^0.6.8", + "core-js": "^2.5.7", + "timm": "^1.6.1" + } + }, + "@jimp/utils": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.6.8.tgz", + "integrity": "sha512-7RDfxQ2C/rarNG9iso5vmnKQbcvlQjBIlF/p7/uYj72WeZgVCB+5t1fFBKJSU4WhniHX4jUMijK+wYGE3Y3bGw==", + "requires": { + "core-js": "^2.5.7" + } + }, + "@mdx-js/mdx": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.5.7.tgz", + "integrity": "sha512-db1E3P0HCgSUX768Y/jIcr5h41VR5AsvaOmPTydltNM4R8Uh863IqDvnkpa7l829bY/tp6wrMBWM2NH0oLuxHw==", + "requires": { + "@babel/core": "7.8.4", + "@babel/plugin-syntax-jsx": "7.8.3", + "@babel/plugin-syntax-object-rest-spread": "7.8.3", + "@mdx-js/util": "^1.5.7", + "babel-plugin-apply-mdx-type-prop": "^1.5.7", + "babel-plugin-extract-import-names": "^1.5.7", + "camelcase-css": "2.0.1", + "detab": "2.0.3", + "hast-util-raw": "5.0.1", + "lodash.uniq": "4.5.0", + "mdast-util-to-hast": "7.0.0", + "remark-mdx": "^1.5.7", + "remark-parse": "7.0.2", + "remark-squeeze-paragraphs": "3.0.4", + "style-to-object": "0.3.0", + "unified": "8.4.2", + "unist-builder": "2.0.3", + "unist-util-visit": "2.0.2" + }, + "dependencies": { + "@babel/core": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.4.tgz", + "integrity": "sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.4", + "@babel/helpers": "^7.8.4", + "@babel/parser": "^7.8.4", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.4", + "@babel/types": "^7.8.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@mdx-js/react": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.5.7.tgz", + "integrity": "sha512-OxX/GKyVlqY7WqyRcsIA/qr7i1Xq3kAVNUhSSnL1mfKKNKO+hwMWcZX4WS2OItLtoavA2/8TVDHpV/MWKWyfvw==" + }, + "@mdx-js/util": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.5.7.tgz", + "integrity": "sha512-SV+V8A+Y33pmVT/LWk/2y51ixIyA/QH1XL+nrWAhoqre1rFtxOEZ4jr0W+bKZpeahOvkn/BQTheK+dRty9o/ig==" + }, + "@mikaelkristiansson/domready": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@mikaelkristiansson/domready/-/domready-1.0.10.tgz", + "integrity": "sha512-6cDuZeKSCSJ1KvfEQ25Y8OXUjqDJZ+HgUs6dhASWbAX8fxVraTfPsSeRe2bN+4QJDsgUaXaMWBYfRomCr04GGg==" + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", + "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "requires": { + "@nodelib/fs.stat": "2.0.3", + "run-parallel": "^1.1.9" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" + } + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" + }, + "@nodelib/fs.walk": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", + "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "requires": { + "@nodelib/fs.scandir": "2.1.3", + "fastq": "^1.6.0" + } + }, + "@pieh/friendly-errors-webpack-plugin": { + "version": "1.7.0-chalk-2", + "resolved": "https://registry.npmjs.org/@pieh/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0-chalk-2.tgz", + "integrity": "sha512-65+vYGuDkHBCWWjqzzR/Ck318+d6yTI00EqII9qe3aPD1J3Olhvw0X38uM5moQb1PK/ksDXwSoPGt/5QhCiotw==", + "requires": { + "chalk": "^2.4.2", + "error-stack-parser": "^2.0.0", + "string-width": "^2.0.0", + "strip-ansi": "^3" + } + }, + "@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.2.0.tgz", + "integrity": "sha512-rjdNzcWroULJeD/Y0+eETy9LhM7c5tbPF+wqT5G680rwDkh3iothIPEqGAuEE2WJlXEaAq293aO6ySzsIU518Q==", + "requires": { + "ansi-html": "^0.0.7", + "error-stack-parser": "^2.0.4", + "html-entities": "^1.2.1", + "lodash.debounce": "^4.0.8", + "react-dev-utils": "^9.1.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "requires": { + "@babel/highlight": "^7.0.0" + } + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "browserslist": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz", + "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==", + "requires": { + "caniuse-lite": "^1.0.30000989", + "electron-to-chromium": "^1.3.247", + "node-releases": "^1.1.29" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "react-dev-utils": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-9.1.0.tgz", + "integrity": "sha512-X2KYF/lIGyGwP/F/oXgGDF24nxDA2KC4b7AFto+eqzc/t838gpSGiaU8trTqHXOohuLxxc5qi1eDzsl9ucPDpg==", + "requires": { + "@babel/code-frame": "7.5.5", + "address": "1.1.2", + "browserslist": "4.7.0", + "chalk": "2.4.2", + "cross-spawn": "6.0.5", + "detect-port-alt": "1.1.6", + "escape-string-regexp": "1.0.5", + "filesize": "3.6.1", + "find-up": "3.0.0", + "fork-ts-checker-webpack-plugin": "1.5.0", + "global-modules": "2.0.0", + "globby": "8.0.2", + "gzip-size": "5.1.1", + "immer": "1.10.0", + "inquirer": "6.5.0", + "is-root": "2.1.0", + "loader-utils": "1.2.3", + "open": "^6.3.0", + "pkg-up": "2.0.0", + "react-error-overlay": "^6.0.3", + "recursive-readdir": "2.2.2", + "shell-quote": "1.7.2", + "sockjs-client": "1.4.0", + "strip-ansi": "5.2.0", + "text-table": "0.2.0" + } + }, + "react-error-overlay": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.6.tgz", + "integrity": "sha512-Yzpno3enVzSrSCnnljmr4b/2KUQSMZaPuqmS26t9k4nW7uwJk6STWmH9heNjPuvqUTO3jOSPkHoKgO4+Dw7uIw==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "@reach/router": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@reach/router/-/router-1.3.3.tgz", + "integrity": "sha512-gOIAiFhWdiVGSVjukKeNKkCRBLmnORoTPyBihI/jLunICPgxdP30DroAvPQuf1eVfQbfGJQDJkwhJXsNPMnVWw==", + "requires": { + "create-react-context": "0.3.0", + "invariant": "^2.2.3", + "prop-types": "^15.6.1", + "react-lifecycles-compat": "^3.0.4" + } + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@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==" + }, + "@types/configstore": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@types/configstore/-/configstore-2.1.1.tgz", + "integrity": "sha1-zR6FU2M60xhcPy8jns/10mQ+krY=" + }, + "@types/debug": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-0.0.30.tgz", + "integrity": "sha512-orGL5LXERPYsLov6CWs3Fh6203+dXzJkR7OnddIr2514Hsecwc8xRpzCapshBbKFImCsvS/mk6+FWiN5LyZJAQ==" + }, + "@types/eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==" + }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" + }, + "@types/get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@types/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-TiNg8R1kjDde5Pub9F9vCwZA/BNW9HeXP5b9j7Qucqncy/McfPZ6xze/EyBdXS5FhMIGN6Fx3vg75l5KHy3V1Q==" + }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/history": { + "version": "4.7.5", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.5.tgz", + "integrity": "sha512-wLD/Aq2VggCJXSjxEwrMafIP51Z+13H78nXIX0ABEuIGhmB5sNGbR113MOKo+yfw+RDo1ZU3DM6yfnnRF/+ouw==" + }, + "@types/json-schema": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", + "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==" + }, + "@types/lodash": { + "version": "4.14.149", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.149.tgz", + "integrity": "sha512-ijGqzZt/b7BfzcK9vTrS6MFljQRPn5BFWOx8oE0GYxribu6uV+aA9zZuXI1zc/etK9E8nrgdoF2+LgUw7+9tJQ==" + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" + }, + "@types/mkdirp": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-0.5.2.tgz", + "integrity": "sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==", + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "13.9.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.2.tgz", + "integrity": "sha512-bnoqK579sAYrQbp73wwglccjJ4sfRdKU7WNEZ5FW4K2U6Kc0/eZ5kvXG0JKsEKFB50zrFmfFt52/cvBbZa7eXg==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "@types/prop-types": { + "version": "15.7.3", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" + }, + "@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==" + }, + "@types/reach__router": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@types/reach__router/-/reach__router-1.3.0.tgz", + "integrity": "sha512-0aL79bFPJzJOJOOMZm2301ErQVaveBdpW88uuavXymUlcYIAOCmI1ujJ2XLH6Mzn76O94eQCHIl1FDzNNKJCYA==", + "requires": { + "@types/history": "*", + "@types/react": "*" + } + }, + "@types/react": { + "version": "16.9.23", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.23.tgz", + "integrity": "sha512-SsGVT4E7L2wLN3tPYLiF20hmZTPGuzaayVunfgXzUn1x4uHVsKH6QDJQ/TdpHqwsTLd4CwrmQ2vOgxN7gE24gw==", + "requires": { + "@types/prop-types": "*", + "csstype": "^2.2.0" + } + }, + "@types/rimraf": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-2.0.3.tgz", + "integrity": "sha512-dZfyfL/u9l/oi984hEXdmAjX3JHry7TLWw43u1HQ8HhPv6KtfxnrZ3T/bleJ0GEvnk9t5sM7eePkgMqz3yBcGg==", + "requires": { + "@types/glob": "*", + "@types/node": "*" + } + }, + "@types/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha1-EHPEvIJHVK49EM+riKsCN7qWTk0=" + }, + "@types/unist": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz", + "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==" + }, + "@types/vfile": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/vfile/-/vfile-3.0.2.tgz", + "integrity": "sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==", + "requires": { + "@types/node": "*", + "@types/unist": "*", + "@types/vfile-message": "*" + } + }, + "@types/vfile-message": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-2.0.0.tgz", + "integrity": "sha512-GpTIuDpb9u4zIO165fUy9+fXcULdD8HFRNli04GehoMVbeNq7D6OBnqSmg3lxZnC+UvgUhEWKxdKiwYUkGltIw==", + "requires": { + "vfile-message": "*" + } + }, + "@types/yoga-layout": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/yoga-layout/-/yoga-layout-1.9.1.tgz", + "integrity": "sha512-OpfgQXWLZn5Dl7mOd8dBNcV8NywXbYYoHjUpa64vJ/RQABaxMzJ5bVicKLGIvIiMnQPtPgKNgXb5jkv9fkOQtw==", + "optional": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.24.0.tgz", + "integrity": "sha512-wJRBeaMeT7RLQ27UQkDFOu25MqFOBus8PtOa9KaT5ZuxC1kAsd7JEHqWt4YXuY9eancX0GK9C68i5OROnlIzBA==", + "requires": { + "@typescript-eslint/experimental-utils": "2.24.0", + "eslint-utils": "^1.4.3", + "functional-red-black-tree": "^1.0.1", + "regexpp": "^3.0.0", + "tsutils": "^3.17.1" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.24.0.tgz", + "integrity": "sha512-DXrwuXTdVh3ycNCMYmWhUzn/gfqu9N0VzNnahjiDJvcyhfBy4gb59ncVZVxdp5XzBC77dCncu0daQgOkbvPwBw==", + "requires": { + "@types/json-schema": "^7.0.3", + "@typescript-eslint/typescript-estree": "2.24.0", + "eslint-scope": "^5.0.0" + } + }, + "@typescript-eslint/parser": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.24.0.tgz", + "integrity": "sha512-H2Y7uacwSSg8IbVxdYExSI3T7uM1DzmOn2COGtCahCC3g8YtM1xYAPi2MAHyfPs61VKxP/J/UiSctcRgw4G8aw==", + "requires": { + "@types/eslint-visitor-keys": "^1.0.0", + "@typescript-eslint/experimental-utils": "2.24.0", + "@typescript-eslint/typescript-estree": "2.24.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "@typescript-eslint/typescript-estree": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.24.0.tgz", + "integrity": "sha512-RJ0yMe5owMSix55qX7Mi9V6z2FDuuDpN6eR5fzRJrp+8in9UF41IGNQHbg5aMK4/PjVaEQksLvz0IA8n+Mr/FA==", + "requires": { + "debug": "^4.1.1", + "eslint-visitor-keys": "^1.1.0", + "glob": "^7.1.6", + "is-glob": "^4.0.1", + "lodash": "^4.17.15", + "semver": "^6.3.0", + "tsutils": "^3.17.1" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "@vimeo/player": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@vimeo/player/-/player-2.10.0.tgz", + "integrity": "sha512-tG2M+9D92P4uJAmIwJmYHxZXtUKofT12Zu1iG7m03Q/GFt41kwJRMkfO2ZDU8BLrsG3AIt2hKkw776tDIR1Iuw==", + "requires": { + "native-promise-only": "0.8.1", + "weakmap-polyfill": "2.0.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==" + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", + "requires": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==" + }, + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", + "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==" + }, + "acorn-jsx": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", + "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==" + }, + "acorn-walk": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz", + "integrity": "sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==" + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==" + }, + "after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" + }, + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", + "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "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" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==" + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + }, + "ansi-align": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "requires": { + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-base": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz", + "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==" + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + } + }, + "application-config-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/application-config-path/-/application-config-path-0.1.0.tgz", + "integrity": "sha1-GTxfCoZUGkxm+6Hi3DhYM2LqXo8=" + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + }, + "arch": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz", + "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==" + }, + "archive-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", + "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=", + "requires": { + "file-type": "^4.2.0" + }, + "dependencies": { + "file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=" + } + } + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "aria-query": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", + "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "requires": { + "ast-types-flow": "0.0.7", + "commander": "^2.11.0" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "array-includes": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", + "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "is-string": "^1.0.5" + } + }, + "array-iterate": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-1.1.4.tgz", + "integrity": "sha512-sNRaPGh9nnmdC8Zf+pT3UqP8rnWj5Hf9wiFGsX3wUQ2yVSIhO2ShFwCoceIPpB41QF6i2OEmrHmCo36xronCVA==" + }, + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=" + }, + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "array.prototype.flat": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", + "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=" + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=" + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "auto-bind": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-4.0.0.tgz", + "integrity": "sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==", + "optional": true + }, + "autoprefixer": { + "version": "9.7.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.4.tgz", + "integrity": "sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g==", + "requires": { + "browserslist": "^4.8.3", + "caniuse-lite": "^1.0.30001020", + "chalk": "^2.4.2", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.26", + "postcss-value-parser": "^4.0.2" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", + "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" + }, + "axios": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "requires": { + "follow-redirects": "1.5.10" + } + }, + "axobject-query": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.1.2.tgz", + "integrity": "sha512-ICt34ZmrVt8UQnvPl6TVyDTkmhXmAyAT4Jh5ugfGUX4MOrZ+U/ZY6/sdylRw3qGNr9Ub5AJsaHeDMzNLehRdOQ==" + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==" + }, + "babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + } + }, + "babel-loader": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", + "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", + "requires": { + "find-cache-dir": "^2.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1", + "pify": "^4.0.1" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } + } + }, + "babel-plugin-add-module-exports": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.3.3.tgz", + "integrity": "sha512-hC37mm7aAdEb1n8SgggG8a1QuhZapsY/XLCi4ETSH6AVjXBCWEa50CXlOsAMPPWLnSx5Ns6mzz39uvuseh0Xjg==", + "requires": { + "chokidar": "^2.0.4" + }, + "dependencies": { + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "optional": true + } + } + }, + "babel-plugin-apply-mdx-type-prop": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.5.7.tgz", + "integrity": "sha512-SUDwTmMmxzaAZ1YfAPnL2UI3q/JEs+fekx/QTZYEgK+cVGMwS/PrCeK9UDlTHOYJr9b4mieR+iLhm43jrav2WA==", + "requires": { + "@babel/helper-plugin-utils": "7.8.3", + "@mdx-js/util": "^1.5.7" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", + "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-emotion": { + "version": "10.0.29", + "resolved": "https://registry.npmjs.org/babel-plugin-emotion/-/babel-plugin-emotion-10.0.29.tgz", + "integrity": "sha512-7Jpi1OCxjyz0k163lKtqP+LHMg5z3S6A7vMBfHnF06l2unmtsOmFDzZBpGf0CWo1G4m8UACfVcDJiSiRuu/cSw==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@emotion/hash": "0.8.0", + "@emotion/memoize": "0.7.4", + "@emotion/serialize": "^0.11.16", + "babel-plugin-macros": "^2.0.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^1.0.5", + "find-root": "^1.1.0", + "source-map": "^0.5.7" + } + }, + "babel-plugin-extract-import-names": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.5.7.tgz", + "integrity": "sha512-kZX4g9ehTyxjdbq2rb8wW307+jNu5z3KllYs8cnbapSwclT9wBErJoqvKKZAkuiaufp0r+7WaIvjhKtJ7QlG3A==", + "requires": { + "@babel/helper-plugin-utils": "7.8.3" + } + }, + "babel-plugin-macros": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", + "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "requires": { + "@babel/runtime": "^7.7.2", + "cosmiconfig": "^6.0.0", + "resolve": "^1.12.0" + } + }, + "babel-plugin-remove-graphql-queries": { + "version": "2.7.26", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.7.26.tgz", + "integrity": "sha512-W54KrgluCcMCLq9lCtZBYzmG3Q4X0zN+mE4RNigbZhrXA6oj54Jz2tKrSW3eW3Sw3TeGsT4oGSQd8JIWyKIhqw==" + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=" + }, + "babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" + }, + "babel-preset-gatsby": { + "version": "0.2.36", + "resolved": "https://registry.npmjs.org/babel-preset-gatsby/-/babel-preset-gatsby-0.2.36.tgz", + "integrity": "sha512-vmqN6ht4B28dHlK7Qsau3JseHwTEkLjf2QkUcUKlYCuVk7skZkbN2B6O8QeJQTQ30V/6uUKiNMU/U0nc0RYMNQ==", + "requires": { + "@babel/plugin-proposal-class-properties": "^7.8.3", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-proposal-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.8.3", + "@babel/plugin-transform-spread": "^7.8.3", + "@babel/preset-env": "^7.8.7", + "@babel/preset-react": "^7.8.3", + "@babel/runtime": "^7.8.7", + "babel-plugin-dynamic-import-node": "^2.3.0", + "babel-plugin-macros": "^2.8.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24", + "gatsby-core-utils": "^1.0.34" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" + }, + "bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "beautiful-react-hooks": { + "version": "0.22.12", + "resolved": "https://registry.npmjs.org/beautiful-react-hooks/-/beautiful-react-hooks-0.22.12.tgz", + "integrity": "sha512-tNZxg7FstSJ9BrkU/fasjUBOJ498C+rD63pn03FpbbXAamXuU98Cz9AFXSJbCw4YD+N2e48aboiFmqrT/hnT3A==", + "requires": { + "lodash.debounce": "^4.0.8", + "lodash.throttle": "^4.1.1" + } + }, + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "requires": { + "callsite": "1.0.0" + } + }, + "better-opn": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-1.0.0.tgz", + "integrity": "sha512-q3eO2se4sFbTERB1dFBDdjTiIIpRohMErpwBX21lhPvmgmQNNrcQj0zbWRhMREDesJvyod9kxBS3kOtdAvkB/A==", + "requires": { + "open": "^6.4.0" + } + }, + "better-queue": { + "version": "3.8.10", + "resolved": "https://registry.npmjs.org/better-queue/-/better-queue-3.8.10.tgz", + "integrity": "sha512-e3gwNZgDCnNWl0An0Tz6sUjKDV9m6aB+K9Xg//vYeo8+KiH8pWhLFxkawcXhm6FpM//GfD9IQv/kmvWCAVVpKA==", + "requires": { + "better-queue-memory": "^1.0.1", + "node-eta": "^0.9.0", + "uuid": "^3.0.0" + } + }, + "better-queue-memory": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/better-queue-memory/-/better-queue-memory-1.0.4.tgz", + "integrity": "sha512-SWg5wFIShYffEmJpI6LgbL8/3Dqhku7xI1oEiy6FroP9DbcZlG0ZDjxvPdP9t7hTGW40IpIcC6zVoGT1oxjOuA==" + }, + "bfj": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", + "requires": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "bin-build": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-3.0.0.tgz", + "integrity": "sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==", + "requires": { + "decompress": "^4.0.0", + "download": "^6.2.2", + "execa": "^0.7.0", + "p-map-series": "^1.0.0", + "tempfile": "^2.0.0" + }, + "dependencies": { + "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" + } + }, + "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" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + } + } + }, + "bin-check": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-4.1.0.tgz", + "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==", + "requires": { + "execa": "^0.7.0", + "executable": "^4.1.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + } + } + }, + "bin-version": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-3.1.0.tgz", + "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==", + "requires": { + "execa": "^1.0.0", + "find-versions": "^3.0.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + } + } + }, + "bin-version-check": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-4.0.0.tgz", + "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==", + "requires": { + "bin-version": "^3.0.0", + "semver": "^5.6.0", + "semver-truncate": "^1.1.2" + } + }, + "bin-wrapper": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-4.1.0.tgz", + "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==", + "requires": { + "bin-check": "^4.1.0", + "bin-version-check": "^4.0.0", + "download": "^7.1.0", + "import-lazy": "^3.1.0", + "os-filter-obj": "^2.0.0", + "pify": "^4.0.1" + }, + "dependencies": { + "download": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/download/-/download-7.1.0.tgz", + "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==", + "requires": { + "archive-type": "^4.0.0", + "caw": "^2.0.1", + "content-disposition": "^0.5.2", + "decompress": "^4.2.0", + "ext-name": "^5.0.0", + "file-type": "^8.1.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^8.3.1", + "make-dir": "^1.2.0", + "p-event": "^2.1.0", + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "file-type": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz", + "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==" + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "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==" + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "p-event": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-2.3.1.tgz", + "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==", + "requires": { + "p-timeout": "^2.0.1" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + }, + "bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bl": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.2.tgz", + "integrity": "sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "blob": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==" + }, + "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=", + "requires": { + "inherits": "~2.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "bmp-js": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz", + "integrity": "sha1-4Fpj95amwf8l9Hcex62twUjAcjM=" + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "boxen": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "cli-boxes": "^2.2.0", + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "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==", + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "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==" + }, + "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==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "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==" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.10.0.tgz", + "integrity": "sha512-TpfK0TDgv71dzuTsEAlQiHeWQ/tiPqgNZVdv046fvNtBZrjbv2O3TsWCDU0AWGJJKCF/KsjNdLzR9hXOsh/CfA==", + "requires": { + "caniuse-lite": "^1.0.30001035", + "electron-to-chromium": "^1.3.378", + "node-releases": "^1.1.52", + "pkg-up": "^3.1.0" + }, + "dependencies": { + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "requires": { + "find-up": "^3.0.0" + } + } + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, + "buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "builtin-modules": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", + "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "cacache": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cache-manager": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/cache-manager/-/cache-manager-2.11.1.tgz", + "integrity": "sha512-XhUuc9eYwkzpK89iNewFwtvcDYMUsvtwzHeyEOPJna/WsVsXcrzsA1ft2M0QqPNunEzLhNCYPo05tEfG+YuNow==", + "requires": { + "async": "1.5.2", + "lodash.clonedeep": "4.5.0", + "lru-cache": "4.0.0" + } + }, + "cache-manager-fs-hash": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/cache-manager-fs-hash/-/cache-manager-fs-hash-0.0.7.tgz", + "integrity": "sha512-7X+FPItAJf1tKKqJx6ljDJQc0fgSR5B+KPxFQLj+vYSL4q9XdrCbZldgsNb6wueRuIooj01wt0FubB08zaefRg==", + "requires": { + "es6-promisify": "^6.0.0", + "lockfile": "^1.0.4" + } + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" + } + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + } + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + } + } + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001035", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz", + "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==" + }, + "carbon-components": { + "version": "10.10.2", + "resolved": "https://registry.npmjs.org/carbon-components/-/carbon-components-10.10.2.tgz", + "integrity": "sha512-gfuH+64gIHdg8jqyYcdhGTf8utzCE85+J6jc04zG2CocHBL4UMBahoiTk2H8nj2X0T8KrMjexGY4f8RS+iHVFA==", + "requires": { + "flatpickr": "4.6.1", + "lodash.debounce": "^4.0.8", + "warning": "^3.0.0" + }, + "dependencies": { + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, + "carbon-components-react": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/carbon-components-react/-/carbon-components-react-7.10.2.tgz", + "integrity": "sha512-kgV2xe3PlDBVo8hAMX7AqeESSYOFa4sOU8k5uFVIBABDZW7gCgIeqL1hUKXAcg0AZ4ZfaTRJMlRIii6XT+uElA==", + "requires": { + "@carbon/icons-react": "^10.9.2", + "classnames": "2.2.6", + "downshift": "^1.31.14", + "flatpickr": "4.6.1", + "invariant": "^2.2.3", + "lodash.debounce": "^4.0.8", + "lodash.findlast": "^4.5.0", + "lodash.isequal": "^4.5.0", + "lodash.omit": "^4.5.0", + "lodash.throttle": "^4.1.1", + "react-is": "^16.8.6", + "warning": "^3.0.0", + "window-or-global": "^1.0.1" + }, + "dependencies": { + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, + "carbon-icons": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/carbon-icons/-/carbon-icons-7.0.7.tgz", + "integrity": "sha512-3vgkdXJRgCViCrH3fLUdyAXo0I8wmohO6QETv7vWFx6yc7s+SirWFBSFL38zUx4MHtR8iTxIlLEzkeU6FlFtXg==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "caw": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", + "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", + "requires": { + "get-proxy": "^2.0.0", + "isurl": "^1.0.0-alpha5", + "tunnel-agent": "^0.6.0", + "url-to-options": "^1.0.1" + } + }, + "ccount": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.5.tgz", + "integrity": "sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==" + }, + "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" + } + }, + "change-case": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-3.1.0.tgz", + "integrity": "sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==", + "requires": { + "camel-case": "^3.0.0", + "constant-case": "^2.0.0", + "dot-case": "^2.1.0", + "header-case": "^1.0.0", + "is-lower-case": "^1.1.0", + "is-upper-case": "^1.1.0", + "lower-case": "^1.1.1", + "lower-case-first": "^1.0.0", + "no-case": "^2.3.2", + "param-case": "^2.1.0", + "pascal-case": "^2.0.0", + "path-case": "^2.1.0", + "sentence-case": "^2.1.0", + "snake-case": "^2.1.0", + "swap-case": "^1.1.0", + "title-case": "^2.1.0", + "upper-case": "^1.1.1", + "upper-case-first": "^1.1.0" + } + }, + "character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" + }, + "character-entities-html4": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", + "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==" + }, + "character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" + }, + "character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" + }, + "check-types": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==" + }, + "cheerio": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", + "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash.assignin": "^4.0.9", + "lodash.bind": "^4.1.4", + "lodash.defaults": "^4.0.1", + "lodash.filter": "^4.4.0", + "lodash.flatten": "^4.2.0", + "lodash.foreach": "^4.3.0", + "lodash.map": "^4.4.0", + "lodash.merge": "^4.4.0", + "lodash.pick": "^4.2.1", + "lodash.reduce": "^4.4.0", + "lodash.reject": "^4.4.0", + "lodash.some": "^4.4.0" + }, + "dependencies": { + "dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "requires": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + } + } + }, + "chokidar": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", + "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.3.0" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==" + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", + "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", + "optional": true + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "readdirp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", + "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", + "requires": { + "picomatch": "^2.0.7" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" + }, + "cli-boxes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", + "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==" + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "optional": true + }, + "cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "requires": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + } + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "optional": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "optional": 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==", + "optional": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "optional": 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==", + "optional": 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==", + "optional": 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==", + "optional": 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==", + "optional": true + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "optional": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "optional": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "optional": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + }, + "clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "requires": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + } + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "collapse-white-space": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", + "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", + "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "color-string": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", + "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "optional": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==" + }, + "command-exists": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.8.tgz", + "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==" + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", + "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "requires": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "make-dir": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz", + "integrity": "sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==", + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "confusing-browser-globals": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz", + "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==" + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "console-stream": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", + "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=" + }, + "constant-case": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-2.0.0.tgz", + "integrity": "sha1-QXV2TTidP6nI7NKRhu1gBSQ7akY=", + "requires": { + "snake-case": "^2.1.0", + "upper-case": "^1.1.1" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=" + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-hrtime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-3.0.0.tgz", + "integrity": "sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==" + }, + "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==", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "copy-to-clipboard": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz", + "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==", + "requires": { + "toggle-selection": "^1.0.6" + } + }, + "copyfiles": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/copyfiles/-/copyfiles-2.2.0.tgz", + "integrity": "sha512-iJbHJI+8OKqsq+4JF0rqgRkZzo++jqO6Wf4FUU1JM41cJF6JcY5968XyF4tm3Kkm7ZOMrqlljdm8N9oyY5raGw==", + "requires": { + "glob": "^7.0.5", + "minimatch": "^3.0.3", + "mkdirp": "^0.5.1", + "noms": "0.0.0", + "through2": "^2.0.1", + "yargs": "^13.2.4" + } + }, + "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==" + }, + "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==", + "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==" + } + } + }, + "core-js-pure": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.4.tgz", + "integrity": "sha512-epIhRLkXdgv32xIUFaaAry2wdxZYBi6bgM7cB136dzzXXa+dFyRLTZeLUJxnd8ShrmyVXBub63n2NHo2JAt8Cw==" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "dependencies": { + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + } + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "create-react-context": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.3.0.tgz", + "integrity": "sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==", + "requires": { + "gud": "^1.0.0", + "warning": "^4.0.3" + } + }, + "cross-fetch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.2.tgz", + "integrity": "sha1-pH/09/xxLauo9qaVoRyUhEDUVyM=", + "requires": { + "node-fetch": "2.1.2", + "whatwg-fetch": "2.0.4" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + } + }, + "css-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz", + "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==", + "requires": { + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash": "^4.17.11", + "postcss": "^6.0.23", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "postcss-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==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "css-selector-parser": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-1.3.0.tgz", + "integrity": "sha1-XxrUPi2O77/cME/NOaUhZklD4+s=" + }, + "css-selector-tokenizer": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz", + "integrity": "sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw==", + "requires": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2", + "regexpu-core": "^4.6.0" + } + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "requires": { + "mdn-data": "2.0.4", + "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==" + } + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } + } + }, + "cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=" + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=" + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "requires": { + "postcss": "^7.0.0" + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==" + }, + "csso": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.2.tgz", + "integrity": "sha512-kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg==", + "requires": { + "css-tree": "1.0.0-alpha.37" + } + }, + "csstype": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.9.tgz", + "integrity": "sha512-xz39Sb4+OaTsULgUERcCk+TJj8ylkL4aSVDQiX/ksxbELSqwkgt4d4RD7fovIdgJGSuNYqwZEiVjYY5l0ask+Q==" + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cwebp-bin": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cwebp-bin/-/cwebp-bin-5.1.0.tgz", + "integrity": "sha512-BsPKStaNr98zfxwejWWLIGELbPERULJoD2v5ijvpeutSAGsegX7gmABgnkRK7MUucCPROXXfaPqkLAwI509JzA==", + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.1", + "logalot": "^2.1.0" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" + }, + "damerau-levenshtein": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", + "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==" + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "dataloader": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz", + "integrity": "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==" + }, + "date-fns": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.11.0.tgz", + "integrity": "sha512-8P1cDi8ebZyDxUyUprBXwidoEtiQAawYPGvpfb+Dg0G6JrQ+VozwOmm91xYC0vAv1+0VmLehEPb+isg4BGUFfA==" + }, + "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" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "decompress": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", + "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", + "requires": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "requires": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "dependencies": { + "bl": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", + "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + } + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "requires": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "requires": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + } + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "requires": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + } + } + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz", + "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==", + "requires": { + "globby": "^10.0.1", + "graceful-fs": "^4.2.2", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.1", + "p-map": "^3.0.0", + "rimraf": "^3.0.0", + "slash": "^3.0.0" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", + "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==" + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "requires": { + "path-type": "^4.0.0" + } + }, + "fast-glob": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz", + "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==", + "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==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + } + }, + "ignore": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz", + "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "micromatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", + "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.0.5" + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detab": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.3.tgz", + "integrity": "sha512-Up8P0clUVwq0FnFjDclzZsy9PadzRn5FFxrr47tQQvMHqyiFYVbpH8oXDzWtF0Q7pYy3l+RPmtBl+BsFF6wH0A==", + "requires": { + "repeat-string": "^1.5.4" + } + }, + "detect-indent": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", + "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==" + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" + }, + "detect-port": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", + "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "devcert": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devcert/-/devcert-1.1.0.tgz", + "integrity": "sha512-ppyIBJueMMisYvJABaXESY10CwEm1pUXoLOm6TeBO2bbDUQE8ZjJPNADlu31I2InL7hduSgratzRG/dHUDF41w==", + "requires": { + "@types/configstore": "^2.1.1", + "@types/debug": "^0.0.30", + "@types/get-port": "^3.2.0", + "@types/glob": "^5.0.34", + "@types/lodash": "^4.14.92", + "@types/mkdirp": "^0.5.2", + "@types/node": "^8.5.7", + "@types/rimraf": "^2.0.2", + "@types/tmp": "^0.0.33", + "application-config-path": "^0.1.0", + "command-exists": "^1.2.4", + "configstore": "^3.0.0", + "debug": "^3.1.0", + "eol": "^0.9.1", + "get-port": "^3.2.0", + "glob": "^7.1.2", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "password-prompt": "^1.0.4", + "rimraf": "^2.6.2", + "sudo-prompt": "^8.2.0", + "tmp": "^0.0.33", + "tslib": "^1.10.0" + }, + "dependencies": { + "@types/glob": { + "version": "5.0.36", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-5.0.36.tgz", + "integrity": "sha512-KEzSKuP2+3oOjYYjujue6Z3Yqis5HKA1BsIC+jZ1v3lrRNdsqyNNtX0rQf6LSuI4DJJ2z5UV//zBZCcvM0xikg==", + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/node": { + "version": "8.10.59", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.59.tgz", + "integrity": "sha512-8RkBivJrDCyPpBXhVZcjh7cQxVBSmRk9QM7hOketZzp6Tg79c0N8kkpAIito9bnJ3HCVCHVYz+KHTEbfQNfeVQ==" + }, + "configstore": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "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=" + }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "requires": { + "is-obj": "^1.0.0" + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + }, + "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" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=" + } + } + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "requires": { + "utila": "~0.4" + } + }, + "dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "requires": { + "@babel/runtime": "^7.1.2" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==" + } + } + }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-2.1.1.tgz", + "integrity": "sha1-NNzzf1Co6TwrO8qLt/uRVcfaO+4=", + "requires": { + "no-case": "^2.2.0" + } + }, + "dot-prop": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", + "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", + "requires": { + "is-obj": "^2.0.0" + } + }, + "dotenv": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" + }, + "download": { + "version": "6.2.5", + "resolved": "https://registry.npmjs.org/download/-/download-6.2.5.tgz", + "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==", + "requires": { + "caw": "^2.0.0", + "content-disposition": "^0.5.2", + "decompress": "^4.0.0", + "ext-name": "^5.0.0", + "file-type": "5.2.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^7.0.0", + "make-dir": "^1.0.0", + "p-event": "^1.0.0", + "pify": "^3.0.0" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "got": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", + "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", + "requires": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + } + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", + "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "requires": { + "p-finally": "^1.0.0" + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "requires": { + "prepend-http": "^1.0.1" + } + } + } + }, + "downshift": { + "version": "1.31.16", + "resolved": "https://registry.npmjs.org/downshift/-/downshift-1.31.16.tgz", + "integrity": "sha512-RskXmiGSoz0EHAyBrmTBGSLHg6+NYDGuLu2W3GpmuOe6hmZEWhCiQrq5g6DWzhnUaJD41xHbbfC6j1Fe86YqgA==" + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" + }, + "electron-to-chromium": { + "version": "1.3.379", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.379.tgz", + "integrity": "sha512-NK9DBBYEBb5f9D7zXI0hiE941gq3wkBeQmXs1ingigA/jnTg5mhwY2Z5egwA+ZI8OLGKCx0h1Cl8/xeuIBuLlg==" + }, + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, + "emotion-theming": { + "version": "10.0.27", + "resolved": "https://registry.npmjs.org/emotion-theming/-/emotion-theming-10.0.27.tgz", + "integrity": "sha512-MlF1yu/gYh8u+sLUqA0YuA9JX0P4Hb69WlKc/9OLo+WCXuX6sy/KoIa+qJimgmr2dWqnypYKYPX37esjDBbhdw==", + "requires": { + "@babel/runtime": "^7.5.5", + "@emotion/weak-memoize": "0.2.5", + "hoist-non-react-statics": "^3.3.0" + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "engine.io": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.0.tgz", + "integrity": "sha512-XCyYVWzcHnK5cMz7G4VTu2W7zJS7SM1QkcelghyIk/FmobWBtXE7fwhBusEKvCSqc3bMh8fNFMlUkCKTFRxH2w==", + "requires": { + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "0.3.1", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "ws": "^7.1.2" + }, + "dependencies": { + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "engine.io-client": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.0.tgz", + "integrity": "sha512-a4J5QO2k99CM2a0b12IznnyQndoEvtA4UAldhGzKqnHf42I3Qs2W5SPnDvatZRcMaNZs4IevVicBPayxYt6FwA==", + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~6.1.0", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "ws": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", + "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "engine.io-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz", + "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==", + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "enhanced-resolve": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==" + }, + "envinfo": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.5.0.tgz", + "integrity": "sha512-jDgnJaF/Btomk+m3PZDTTCb5XIIIX3zYItnCRfF73zVgvinLoRomuhi75Y4su0PtQxWz4v66XnLLckyvyJTOIQ==" + }, + "eol": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/eol/-/eol-0.9.1.tgz", + "integrity": "sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==" + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "requires": { + "stackframe": "^1.1.1" + } + }, + "es-abstract": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz", + "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "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==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es6-promisify": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.1.0.tgz", + "integrity": "sha512-jCsk2fpfEFusVv1MDkF4Uf0hAzIKNDMgR6LyOIw6a3jwkN1sCgWzuwgnsHY9YSQ8n8P31HoncvE0LC44cpWTrw==" + }, + "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=" + }, + "eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" + } + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "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==", + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "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==", + "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==" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "glob-parent": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "requires": { + "type-fest": "^0.8.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "inquirer": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", + "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + } + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "v8-compile-cache": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==" + } + } + }, + "eslint-config-react-app": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.0.tgz", + "integrity": "sha512-WrHjoGpKr1kLLiWDD81tme9jMM0hk5cMxasLSdyno6DdPt+IfLOrDJBVo6jN7tn4y1nzhs43TmUaZWO6Sf0blw==", + "requires": { + "confusing-browser-globals": "^1.0.9" + } + }, + "eslint-import-resolver-node": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz", + "integrity": "sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==", + "requires": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "eslint-loader": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", + "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", + "requires": { + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "eslint-module-utils": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.5.2.tgz", + "integrity": "sha512-LGScZ/JSlqGKiT8OC+cYRxseMjyqt6QO54nl281CK93unD89ijSeRV6An8Ci/2nvWVKe8K/Tqdm75RQoIOCr+Q==", + "requires": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "requires": { + "find-up": "^2.1.0" + } + } + } + }, + "eslint-plugin-flowtype": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz", + "integrity": "sha512-bhewp36P+t7cEV0b6OdmoRWJCBYRiHFlqPZAG1oS3SF+Y0LQkeDvFSM4oxoxvczD1OdONCXMlJfQFiWLcV9urw==", + "requires": { + "lodash": "^4.17.15" + } + }, + "eslint-plugin-graphql": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-graphql/-/eslint-plugin-graphql-3.1.1.tgz", + "integrity": "sha512-VNu2AipS8P1BAnE/tcJ2EmBWjFlCnG+1jKdUlFNDQjocWZlFiPpMu9xYNXePoEXK+q+jG51M/6PdhOjEgJZEaQ==", + "requires": { + "graphql-config": "^2.0.1", + "lodash": "^4.11.1" + } + }, + "eslint-plugin-import": { + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.1.tgz", + "integrity": "sha512-qQHgFOTjguR+LnYRoToeZWT62XM55MBVXObHM6SKFd1VzDcX/vqT1kAz8ssqigh5eMj8qXcRoXXGZpPP6RfdCw==", + "requires": { + "array-includes": "^3.0.3", + "array.prototype.flat": "^1.2.1", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.2", + "eslint-module-utils": "^2.4.1", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.0", + "read-pkg-up": "^2.0.0", + "resolve": "^1.12.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz", + "integrity": "sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg==", + "requires": { + "@babel/runtime": "^7.4.5", + "aria-query": "^3.0.0", + "array-includes": "^3.0.3", + "ast-types-flow": "^0.0.7", + "axobject-query": "^2.0.2", + "damerau-levenshtein": "^1.0.4", + "emoji-regex": "^7.0.2", + "has": "^1.0.3", + "jsx-ast-utils": "^2.2.1" + } + }, + "eslint-plugin-react": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.19.0.tgz", + "integrity": "sha512-SPT8j72CGuAP+JFbT0sJHOB80TX/pu44gQ4vXH/cq+hQTiY2PuZ6IHkqXJV6x1b28GDdo1lbInjKUrrdUf0LOQ==", + "requires": { + "array-includes": "^3.1.1", + "doctrine": "^2.1.0", + "has": "^1.0.3", + "jsx-ast-utils": "^2.2.3", + "object.entries": "^1.1.1", + "object.fromentries": "^2.0.2", + "object.values": "^1.1.1", + "prop-types": "^15.7.2", + "resolve": "^1.15.1", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.2", + "xregexp": "^4.3.0" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "requires": { + "esutils": "^2.0.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "eslint-plugin-react-hooks": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz", + "integrity": "sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA==" + }, + "eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==" + }, + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.1.0.tgz", + "integrity": "sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q==", + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "eval": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.4.tgz", + "integrity": "sha512-npGsebJejyjMRnLdFu+T/97dnigqIU0Ov3IGrZ8ygd1v7RL1vGkEKtvyWZobqUH1AQgKlg0Yqqe2BtMA9/QZLw==", + "requires": { + "require-like": ">= 0.1.1" + } + }, + "event-source-polyfill": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/event-source-polyfill/-/event-source-polyfill-1.0.12.tgz", + "integrity": "sha512-WjOTn0LIbaN08z/8gNt3GYAomAdm6cZ2lr/QdvhTTEipr5KR6lds2ziUH+p/Iob4Lk6NClKhwPOmn1NjQEcJCg==" + }, + "eventemitter3": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==" + }, + "events": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==" + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "exec-buffer": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz", + "integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==", + "requires": { + "execa": "^0.7.0", + "p-finally": "^1.0.0", + "pify": "^3.0.0", + "rimraf": "^2.5.4", + "tempfile": "^2.0.0" + }, + "dependencies": { + "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" + } + }, + "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" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "requires": { + "pump": "^3.0.0" + } + }, + "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==" + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==" + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "requires": { + "pify": "^2.2.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "exif-parser": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", + "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "express-graphql": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/express-graphql/-/express-graphql-0.9.0.tgz", + "integrity": "sha512-wccd9Lb6oeJ8yHpUs/8LcnGjFUUQYmOG9A5BNLybRdCzGw0PeUrtBxsIR8bfiur6uSW4OvPkVDoYH06z6/N9+w==", + "requires": { + "accepts": "^1.3.7", + "content-type": "^1.0.4", + "http-errors": "^1.7.3", + "raw-body": "^2.4.1" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "http-errors": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "raw-body": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", + "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.3", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + } + } + }, + "ext-list": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz", + "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==", + "requires": { + "mime-db": "^1.28.0" + } + }, + "ext-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz", + "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==", + "requires": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" + }, + "fastq": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.1.tgz", + "integrity": "sha512-mpIH5sKYueh3YyeJwqtVo8sORi0CgtmkVbK6kZStpQlZBYQuTzG2CZ7idSiJuA7bY0SFCWUc5WIs+oYumGCQNw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "requires": { + "pend": "~1.2.0" + } + }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==" + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-loader": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", + "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", + "requires": { + "loader-utils": "^1.0.2", + "schema-utils": "^0.4.5" + } + }, + "file-type": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", + "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==" + }, + "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==", + "optional": true + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=" + }, + "filenamify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz", + "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==", + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + } + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==" + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "find-versions": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-3.2.0.tgz", + "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==", + "requires": { + "semver-regex": "^2.0.0" + } + }, + "flat": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", + "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", + "requires": { + "is-buffer": "~2.0.3" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" + } + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatpickr": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/flatpickr/-/flatpickr-4.6.1.tgz", + "integrity": "sha512-3ULSxbXmcMIRzer/2jLNweoqHpwDvsjEawO2FUd9UFR8uPwLM+LruZcPDpuZStcEgbQKhuFOfXo4nYdGladSNw==" + }, + "flatted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz", + "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==" + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "focus-trap": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-4.0.2.tgz", + "integrity": "sha512-HtLjfAK7Hp2qbBtLS6wEznID1mPT+48ZnP2nkHzgjpL4kroYHg0CdqJ5cTXk+UO5znAxF5fRUkhdyfgrhh8Lzw==", + "requires": { + "tabbable": "^3.1.2", + "xtend": "^4.0.1" + } + }, + "focus-trap-react": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/focus-trap-react/-/focus-trap-react-6.0.0.tgz", + "integrity": "sha512-mvEYxmP75PMx0vOqoIAmJHO/qUEvdTAdz6gLlEZyxxODnuKQdnKea2RWTYxghAPrV+ibiIq2o/GTSgQycnAjcw==", + "requires": { + "focus-trap": "^4.0.2" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "fork-ts-checker-webpack-plugin": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz", + "integrity": "sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA==", + "requires": { + "babel-code-frame": "^6.22.0", + "chalk": "^2.4.1", + "chokidar": "^2.0.4", + "micromatch": "^3.1.10", + "minimatch": "^3.0.4", + "semver": "^5.6.0", + "tapable": "^1.0.0", + "worker-rpc": "^0.1.0" + }, + "dependencies": { + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + } + } + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs-exists-cached": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", + "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=" + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "requires": { + "minipass": "^3.0.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" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.12.tgz", + "integrity": "sha512-Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q==", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1", + "node-pre-gyp": "*" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "optional": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.4", + "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": "3.2.6", + "bundled": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.7", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.6.0" + } + }, + "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.6", + "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.24", + "bundled": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.3", + "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.4", + "bundled": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "bundled": true, + "optional": true + }, + "minipass": { + "version": "2.9.0", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "0.5.3", + "bundled": true, + "optional": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "needle": { + "version": "2.3.3", + "bundled": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.14.0", + "bundled": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4.4.2" + } + }, + "nopt": { + "version": "4.0.3", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.8", + "bundled": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^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.1", + "bundled": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "readable-stream": { + "version": "2.3.7", + "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.7.1", + "bundled": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "optional": true + }, + "semver": { + "version": "5.7.1", + "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.13", + "bundled": true, + "optional": 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" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "yallist": { + "version": "3.1.1", + "bundled": true, + "optional": true + } + } + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "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=" + }, + "gatsby": { + "version": "2.19.49", + "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.19.49.tgz", + "integrity": "sha512-PesQQ/1RV2ukfTj1FYSlL08lFJng/4q8Vf78ZxPsl7cw6+fhSRoNtnjy8JGSjlXnH7DQ2YjkDKdEXdcdRljl3g==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/core": "^7.8.7", + "@babel/parser": "^7.8.8", + "@babel/polyfill": "^7.8.7", + "@babel/runtime": "^7.8.7", + "@babel/traverse": "^7.8.6", + "@hapi/joi": "^15.1.1", + "@mikaelkristiansson/domready": "^1.0.10", + "@pieh/friendly-errors-webpack-plugin": "1.7.0-chalk-2", + "@pmmmwh/react-refresh-webpack-plugin": "^0.2.0", + "@reach/router": "^1.3.3", + "@typescript-eslint/eslint-plugin": "^2.24.0", + "@typescript-eslint/parser": "^2.24.0", + "address": "1.1.2", + "autoprefixer": "^9.7.4", + "axios": "^0.19.2", + "babel-core": "7.0.0-bridge.0", + "babel-eslint": "^10.1.0", + "babel-loader": "^8.0.6", + "babel-plugin-add-module-exports": "^0.3.3", + "babel-plugin-dynamic-import-node": "^2.3.0", + "babel-plugin-remove-graphql-queries": "^2.7.26", + "babel-preset-gatsby": "^0.2.36", + "better-opn": "1.0.0", + "better-queue": "^3.8.10", + "bluebird": "^3.7.2", + "browserslist": "^4.9.1", + "cache-manager": "^2.11.1", + "cache-manager-fs-hash": "^0.0.7", + "chalk": "^2.4.2", + "chokidar": "3.3.1", + "common-tags": "^1.8.0", + "compression": "^1.7.4", + "convert-hrtime": "^3.0.0", + "copyfiles": "^2.2.0", + "core-js": "^2.6.11", + "cors": "^2.8.5", + "css-loader": "^1.0.1", + "date-fns": "^2.11.0", + "debug": "^3.2.6", + "del": "^5.1.0", + "detect-port": "^1.3.0", + "devcert": "^1.1.0", + "dotenv": "^8.2.0", + "eslint": "^6.8.0", + "eslint-config-react-app": "^5.2.0", + "eslint-loader": "^2.2.1", + "eslint-plugin-flowtype": "^3.13.0", + "eslint-plugin-graphql": "^3.1.1", + "eslint-plugin-import": "^2.20.1", + "eslint-plugin-jsx-a11y": "^6.2.3", + "eslint-plugin-react": "^7.19.0", + "eslint-plugin-react-hooks": "^1.7.0", + "event-source-polyfill": "^1.0.12", + "express": "^4.17.1", + "express-graphql": "^0.9.0", + "fast-levenshtein": "^2.0.6", + "file-loader": "^1.1.11", + "flat": "^4.1.0", + "fs-exists-cached": "1.0.0", + "fs-extra": "^8.1.0", + "gatsby-cli": "^2.10.13", + "gatsby-core-utils": "^1.0.34", + "gatsby-graphiql-explorer": "^0.2.37", + "gatsby-link": "^2.2.31", + "gatsby-plugin-page-creator": "^2.1.46", + "gatsby-react-router-scroll": "^2.1.25", + "gatsby-telemetry": "^1.1.56", + "glob": "^7.1.6", + "got": "8.3.2", + "graphql": "^14.6.0", + "graphql-compose": "^6.3.8", + "graphql-playground-middleware-express": "^1.7.12", + "hasha": "^5.2.0", + "invariant": "^2.2.4", + "is-relative": "^1.0.0", + "is-relative-url": "^3.0.0", + "is-wsl": "^2.1.1", + "jest-worker": "^24.9.0", + "json-loader": "^0.5.7", + "json-stringify-safe": "^5.0.1", + "latest-version": "5.1.0", + "lodash": "^4.17.15", + "lokijs": "^1.5.8", + "md5": "^2.2.1", + "md5-file": "^3.2.3", + "micromatch": "^3.1.10", + "mime": "^2.4.4", + "mini-css-extract-plugin": "^0.8.2", + "mitt": "^1.2.0", + "mkdirp": "^0.5.1", + "moment": "^2.24.0", + "name-all-modules-plugin": "^1.0.1", + "normalize-path": "^2.1.1", + "null-loader": "^0.1.1", + "opentracing": "^0.14.4", + "optimize-css-assets-webpack-plugin": "^5.0.3", + "p-defer": "^3.0.0", + "parseurl": "^1.3.3", + "physical-cpu-count": "^2.0.0", + "pnp-webpack-plugin": "^1.6.4", + "postcss-flexbugs-fixes": "^4.2.0", + "postcss-loader": "^3.0.0", + "prompts": "^2.3.1", + "prop-types": "^15.7.2", + "raw-loader": "^0.5.1", + "react-dev-utils": "^4.2.3", + "react-error-overlay": "^3.0.0", + "react-hot-loader": "^4.12.20", + "react-refresh": "^0.7.0", + "redux": "^4.0.5", + "redux-thunk": "^2.3.0", + "semver": "^5.7.1", + "shallow-compare": "^1.2.2", + "sift": "^5.1.0", + "signal-exit": "^3.0.2", + "slugify": "^1.4.0", + "socket.io": "^2.3.0", + "stack-trace": "^0.0.10", + "string-similarity": "^1.2.2", + "style-loader": "^0.23.1", + "terser-webpack-plugin": "^1.4.3", + "true-case-path": "^2.2.1", + "type-of": "^2.0.1", + "url-loader": "^1.1.2", + "util.promisify": "^1.0.1", + "uuid": "^3.4.0", + "v8-compile-cache": "^1.1.2", + "webpack": "~4.42.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-dev-server": "^3.10.3", + "webpack-hot-middleware": "^2.25.0", + "webpack-merge": "^4.2.2", + "webpack-stats-plugin": "^0.3.1", + "xstate": "^4.8.0", + "yaml-loader": "^0.5.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "gatsby-cli": { + "version": "2.10.13", + "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.10.13.tgz", + "integrity": "sha512-sha55CAV5LULuYkESvQvVSC91qnkx8uM8OkTup1zwIvS7IL/WjUJKXekHEMmqY01A9EzbR5bRbs+uGydxN56CA==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/runtime": "^7.8.7", + "@hapi/joi": "^15.1.1", + "better-opn": "^1.0.0", + "bluebird": "^3.7.2", + "chalk": "^2.4.2", + "clipboardy": "^2.2.0", + "common-tags": "^1.8.0", + "configstore": "^5.0.1", + "convert-hrtime": "^3.0.0", + "core-js": "^2.6.11", + "envinfo": "^7.5.0", + "execa": "^3.4.0", + "fs-exists-cached": "^1.0.0", + "fs-extra": "^8.1.0", + "gatsby-core-utils": "^1.0.34", + "gatsby-telemetry": "^1.1.56", + "hosted-git-info": "^3.0.4", + "ink": "^2.7.1", + "ink-spinner": "^3.0.1", + "is-valid-path": "^0.1.1", + "lodash": "^4.17.15", + "meant": "^1.0.1", + "node-fetch": "^2.6.0", + "object.entries": "^1.1.1", + "opentracing": "^0.14.4", + "pretty-error": "^2.1.1", + "progress": "^2.0.3", + "prompts": "^2.3.1", + "react": "^16.8.0", + "redux": "^4.0.5", + "resolve-cwd": "^2.0.0", + "semver": "^6.3.0", + "signal-exit": "^3.0.2", + "source-map": "0.7.3", + "stack-trace": "^0.0.10", + "strip-ansi": "^5.2.0", + "update-notifier": "^3.0.1", + "uuid": "3.4.0", + "yargs": "^12.0.5", + "yurnalist": "^1.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "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==" + }, + "hosted-git-info": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz", + "integrity": "sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ==", + "requires": { + "lru-cache": "^5.1.1" + } + }, + "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" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + }, + "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=" + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "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" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "gatsby-core-utils": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-1.0.34.tgz", + "integrity": "sha512-CVuUQTVY+0X7vAqFnDeRT0ZkN0tUXvk6GLvUqfmoOzBvX9HphiR0VTi1tEYrsc5DSaz7Oyhr0vdp8j/e96rH1w==", + "requires": { + "ci-info": "2.0.0", + "configstore": "^5.0.1", + "node-object-hash": "^2.0.0" + } + }, + "gatsby-graphiql-explorer": { + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-0.2.37.tgz", + "integrity": "sha512-dWfNA/CDjKO86DZLgxhYFSmK7DTCxwGvKm0HeMBYxcSyLP/WFAOoJjV2DCE2gMge28Sqmsz8ueOMZXM2YH8rIA==", + "requires": { + "@babel/runtime": "^7.8.7" + } + }, + "gatsby-link": { + "version": "2.2.31", + "resolved": "https://registry.npmjs.org/gatsby-link/-/gatsby-link-2.2.31.tgz", + "integrity": "sha512-LNEEPW02Kt+pURc7XXpnK93yjISbrAS5EIYSUoAnd7CUDlPGYnrvIQMvu1i/5/V6jV3zlprFoB3b2SimOIYKLw==", + "requires": { + "@babel/runtime": "^7.8.7", + "@types/reach__router": "^1.3.0", + "prop-types": "^15.7.2" + } + }, + "gatsby-page-utils": { + "version": "0.0.45", + "resolved": "https://registry.npmjs.org/gatsby-page-utils/-/gatsby-page-utils-0.0.45.tgz", + "integrity": "sha512-StAEEFuHmtOwrNxD8g3ZmH3SLM+o3kU35AfVNEL8J74Woh5r6W2eg+7EPBae2TXIkrznWQUFuViBlPTuLBk06g==", + "requires": { + "@babel/runtime": "^7.8.7", + "bluebird": "^3.7.2", + "chokidar": "3.3.1", + "fs-exists-cached": "^1.0.0", + "gatsby-core-utils": "^1.0.34", + "glob": "^7.1.6", + "lodash": "^4.17.15", + "micromatch": "^3.1.10" + } + }, + "gatsby-plugin-catch-links": { + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/gatsby-plugin-catch-links/-/gatsby-plugin-catch-links-2.1.28.tgz", + "integrity": "sha512-3cemo2r4Q1JcJEVqOfWhXcrNXgocoaDSEV1c2gogGemZcWIHLbq2dh0zRABu/QKZ4p6nb8uTgh8DHFugZ1zbdg==", + "requires": { + "@babel/runtime": "^7.8.7", + "escape-string-regexp": "^1.0.5" + } + }, + "gatsby-plugin-emotion": { + "version": "4.1.25", + "resolved": "https://registry.npmjs.org/gatsby-plugin-emotion/-/gatsby-plugin-emotion-4.1.25.tgz", + "integrity": "sha512-VP+s3mEfvaTjKUOVsDRgy/HPfDJQHeZD/Z/WBKgQetLgmvrGVnxm9NEMCJWyJm9LxQ791bfwoP6XNwOYscU8sA==", + "requires": { + "@babel/runtime": "^7.8.7", + "@emotion/babel-preset-css-prop": "^10.0.27" + } + }, + "gatsby-plugin-lunr": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/gatsby-plugin-lunr/-/gatsby-plugin-lunr-1.5.2.tgz", + "integrity": "sha512-L+W8Jb7io824oxBGP973/7N9uv5YUhWpjRdteWDfWzku2S3vzlunoKVz5h4kMXezWDZDV2g8YsfWFNor7Gg5QQ==", + "requires": { + "@babel/runtime": "^7.4.3", + "lunr": "^2.3.6", + "lunr-languages": "^1.1.0" + } + }, + "gatsby-plugin-manifest": { + "version": "2.2.48", + "resolved": "https://registry.npmjs.org/gatsby-plugin-manifest/-/gatsby-plugin-manifest-2.2.48.tgz", + "integrity": "sha512-RWD2HlKT7TFcXs3SIiZTWjq3Ud4z79cms8pBLXjlNNddatnSNi0ne2RknERCQgmTQvcJ9eNeIzfzVtR3WAcBYA==", + "requires": { + "@babel/runtime": "^7.8.7", + "gatsby-core-utils": "^1.0.34", + "semver": "^5.7.1", + "sharp": "^0.23.4" + } + }, + "gatsby-plugin-mdx": { + "version": "1.0.84", + "resolved": "https://registry.npmjs.org/gatsby-plugin-mdx/-/gatsby-plugin-mdx-1.0.84.tgz", + "integrity": "sha512-OfMzdSybwB6cFGiTPbW2SDbv37V7NOk3/OAhn27fixOLPGqJ//ontIRldZLQZKZfEa30U2gnnh9XTG3C5jvfVQ==", + "requires": { + "@babel/core": "^7.8.7", + "@babel/generator": "^7.8.8", + "@babel/helper-plugin-utils": "^7.8.3", + "@babel/plugin-proposal-object-rest-spread": "^7.8.3", + "@babel/preset-env": "^7.8.7", + "@babel/preset-react": "^7.8.3", + "@babel/types": "^7.8.7", + "camelcase-css": "^2.0.1", + "change-case": "^3.1.0", + "core-js": "2", + "dataloader": "^1.4.0", + "debug": "^4.1.1", + "escape-string-regexp": "^1.0.5", + "eval": "^0.1.4", + "fs-extra": "^8.1.0", + "gatsby-core-utils": "^1.0.34", + "gray-matter": "^4.0.2", + "json5": "^2.1.2", + "loader-utils": "^1.4.0", + "lodash": "^4.17.15", + "mdast-util-to-string": "^1.1.0", + "mdast-util-toc": "^3.1.0", + "mime": "^2.4.4", + "p-queue": "^5.0.0", + "pretty-bytes": "^5.3.0", + "remark": "^10.0.1", + "remark-retext": "^3.1.3", + "retext-english": "^3.0.4", + "static-site-generator-webpack-plugin": "^3.4.2", + "style-to-object": "^0.3.0", + "underscore.string": "^3.3.5", + "unified": "^8.4.2", + "unist-util-map": "^1.0.5", + "unist-util-remove": "^1.0.3", + "unist-util-visit": "^1.4.1" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + } + } + }, + "gatsby-plugin-page-creator": { + "version": "2.1.46", + "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.1.46.tgz", + "integrity": "sha512-Yx8y2DYl/7wq+CR011/gVbfIXAC424hjZN/BNZVY22WQPZ3vsBScqa9B0awpJZ3OCzLKqWcK5iRHPxzQHUwE6g==", + "requires": { + "@babel/runtime": "^7.8.7", + "bluebird": "^3.7.2", + "fs-exists-cached": "^1.0.0", + "gatsby-page-utils": "^0.0.45", + "glob": "^7.1.6", + "lodash": "^4.17.15", + "micromatch": "^3.1.10" + } + }, + "gatsby-plugin-react-helmet": { + "version": "3.1.24", + "resolved": "https://registry.npmjs.org/gatsby-plugin-react-helmet/-/gatsby-plugin-react-helmet-3.1.24.tgz", + "integrity": "sha512-kLR/RMDBVriJptsJufoL1UBVHgq2fZIMXen7nru2ugGn0m8xwpArFoOz6meYlpiDB3Z41eYR/+Nr8GizQnYcxg==", + "requires": { + "@babel/runtime": "^7.8.7" + } + }, + "gatsby-plugin-sass": { + "version": "2.1.31", + "resolved": "https://registry.npmjs.org/gatsby-plugin-sass/-/gatsby-plugin-sass-2.1.31.tgz", + "integrity": "sha512-3+2rvNxnBBcCRtc13D8aC/m8K6GznPcWJRBYX1YHiLYYw547eQG2YheRGrp+mzjgx5rv3XUF6WsFXroEUGXyfg==", + "requires": { + "@babel/runtime": "^7.8.7", + "sass-loader": "^7.3.1" + } + }, + "gatsby-plugin-sass-resources": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-sass-resources/-/gatsby-plugin-sass-resources-2.0.0.tgz", + "integrity": "sha512-qck+/PxacnRNfpNKong+4Dsi+/IgOsFaMneJnA49nGj8+cE9vFeTUKwqhvRqAQmpJQ15zALju7flJ1hXhckZgA==", + "requires": { + "@babel/runtime": "^7.0.0", + "sass-resources-loader": "^1.3.3", + "webpack": "^4.0.0" + } + }, + "gatsby-plugin-sharp": { + "version": "2.4.13", + "resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.4.13.tgz", + "integrity": "sha512-ogRe5CxBIBZ0R76t7F3F1ji00BO7qnTO4vZkREaSxDBwgY6SOGKT8uie497Ej6usfarc9XQ/jMnXBu5EkrT4tA==", + "requires": { + "@babel/runtime": "^7.8.7", + "async": "^2.6.3", + "bluebird": "^3.7.2", + "fs-extra": "^8.1.0", + "gatsby-core-utils": "^1.0.34", + "got": "^8.3.2", + "imagemin": "^6.1.0", + "imagemin-mozjpeg": "^8.0.0", + "imagemin-pngquant": "^6.0.1", + "imagemin-webp": "^5.1.0", + "lodash": "^4.17.15", + "mini-svg-data-uri": "^1.1.3", + "potrace": "^2.1.2", + "probe-image-size": "^4.1.1", + "progress": "^2.0.3", + "semver": "^5.7.1", + "sharp": "^0.23.4", + "svgo": "1.3.2", + "uuid": "^3.4.0" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + } + } + }, + "gatsby-plugin-webpack-bundle-analyser-v2": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/gatsby-plugin-webpack-bundle-analyser-v2/-/gatsby-plugin-webpack-bundle-analyser-v2-1.1.8.tgz", + "integrity": "sha512-xVC6JYP1n1CaLml9VTBqdrmBEkCUgcAk5jW8hpJVH9gAn3dVQYyOgUxAavi88ZBLN7Ff6M7uZ80COMRWtdlpbA==", + "requires": { + "@babel/runtime": "^7.7.2", + "webpack-bundle-analyzer": "^3.6.0" + } + }, + "gatsby-react-router-scroll": { + "version": "2.1.25", + "resolved": "https://registry.npmjs.org/gatsby-react-router-scroll/-/gatsby-react-router-scroll-2.1.25.tgz", + "integrity": "sha512-N99Zrd54ENQkxLbYSBVoCNOsm4Ok7qIPmMZ8cOPDXZQ+LSvAGhsal492uU9/L7XDwOfz+B1IReOBLS6AUuaGOQ==", + "requires": { + "@babel/runtime": "^7.8.7", + "scroll-behavior": "^0.9.12", + "warning": "^3.0.0" + }, + "dependencies": { + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "^1.0.0" + } + } + } + }, + "gatsby-remark-copy-linked-files": { + "version": "2.1.40", + "resolved": "https://registry.npmjs.org/gatsby-remark-copy-linked-files/-/gatsby-remark-copy-linked-files-2.1.40.tgz", + "integrity": "sha512-htZTd5rD46rg4j6KykJJE/GnV+ONidanyDlZWBJyvmIM97Jmcgh6FLpwy68PCzjw32JBdow3Wu2H//vvGYdBYw==", + "requires": { + "@babel/runtime": "^7.8.7", + "cheerio": "^1.0.0-rc.3", + "fs-extra": "^8.1.0", + "is-relative-url": "^3.0.0", + "lodash": "^4.17.15", + "path-is-inside": "^1.0.2", + "probe-image-size": "^4.1.1", + "unist-util-visit": "^1.4.1" + }, + "dependencies": { + "cheerio": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", + "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.1", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash": "^4.15.0", + "parse5": "^3.0.1" + } + }, + "dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "requires": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "requires": { + "@types/node": "*" + } + }, + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + } + } + }, + "gatsby-remark-images": { + "version": "3.1.50", + "resolved": "https://registry.npmjs.org/gatsby-remark-images/-/gatsby-remark-images-3.1.50.tgz", + "integrity": "sha512-lY3hTNB6KUGlmKUKoc2D3U+9FJrlPjwqvKVDXbGGj71xKkXtBt4ns1AqmdTiX+v8m2OpgzEcwlAxA/4wHF+dTg==", + "requires": { + "@babel/runtime": "^7.8.7", + "chalk": "^2.4.2", + "cheerio": "^1.0.0-rc.3", + "gatsby-core-utils": "^1.0.34", + "is-relative-url": "^3.0.0", + "lodash": "^4.17.15", + "mdast-util-definitions": "^1.2.5", + "potrace": "^2.1.2", + "query-string": "^6.11.1", + "unist-util-select": "^1.5.0", + "unist-util-visit-parents": "^2.1.2" + }, + "dependencies": { + "cheerio": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", + "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.1", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash": "^4.15.0", + "parse5": "^3.0.1" + } + }, + "dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "requires": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "requires": { + "@types/node": "*" + } + }, + "query-string": { + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.11.1.tgz", + "integrity": "sha512-1ZvJOUl8ifkkBxu2ByVM/8GijMIPx+cef7u3yroO3Ogm4DOdZcF5dcrWTIlSHe3Pg/mtlt6/eFjObDfJureZZA==", + "requires": { + "decode-uri-component": "^0.2.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "strict-uri-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" + } + } + }, + "gatsby-remark-responsive-iframe": { + "version": "2.2.34", + "resolved": "https://registry.npmjs.org/gatsby-remark-responsive-iframe/-/gatsby-remark-responsive-iframe-2.2.34.tgz", + "integrity": "sha512-Fl+TKuK8KZZ7mVoUIXCaWB/MLgpwnXUHzY6Qtsx6zWre3x1IuQ9m2/OacvibAMLiyxqBkJJO8CjZ8TXIbf48dg==", + "requires": { + "@babel/runtime": "^7.8.7", + "cheerio": "^1.0.0-rc.3", + "common-tags": "^1.8.0", + "lodash": "^4.17.15", + "unist-util-visit": "^1.4.1" + }, + "dependencies": { + "cheerio": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", + "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.1", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash": "^4.15.0", + "parse5": "^3.0.1" + } + }, + "dom-serializer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "requires": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "requires": { + "@types/node": "*" + } + }, + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + } + } + }, + "gatsby-remark-smartypants": { + "version": "2.1.23", + "resolved": "https://registry.npmjs.org/gatsby-remark-smartypants/-/gatsby-remark-smartypants-2.1.23.tgz", + "integrity": "sha512-Sjehajgd2TZvtMqux/7QXC8xC1DSzzBOPlYwM1J3neJhYDlOkqqF0l9HYZ6yjJ3f9rfD68flt9TzMqWVETWzSg==", + "requires": { + "@babel/runtime": "^7.8.7", + "retext": "^5.0.0", + "retext-smartypants": "^3.0.3", + "unist-util-visit": "^1.4.1" + }, + "dependencies": { + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + } + } + }, + "gatsby-remark-unwrap-images": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gatsby-remark-unwrap-images/-/gatsby-remark-unwrap-images-1.0.1.tgz", + "integrity": "sha512-qBj4PDez/TrAOX/gWtRvklUotT7yYikPvN1XYYDR4PECM9ky1gXIGc1/jqYlLCTja70vgWTHxzPptkRpgw+o4g==", + "requires": { + "unist-util-remove": "^1.0.1", + "unist-util-visit": "^1.4.0" + }, + "dependencies": { + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + } + } + }, + "gatsby-source-filesystem": { + "version": "2.1.57", + "resolved": "https://registry.npmjs.org/gatsby-source-filesystem/-/gatsby-source-filesystem-2.1.57.tgz", + "integrity": "sha512-HBD1wFoCpVXYLwL3Wwyz6d2E/ff7DDy81YrmCzXTJmAsGmVXraJZkUAbxwuqt3L793e8SHBd6yVi+wBKRowBXg==", + "requires": { + "@babel/runtime": "^7.8.7", + "better-queue": "^3.8.10", + "bluebird": "^3.7.2", + "chokidar": "3.3.1", + "file-type": "^12.4.2", + "fs-extra": "^8.1.0", + "gatsby-core-utils": "^1.0.34", + "got": "^8.3.2", + "md5-file": "^3.2.3", + "mime": "^2.4.4", + "pretty-bytes": "^5.3.0", + "progress": "^2.0.3", + "read-chunk": "^3.2.0", + "valid-url": "^1.0.9", + "xstate": "^4.8.0" + }, + "dependencies": { + "file-type": { + "version": "12.4.2", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz", + "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==" + } + } + }, + "gatsby-source-medium-feed": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/gatsby-source-medium-feed/-/gatsby-source-medium-feed-1.0.6.tgz", + "integrity": "sha512-Ey9BWpbEaOkIPk4JNnoVBTZ5uM5ylqhngsQZ+Ijr1l/Oobgpz//FBr9aFpdaayrDHkaeoffsZ7VLgrCl2k+sIw==", + "requires": { + "@babel/runtime": "^7.0.0", + "rss-parser": "3.7.0" + } + }, + "gatsby-telemetry": { + "version": "1.1.56", + "resolved": "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-1.1.56.tgz", + "integrity": "sha512-WMYO4uSmu/nfwt2sTUExA2pXRVJ+7AQuvB1LDPPYKeMkQee5eO23TYRS3pxWqIPtxmmFTruXwNEsMklwlxn2eA==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/runtime": "^7.8.7", + "bluebird": "^3.7.2", + "boxen": "^4.2.0", + "configstore": "^5.0.1", + "envinfo": "^7.5.0", + "fs-extra": "^8.1.0", + "gatsby-core-utils": "^1.0.34", + "git-up": "4.0.1", + "is-docker": "2.0.0", + "lodash": "^4.17.15", + "node-fetch": "2.6.0", + "resolve-cwd": "^2.0.0", + "source-map": "^0.7.3", + "stack-trace": "^0.0.10", + "stack-utils": "1.0.2", + "uuid": "3.4.0" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "gatsby-theme-carbon": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/gatsby-theme-carbon/-/gatsby-theme-carbon-1.22.1.tgz", + "integrity": "sha512-6qYaQkENZZiIFdUGb0qAMZ+aufejOjsrkJ/cnFltsLD0UGQvJv4E6PxHPm++8Ttmmx6bJadvjit++i7VFHkZsg==", + "requires": { + "@carbon/elements": "^10.10.2", + "@carbon/icons-react": "^10.9.2", + "@emotion/core": "^10.0.10", + "@emotion/styled": "^10.0.11", + "@mdx-js/mdx": "^1.5.5", + "@mdx-js/react": "^1.5.5", + "@reach/router": "^1.2.1", + "@vimeo/player": "^2.9.1", + "beautiful-react-hooks": "^0.22.2", + "carbon-components": "^10.10.2", + "carbon-components-react": "^7.10.2", + "carbon-icons": "^7.0.7", + "classnames": "^2.2.6", + "copy-to-clipboard": "^3.2.0", + "emotion-theming": "^10.0.10", + "focus-trap-react": "^6.0.0", + "gatsby-plugin-catch-links": "^2.0.15", + "gatsby-plugin-emotion": "^4.0.7", + "gatsby-plugin-lunr": "^1.5.2", + "gatsby-plugin-manifest": "^2.1.1", + "gatsby-plugin-mdx": "^1.0.67", + "gatsby-plugin-react-helmet": "^3.0.12", + "gatsby-plugin-sass": "^2.0.11", + "gatsby-plugin-sass-resources": "^2.0.0", + "gatsby-plugin-sharp": "^2.4.5", + "gatsby-plugin-webpack-bundle-analyser-v2": "^1.1.8", + "gatsby-remark-copy-linked-files": "^2.0.13", + "gatsby-remark-images": "^3.1.42", + "gatsby-remark-responsive-iframe": "^2.1.1", + "gatsby-remark-smartypants": "^2.0.9", + "gatsby-remark-unwrap-images": "^1.0.1", + "gatsby-source-filesystem": "^2.0.37", + "gatsby-source-medium-feed": "^1.0.6", + "gatsby-transformer-yaml": "^2.1.12", + "lodash.throttle": "^4.1.1", + "mkdirp": "^0.5.1", + "node-sass": "^4.11.0", + "prism-react-renderer": "^0.1.7", + "prop-types": "^15.7.2", + "react-helmet": "^6.0.0-beta", + "react-transition-group": "^4.3.0", + "remark-slug": "^5.1.2", + "slugify": "^1.3.4", + "smooth-scroll": "^16.0.3", + "use-media": "^1.4.0" + } + }, + "gatsby-transformer-yaml": { + "version": "2.2.27", + "resolved": "https://registry.npmjs.org/gatsby-transformer-yaml/-/gatsby-transformer-yaml-2.2.27.tgz", + "integrity": "sha512-PRhVKk1Ac6lHX2gyekMwJt2rifmsKXM2QeKaL5iAEk4JLoB/jSJ+muYqAMgh/hIHVBNn4J8h80UwlhevTiiFJA==", + "requires": { + "@babel/runtime": "^7.8.7", + "js-yaml": "^3.13.1", + "lodash": "^4.17.15", + "unist-util-select": "^1.5.0" + } + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "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=", + "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=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "requires": { + "globule": "^1.0.0" + } + }, + "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==" + }, + "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==" + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=" + }, + "get-proxy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", + "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", + "requires": { + "npm-conf": "^1.1.0" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "git-up": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-4.0.1.tgz", + "integrity": "sha512-LFTZZrBlrCrGCG07/dm1aCjjpL1z9L3+5aEeI9SBhAqSc+kiA9Or1bgZhQFNppJX6h/f5McrvJt1mQXTFm6Qrw==", + "requires": { + "is-ssh": "^1.3.0", + "parse-url": "^5.0.0" + } + }, + "github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" + }, + "github-slugger": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.3.0.tgz", + "integrity": "sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q==", + "requires": { + "emoji-regex": ">=6.0.0 <=6.1.1" + }, + "dependencies": { + "emoji-regex": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz", + "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=" + } + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" + }, + "global": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz", + "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==", + "requires": { + "min-document": "^2.19.0", + "process": "^0.11.10" + } + }, + "global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", + "requires": { + "ini": "^1.3.4" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "globby": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.2.tgz", + "integrity": "sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==", + "requires": { + "array-union": "^1.0.1", + "dir-glob": "2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "globule": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz", + "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==", + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.12", + "minimatch": "~3.0.2" + } + }, + "got": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz", + "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==", + "requires": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + }, + "dependencies": { + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz", + "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==" + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" + } + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" + }, + "keyv": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz", + "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", + "requires": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + } + }, + "p-cancelable": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz", + "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==" + } + } + }, + "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==" + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, + "graphql": { + "version": "14.6.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-14.6.0.tgz", + "integrity": "sha512-VKzfvHEKybTKjQVpTFrA5yUq2S9ihcZvfJAtsDBBCuV6wauPu1xl/f9ehgVf0FcEJJs4vz6ysb/ZMkGigQZseg==", + "requires": { + "iterall": "^1.2.2" + } + }, + "graphql-compose": { + "version": "6.3.8", + "resolved": "https://registry.npmjs.org/graphql-compose/-/graphql-compose-6.3.8.tgz", + "integrity": "sha512-o0/jzQEMIpSjryLKwmD1vGrCubiPxD0LxlGTgWDSu38TBepu2GhugC9gYgTEbtiCZAHPtvkZ90SzzABOWZyQLA==", + "requires": { + "graphql-type-json": "^0.2.4", + "object-path": "^0.11.4" + } + }, + "graphql-config": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-2.2.1.tgz", + "integrity": "sha512-U8+1IAhw9m6WkZRRcyj8ZarK96R6lQBQ0an4lp76Ps9FyhOXENC5YQOxOFGm5CxPrX2rD0g3Je4zG5xdNJjwzQ==", + "requires": { + "graphql-import": "^0.7.1", + "graphql-request": "^1.5.0", + "js-yaml": "^3.10.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.4" + } + }, + "graphql-import": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/graphql-import/-/graphql-import-0.7.1.tgz", + "integrity": "sha512-YpwpaPjRUVlw2SN3OPljpWbVRWAhMAyfSba5U47qGMOSsPLi2gYeJtngGpymjm9nk57RFWEpjqwh4+dpYuFAPw==", + "requires": { + "lodash": "^4.17.4", + "resolve-from": "^4.0.0" + } + }, + "graphql-playground-html": { + "version": "1.6.12", + "resolved": "https://registry.npmjs.org/graphql-playground-html/-/graphql-playground-html-1.6.12.tgz", + "integrity": "sha512-yOYFwwSMBL0MwufeL8bkrNDgRE7eF/kTHiwrqn9FiR9KLcNIl1xw9l9a+6yIRZM56JReQOHpbQFXTZn1IuSKRg==" + }, + "graphql-playground-middleware-express": { + "version": "1.7.12", + "resolved": "https://registry.npmjs.org/graphql-playground-middleware-express/-/graphql-playground-middleware-express-1.7.12.tgz", + "integrity": "sha512-17szgonnVSxWVrgblLRHHLjWnMUONfkULIwSunaMvYx8k5oG3yL86cyGCbHuDFUFkyr2swLhdfYl4mDfDXuvOA==", + "requires": { + "graphql-playground-html": "1.6.12" + } + }, + "graphql-request": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-1.8.2.tgz", + "integrity": "sha512-dDX2M+VMsxXFCmUX0Vo0TopIZIX4ggzOtiCsThgtrKR4niiaagsGTDIHj3fsOMFETpa064vzovI+4YV4QnMbcg==", + "requires": { + "cross-fetch": "2.2.2" + } + }, + "graphql-type-json": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/graphql-type-json/-/graphql-type-json-0.2.4.tgz", + "integrity": "sha512-/tq02ayMQjrG4oDFDRLLrPk0KvJXue0nVXoItBe7uAdbNXjQUu+HYCBdAmPLQoseVzUKKMzrhq2P/sfI76ON6w==" + }, + "gray-matter": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.2.tgz", + "integrity": "sha512-7hB/+LxrOjq/dd8APlK0r24uL/67w7SkYnfwhNFwg/VDIGWGmduTDYf3WNstLW2fbbmRwrDGCVSJ2isuf2+4Hw==", + "requires": { + "js-yaml": "^3.11.0", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + } + }, + "gud": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } + } + }, + "handle-thing": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", + "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==" + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + } + } + }, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "requires": { + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + } + } + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==" + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hasha": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.0.tgz", + "integrity": "sha512-2W+jKdQbAdSIrggA8Q35Br8qKadTrqCTC8+XZvBWepKDK6m9XkX6Iz1a2yh2KP01kzAR/dpuMeUnocoLYDcskw==", + "requires": { + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" + }, + "dependencies": { + "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==" + } + } + }, + "hast-to-hyperscript": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-7.0.4.tgz", + "integrity": "sha512-vmwriQ2H0RPS9ho4Kkbf3n3lY436QKLq6VaGA1pzBh36hBi3tm1DO9bR+kaJIbpT10UqaANDkMjxvjVfr+cnOA==", + "requires": { + "comma-separated-tokens": "^1.0.0", + "property-information": "^5.3.0", + "space-separated-tokens": "^1.0.0", + "style-to-object": "^0.2.1", + "unist-util-is": "^3.0.0", + "web-namespaces": "^1.1.2" + }, + "dependencies": { + "style-to-object": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.2.3.tgz", + "integrity": "sha512-1d/k4EY2N7jVLOqf2j04dTc37TPOv/hHxZmvpg8Pdh8UYydxeu/C1W1U4vD8alzf5V2Gt7rLsmkr4dxAlDm9ng==", + "requires": { + "inline-style-parser": "0.1.1" + } + } + } + }, + "hast-util-from-parse5": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-5.0.3.tgz", + "integrity": "sha512-gOc8UB99F6eWVWFtM9jUikjN7QkWxB3nY0df5Z0Zq1/Nkwl5V4hAAsl0tmwlgWl/1shlTF8DnNYLO8X6wRV9pA==", + "requires": { + "ccount": "^1.0.3", + "hastscript": "^5.0.0", + "property-information": "^5.0.0", + "web-namespaces": "^1.1.2", + "xtend": "^4.0.1" + } + }, + "hast-util-parse-selector": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.4.tgz", + "integrity": "sha512-gW3sxfynIvZApL4L07wryYF4+C9VvH3AUi7LAnVXV4MneGEgwOByXvFo18BgmTWnm7oHAe874jKbIB1YhHSIzA==" + }, + "hast-util-raw": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-5.0.1.tgz", + "integrity": "sha512-iHo7G6BjRc/GU1Yun5CIEXjil0wVnIbz11C6k0JdDichSDMtYi2+NNtk6YN7EOP0JfPstX30d3pRLfaJv5CkdA==", + "requires": { + "hast-util-from-parse5": "^5.0.0", + "hast-util-to-parse5": "^5.0.0", + "html-void-elements": "^1.0.1", + "parse5": "^5.0.0", + "unist-util-position": "^3.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.1", + "zwitch": "^1.0.0" + } + }, + "hast-util-to-parse5": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-5.1.2.tgz", + "integrity": "sha512-ZgYLJu9lYknMfsBY0rBV4TJn2xiwF1fXFFjbP6EE7S0s5mS8LIKBVWzhA1MeIs1SWW6GnnE4In6c3kPb+CWhog==", + "requires": { + "hast-to-hyperscript": "^7.0.0", + "property-information": "^5.0.0", + "web-namespaces": "^1.0.0", + "xtend": "^4.0.0", + "zwitch": "^1.0.0" + } + }, + "hastscript": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-5.1.2.tgz", + "integrity": "sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==", + "requires": { + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + } + }, + "header-case": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/header-case/-/header-case-1.0.1.tgz", + "integrity": "sha1-lTWXMZfBRLCWE81l0xfvGZY70C0=", + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.3" + } + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" + }, + "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==" + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=" + }, + "html-void-elements": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", + "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==" + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "http-parser-js": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=" + }, + "http-proxy": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", + "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" + }, + "icss-utils": { + "version": "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" + }, + "dependencies": { + "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" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" + }, + "imagemin": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-6.1.0.tgz", + "integrity": "sha512-8ryJBL1CN5uSHpiBMX0rJw79C9F9aJqMnjGnrd/1CafegpNuA81RBAAru/jQQEOWlOJJlpRnlcVFF6wq+Ist0A==", + "requires": { + "file-type": "^10.7.0", + "globby": "^8.0.1", + "make-dir": "^1.0.0", + "p-pipe": "^1.1.0", + "pify": "^4.0.1", + "replace-ext": "^1.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } + } + }, + "imagemin-mozjpeg": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/imagemin-mozjpeg/-/imagemin-mozjpeg-8.0.0.tgz", + "integrity": "sha512-+EciPiIjCb8JWjQNr1q8sYWYf7GDCNDxPYnkD11TNIjjWNzaV+oTg4DpOPQjl5ZX/KRCPMEgS79zLYAQzLitIA==", + "requires": { + "execa": "^1.0.0", + "is-jpg": "^2.0.0", + "mozjpeg": "^6.0.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + } + } + }, + "imagemin-pngquant": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/imagemin-pngquant/-/imagemin-pngquant-6.0.1.tgz", + "integrity": "sha512-Stk+fZCLxZznV8MFNA/T3AY/VRKevsiP9uZOLV0RCXoi0vUUFriySYuz/83IGp9D254EW8miGyyQ69zKouFr7w==", + "requires": { + "execa": "^0.10.0", + "is-png": "^1.0.0", + "is-stream": "^1.1.0", + "pngquant-bin": "^5.0.0" + }, + "dependencies": { + "execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + } + } + }, + "imagemin-webp": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/imagemin-webp/-/imagemin-webp-5.1.0.tgz", + "integrity": "sha512-BsPTpobgbDPFBBsI3UflnU/cpIVa15qInEDBcYBw16qI/6XiB4vDF/dGp9l4aM3pfFDDYqR0mANMcKpBD7wbCw==", + "requires": { + "cwebp-bin": "^5.0.0", + "exec-buffer": "^3.0.0", + "is-cwebp-readable": "^2.0.1" + } + }, + "immer": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/immer/-/immer-1.10.0.tgz", + "integrity": "sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==" + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.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" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } + } + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "in-publish": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", + "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==" + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + }, + "ink": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/ink/-/ink-2.7.1.tgz", + "integrity": "sha512-s7lJuQDJEdjqtaIWhp3KYHl6WV3J04U9zoQ6wVc+Xoa06XM27SXUY57qC5DO46xkF0CfgXMKkKNcgvSu/SAEpA==", + "optional": true, + "requires": { + "ansi-escapes": "^4.2.1", + "arrify": "^2.0.1", + "auto-bind": "^4.0.0", + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-truncate": "^2.1.0", + "is-ci": "^2.0.0", + "lodash.throttle": "^4.1.1", + "log-update": "^3.0.0", + "prop-types": "^15.6.2", + "react-reconciler": "^0.24.0", + "scheduler": "^0.18.0", + "signal-exit": "^3.0.2", + "slice-ansi": "^3.0.0", + "string-length": "^3.1.0", + "widest-line": "^3.1.0", + "wrap-ansi": "^6.2.0", + "yoga-layout-prebuilt": "^1.9.3" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "optional": true, + "requires": { + "type-fest": "^0.11.0" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "optional": 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==", + "optional": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "optional": 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==", + "optional": true + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "optional": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "optional": 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==", + "optional": 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==", + "optional": 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==", + "optional": 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==", + "optional": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "optional": true + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "optional": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "optional": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "optional": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "optional": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "optional": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "optional": 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==", + "optional": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "ink-spinner": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ink-spinner/-/ink-spinner-3.0.1.tgz", + "integrity": "sha512-AVR4Z/NXDQ7dT5ltWcCzFS9Dd4T8eaO//E2UO8VYNiJcZpPCSJ11o5A0UVPcMlZxGbGD6ikUFDR3ZgPUQk5haQ==", + "optional": true, + "requires": { + "cli-spinners": "^1.0.0", + "prop-types": "^15.5.10" + } + }, + "inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "inquirer": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.0.tgz", + "integrity": "sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA==", + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "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==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "internal-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", + "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", + "requires": { + "es-abstract": "^1.17.0-next.1", + "has": "^1.0.3", + "side-channel": "^1.0.2" + } + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "requires": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + }, + "dependencies": { + "p-is-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" + } + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "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==" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==" + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" + }, + "is-alphanumeric": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", + "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=" + }, + "is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-builtin-module": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.0.0.tgz", + "integrity": "sha512-/93sDihsAD652hrMEbJGbMAVBf1qc96kyThHQ0CAOONHaE3aROLpTjDe4WQ5aoC5ITHFxEq1z8XqSU7km+8amw==", + "requires": { + "builtin-modules": "^3.0.0" + } + }, + "is-callable": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "requires": { + "ci-info": "^2.0.0" + } + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-cwebp-readable": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-cwebp-readable/-/is-cwebp-readable-2.0.1.tgz", + "integrity": "sha1-r7k7DAq9CiUQEBauM66ort+SbSY=", + "requires": { + "file-type": "^4.3.0" + }, + "dependencies": { + "file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=" + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" + }, + "is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, + "is-docker": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", + "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==" + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" + }, + "is-installed-globally": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + }, + "dependencies": { + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "requires": { + "path-is-inside": "^1.0.1" + } + } + } + }, + "is-invalid-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-invalid-path/-/is-invalid-path-0.1.0.tgz", + "integrity": "sha1-MHqFWzzxqTi0TqcNLGEQYFNxTzQ=", + "requires": { + "is-glob": "^2.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + } + } + }, + "is-jpg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-2.0.0.tgz", + "integrity": "sha1-LhmX+m6RZuqsAkLarkQ0A+TvHZc=" + }, + "is-lower-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", + "integrity": "sha1-fhR75HaNxGbbO/shzGCzHmrWk5M=", + "requires": { + "lower-case": "^1.1.0" + } + }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" + }, + "is-npm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-3.0.0.tgz", + "integrity": "sha512-wsigDr1Kkschp2opC4G3yA6r9EgVA6NjRpWzIi9axXqeIaAATPRJc4uLujXe3Nd9uO8KoDyA4MD6aZSeXTADhA==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "requires": { + "is-path-inside": "^2.1.0" + }, + "dependencies": { + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "requires": { + "path-is-inside": "^1.0.2" + } + } + } + }, + "is-path-inside": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", + "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==" + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-png": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-png/-/is-png-1.1.0.tgz", + "integrity": "sha1-1XSxK/J1wDUEVVcLDltXqwYgd84=" + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "requires": { + "has": "^1.0.3" + } + }, + "is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-relative-url": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-relative-url/-/is-relative-url-3.0.0.tgz", + "integrity": "sha512-U1iSYRlY2GIMGuZx7gezlB5dp1Kheaym7zKzO1PV06mOihiWTXejLwm4poEJysPyXF+HtK/BEd0DVlcCh30pEA==", + "requires": { + "is-absolute-url": "^3.0.0" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==" + }, + "is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" + }, + "is-ssh": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.1.tgz", + "integrity": "sha512-0eRIASHZt1E68/ixClI8bp2YK2wmBPVWEismTs6M+M099jKgrzl/3E976zIbImSIob48N2/XGe9y7ZiYdImSlg==", + "requires": { + "protocols": "^1.1.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" + }, + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-upper-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", + "integrity": "sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8=", + "requires": { + "upper-case": "^1.1.0" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + }, + "is-valid-path": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-valid-path/-/is-valid-path-0.1.1.tgz", + "integrity": "sha1-EQ+f90w39mPh7HkV60UfLbk6yd8=", + "requires": { + "is-invalid-path": "^0.1.0" + } + }, + "is-whitespace-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", + "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-word-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", + "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==" + }, + "is-wsl": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", + "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==" + }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "isurl": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", + "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "iterall": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", + "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==" + }, + "jest-worker": { + "version": "24.9.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", + "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "jimp": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.6.8.tgz", + "integrity": "sha512-F7emeG7Hp61IM8VFbNvWENLTuHe0ghizWPuP4JS9ujx2r5mCVYEd/zdaz6M2M42ZdN41blxPajLWl9FXo7Mr2Q==", + "requires": { + "@jimp/custom": "^0.6.8", + "@jimp/plugins": "^0.6.8", + "@jimp/types": "^0.6.8", + "core-js": "^2.5.7", + "regenerator-runtime": "^0.13.3" + } + }, + "jpeg-js": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.3.7.tgz", + "integrity": "sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ==" + }, + "js-base64": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.2.tgz", + "integrity": "sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" + }, + "json5": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.2.tgz", + "integrity": "sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "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" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jsx-ast-utils": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz", + "integrity": "sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA==", + "requires": { + "array-includes": "^3.0.3", + "object.assign": "^4.1.0" + } + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "requires": { + "json-buffer": "3.0.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "last-call-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", + "requires": { + "lodash": "^4.17.5", + "webpack-sources": "^1.1.0" + } + }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "requires": { + "package-json": "^6.3.0" + } + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + }, + "levenary": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", + "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", + "requires": { + "leven": "^3.1.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "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=" + }, + "load-bmfont": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.0.tgz", + "integrity": "sha512-kT63aTAlNhZARowaNYcY29Fn/QYkc52M3l6V1ifRcPewg2lvUZDAj7R6dXjOL9D0sict76op3T5+odumDSF81g==", + "requires": { + "buffer-equal": "0.0.1", + "mime": "^1.3.4", + "parse-bmfont-ascii": "^1.0.3", + "parse-bmfont-binary": "^1.0.5", + "parse-bmfont-xml": "^1.1.4", + "phin": "^2.9.1", + "xhr": "^2.0.1", + "xtend": "^4.0.0" + }, + "dependencies": { + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + } + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "loader-fs-cache": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.2.tgz", + "integrity": "sha512-70IzT/0/L+M20jUlEqZhZyArTU6VKLRTYRDAYN26g4jfzpJqjipLL3/hgYpySqI9PwsVRHHFja0LfEmsx9X2Cw==", + "requires": { + "find-cache-dir": "^0.1.1", + "mkdirp": "0.5.1" + }, + "dependencies": { + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "requires": { + "find-up": "^1.0.0" + } + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "lockfile": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", + "integrity": "sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==", + "requires": { + "signal-exit": "^3.0.2" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "lodash.assignin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", + "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" + }, + "lodash.bind": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", + "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, + "lodash.every": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.every/-/lodash.every-4.6.0.tgz", + "integrity": "sha1-64mYS+vENkJ5uzrvu9HKGb+mxqc=" + }, + "lodash.filter": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", + "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" + }, + "lodash.findlast": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.findlast/-/lodash.findlast-4.6.0.tgz", + "integrity": "sha1-6ou3jPLn54BPyK630ZU+B/4x+8g=" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "lodash.flattendeep": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", + "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=" + }, + "lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" + }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" + }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + }, + "lodash.maxby": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.maxby/-/lodash.maxby-4.6.0.tgz", + "integrity": "sha1-CCJABo88eiJ6oAqDgOTzjPB4bj0=" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "lodash.omit": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz", + "integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=" + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + }, + "lodash.reduce": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", + "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" + }, + "lodash.reject": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", + "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" + }, + "lodash.some": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", + "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" + }, + "lodash.toarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "log-update": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-3.4.0.tgz", + "integrity": "sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg==", + "optional": true, + "requires": { + "ansi-escapes": "^3.2.0", + "cli-cursor": "^2.1.0", + "wrap-ansi": "^5.0.0" + } + }, + "logalot": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", + "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=", + "requires": { + "figures": "^1.3.5", + "squeak": "^1.0.0" + }, + "dependencies": { + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + } + } + }, + "loglevel": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.7.tgz", + "integrity": "sha512-cY2eLFrQSAfVPhCgH1s7JI73tMbg9YC3v3+ZHVW67sBS7UxWzNEk/ZBbSfLykBWHp33dqqtOv82gjhKEi81T/A==" + }, + "lokijs": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/lokijs/-/lokijs-1.5.8.tgz", + "integrity": "sha512-D8E3TBrY35o1ELnonp2MF8b3wKu2tVNl2TqRjvS+95oPMMe7OoIAxNY1qr+5BEZwnWn2V4ErAjVt000DonM+FA==" + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, + "longest-streak": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", + "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loud-rejection": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-2.2.0.tgz", + "integrity": "sha512-S0FayMXku80toa5sZ6Ro4C+s+EtFDCsyJNG/AzFMfX3AxD5Si4dZsgzm/kKnbOxHl5Cv8jBlno8+3XYIh2pNjQ==", + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.2" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=" + }, + "lower-case-first": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-1.0.2.tgz", + "integrity": "sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E=", + "requires": { + "lower-case": "^1.1.2" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" + }, + "lpad-align": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz", + "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=", + "requires": { + "get-stdin": "^4.0.1", + "indent-string": "^2.1.0", + "longest": "^1.0.0", + "meow": "^3.3.0" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "^2.0.0" + } + } + } + }, + "lru-cache": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.0.tgz", + "integrity": "sha1-tcvwFVbBaWb+vlTO7A+03JDfbCg=", + "requires": { + "pseudomap": "^1.0.1", + "yallist": "^2.0.0" + } + }, + "lunr": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.8.tgz", + "integrity": "sha512-oxMeX/Y35PNFuZoHp+jUj5OSEmLCaIH4KTFJh7a93cHBoFmpw2IoPs22VIz7vyO2YUnx2Tn9dzIwO2P/4quIRg==" + }, + "lunr-languages": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/lunr-languages/-/lunr-languages-1.4.0.tgz", + "integrity": "sha512-YWfZDExJN/MJEVE/DbM4AuVRLsqeHi+q3wmECMsWjGIOkd5mr9DUNos7fv8f5do9VLRMYXIzFjn+N4+KPI9pQA==" + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==" + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "requires": { + "p-defer": "^1.0.0" + }, + "dependencies": { + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" + } + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "markdown-escapes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", + "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" + }, + "markdown-table": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz", + "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==" + }, + "md5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", + "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", + "requires": { + "charenc": "~0.0.1", + "crypt": "~0.0.1", + "is-buffer": "~1.1.1" + } + }, + "md5-file": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-3.2.3.tgz", + "integrity": "sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw==", + "requires": { + "buffer-alloc": "^1.1.0" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdast-squeeze-paragraphs": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-3.0.5.tgz", + "integrity": "sha512-xX6Vbe348Y/rukQlG4W3xH+7v4ZlzUbSY4HUIQCuYrF2DrkcHx584mCaFxkWoDZKNUfyLZItHC9VAqX3kIP7XA==", + "requires": { + "unist-util-remove": "^1.0.0" + } + }, + "mdast-util-compact": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz", + "integrity": "sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==", + "requires": { + "unist-util-visit": "^1.1.0" + }, + "dependencies": { + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + } + } + }, + "mdast-util-definitions": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-1.2.5.tgz", + "integrity": "sha512-CJXEdoLfiISCDc2JB6QLb79pYfI6+GcIH+W2ox9nMc7od0Pz+bovcHsiq29xAQY6ayqe/9CsK2VzkSJdg1pFYA==", + "requires": { + "unist-util-visit": "^1.0.0" + }, + "dependencies": { + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + } + } + }, + "mdast-util-to-hast": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-7.0.0.tgz", + "integrity": "sha512-vxnXKSZgvPG2grZM3kxaF052pxsLtq8TPAkiMkqYj1nFTOazYUPXt3LFYIEB6Ws/IX7Uyvljzk64kD6DwZl/wQ==", + "requires": { + "collapse-white-space": "^1.0.0", + "detab": "^2.0.0", + "mdast-util-definitions": "^1.2.0", + "mdurl": "^1.0.1", + "trim-lines": "^1.0.0", + "unist-builder": "^2.0.0", + "unist-util-generated": "^1.0.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^2.0.0" + } + }, + "mdast-util-to-nlcst": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/mdast-util-to-nlcst/-/mdast-util-to-nlcst-3.2.3.tgz", + "integrity": "sha512-hPIsgEg7zCvdU6/qvjcR6lCmJeRuIEpZGY5xBV+pqzuMOvQajyyF8b6f24f8k3Rw8u40GwkI3aAxUXr3bB2xag==", + "requires": { + "nlcst-to-string": "^2.0.0", + "repeat-string": "^1.5.2", + "unist-util-position": "^3.0.0", + "vfile-location": "^2.0.0" + } + }, + "mdast-util-to-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz", + "integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==" + }, + "mdast-util-toc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-3.1.0.tgz", + "integrity": "sha512-Za0hqL1PqWrvxGtA/3NH9D5nhGAUS9grMM4obEAz5+zsk1RIw/vWUchkaoDLNdrwk05A0CSC5eEXng36/1qE5w==", + "requires": { + "github-slugger": "^1.2.1", + "mdast-util-to-string": "^1.0.5", + "unist-util-is": "^2.1.2", + "unist-util-visit": "^1.1.0" + }, + "dependencies": { + "unist-util-is": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.3.tgz", + "integrity": "sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA==" + }, + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + } + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + }, + "meant": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/meant/-/meant-1.0.1.tgz", + "integrity": "sha512-UakVLFjKkbbUwNWJ2frVLnnAtbb7D7DsloxRd3s/gDpI8rdv8W5Hp3NaDb+POBI1fQdeussER6NB8vpcRURvlg==" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "mem": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + } + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "microevent.ts": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", + "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", + "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==" + }, + "mime-db": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" + }, + "mime-types": { + "version": "2.1.26", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", + "requires": { + "mime-db": "1.43.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "requires": { + "dom-walk": "^0.1.0" + } + }, + "mini-css-extract-plugin": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.2.tgz", + "integrity": "sha512-a3Y4of27Wz+mqK3qrcd3VhYz6cU0iW5x3Sgvqzbj+XmlrSizmvu8QQMl5oMYJjgHOC4iyt+w7l4umP+dQeW3bw==", + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "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" + } + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "requires": { + "is-plain-obj": "^1.0.0" + } + } + } + }, + "mini-svg-data-uri": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.1.3.tgz", + "integrity": "sha512-EeKOmdzekjdPe53/GdxmUpNgDQFkNeSte6XkJmOBt4BfWL6FQ9G9RtLNh+JMjFS3LhdpSICMIkZdznjiecASHQ==" + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "minipass": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", + "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==", + "requires": { + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "minizlib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz", + "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==", + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mitt": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-1.2.0.tgz", + "integrity": "sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==" + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz", + "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==", + "requires": { + "minimist": "^1.2.5" + } + }, + "moment": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "mozjpeg": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/mozjpeg/-/mozjpeg-6.0.1.tgz", + "integrity": "sha512-9Z59pJMi8ni+IUvSH5xQwK5tNLw7p3dwDNCZ3o1xE+of3G5Hc/yOz6Ue/YuLiBXU3ZB5oaHPURyPdqfBX/QYJA==", + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.0", + "logalot": "^2.1.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + }, + "name-all-modules-plugin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/name-all-modules-plugin/-/name-all-modules-plugin-1.0.1.tgz", + "integrity": "sha1-Cr+2rYNXGLn7Te8GdOBmV6lUN1w=" + }, + "nan": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + }, + "native-promise-only": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", + "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" + }, + "next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "nlcst-to-string": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-2.0.4.tgz", + "integrity": "sha512-3x3jwTd6UPG7vi5k4GEzvxJ5rDA7hVUIRNHPblKuMVP9Z3xmlsd9cgLcpAMkc5uPOBna82EeshROFhsPkbnTZg==" + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-abi": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.15.0.tgz", + "integrity": "sha512-FeLpTS0F39U7hHZU1srAK4Vx+5AHNVOTP+hxBNQknR/54laTHSFIJkDWDqiquY1LeLUgTfPN7sLPhMubx0PLAg==", + "requires": { + "semver": "^5.4.1" + } + }, + "node-emoji": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", + "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", + "requires": { + "lodash.toarray": "^4.4.0" + } + }, + "node-eta": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-eta/-/node-eta-0.9.0.tgz", + "integrity": "sha1-n7CwmbzSoCGUDmA8ZCVNwAPZp6g=" + }, + "node-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=" + }, + "node-forge": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", + "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==" + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "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": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + } + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "node-object-hash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/node-object-hash/-/node-object-hash-2.0.0.tgz", + "integrity": "sha512-VZR0zroAusy1ETZMZiGeLkdu50LGjG5U1KHZqTruqtTyQ2wfWhHG2Ow4nsUbfTFGlaREgNHcCWoM/OzEm6p+NQ==" + }, + "node-releases": { + "version": "1.1.52", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.52.tgz", + "integrity": "sha512-snSiT1UypkgGt2wxPqS6ImEUICbNCMb31yaxWrOLXjhlt2z2/IBpaOxzONExqSm4y5oLnAqjjRWu+wsDzK5yNQ==", + "requires": { + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "node-sass": { + "version": "4.13.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.1.tgz", + "integrity": "sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw==", + "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.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.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" + } + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "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==", + "requires": { + "glob": "^7.1.2" + } + } + } + }, + "noms": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/noms/-/noms-0.0.0.tgz", + "integrity": "sha1-2o69nzr51nYJGbJ9nNyAkqczKFk=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "~1.0.31" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, + "noop-logger": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", + "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "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" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" + }, + "npm-conf": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + }, + "null-loader": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-0.1.1.tgz", + "integrity": "sha1-F76av80/8OFRL2/Er8sfUDk3j64=" + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", + "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==" + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" + }, + "object-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.2.tgz", + "integrity": "sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ==" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-path": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz", + "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.entries": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.1.tgz", + "integrity": "sha512-ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.fromentries": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", + "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "omggif": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.10.tgz", + "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "requires": { + "is-wsl": "^1.1.0" + }, + "dependencies": { + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + } + } + }, + "opener": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", + "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==" + }, + "opentracing": { + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/opentracing/-/opentracing-0.14.4.tgz", + "integrity": "sha512-nNnZDkUNExBwEpb7LZaeMeQgvrlO8l4bgY/LvGNZCR0xG/dGWqHqjKrAmR5GUoYo0FIz38kxasvA1aevxWs2CA==" + }, + "opn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", + "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==", + "requires": { + "is-wsl": "^1.1.0" + }, + "dependencies": { + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + } + } + }, + "optimize-css-assets-webpack-plugin": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz", + "integrity": "sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA==", + "requires": { + "cssnano": "^4.1.10", + "last-call-webpack-plugin": "^3.0.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "os-filter-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-2.0.0.tgz", + "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==", + "requires": { + "arch": "^2.1.0" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + } + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" + }, + "p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" + }, + "p-event": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz", + "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=", + "requires": { + "p-timeout": "^1.1.1" + }, + "dependencies": { + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "requires": { + "p-finally": "^1.0.0" + } + } + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" + }, + "p-limit": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz", + "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-map-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", + "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=", + "requires": { + "p-reduce": "^1.0.0" + } + }, + "p-pipe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz", + "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=" + }, + "p-queue": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-5.0.0.tgz", + "integrity": "sha512-6QfeouDf236N+MAxHch0CVIy8o/KBnmhttKjxZoOkUlzqU+u9rZgEyXH3OdckhTgawbqf5rpzmyR+07+Lv0+zg==", + "requires": { + "eventemitter3": "^3.1.0" + }, + "dependencies": { + "eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" + } + } + }, + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=" + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "requires": { + "retry": "^0.12.0" + } + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz", + "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", + "requires": { + "p-finally": "^1.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "dependencies": { + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "requires": { + "no-case": "^2.2.0" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-bmfont-ascii": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", + "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=" + }, + "parse-bmfont-binary": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", + "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=" + }, + "parse-bmfont-xml": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz", + "integrity": "sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==", + "requires": { + "xml-parse-from-string": "^1.0.0", + "xml2js": "^0.4.5" + } + }, + "parse-english": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/parse-english/-/parse-english-4.1.3.tgz", + "integrity": "sha512-IQl1v/ik9gw437T8083coohMihae0rozpc7JYC/9h6hi9xKBSxFwh5HWRpzVC2ZhEs2nUlze2aAktpNBJXdJKA==", + "requires": { + "nlcst-to-string": "^2.0.0", + "parse-latin": "^4.0.0", + "unist-util-modify-children": "^1.0.0", + "unist-util-visit-children": "^1.0.0" + } + }, + "parse-entities": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", + "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "parse-headers": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", + "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" + }, + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" + } + }, + "parse-latin": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-4.2.1.tgz", + "integrity": "sha512-7T9g6mIsFFpLlo0Zzb2jLWdCt+H9Qtf/hRmMYFi/Mq6Ovi+YKo+AyDFX3OhFfu0vXX5Nid9FKJGKSSzNcTkWiA==", + "requires": { + "nlcst-to-string": "^2.0.0", + "unist-util-modify-children": "^1.0.0", + "unist-util-visit-children": "^1.0.0" + } + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" + }, + "parse-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.1.tgz", + "integrity": "sha512-d7yhga0Oc+PwNXDvQ0Jv1BuWkLVPXcAoQ/WREgd6vNNoKYaW52KI+RdOFjI63wjkmps9yUE8VS4veP+AgpQ/hA==", + "requires": { + "is-ssh": "^1.3.0", + "protocols": "^1.4.0" + } + }, + "parse-url": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-5.0.1.tgz", + "integrity": "sha512-flNUPP27r3vJpROi0/R3/2efgKkyXqnXwyP1KQ2U0SfFRgdizOdWfvrrvJg1LuOoxs7GQhmxJlq23IpQ/BkByg==", + "requires": { + "is-ssh": "^1.3.0", + "normalize-url": "^3.3.0", + "parse-path": "^4.0.0", + "protocols": "^1.4.0" + } + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" + }, + "parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascal-case": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.1.tgz", + "integrity": "sha1-LVeNNFX2YNpl7KGO+VtODekSdh4=", + "requires": { + "camel-case": "^3.0.0", + "upper-case-first": "^1.1.0" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "password-prompt": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.2.tgz", + "integrity": "sha512-bpuBhROdrhuN3E7G/koAju0WjVw9/uQOG5Co5mokNj0MiOSBVZS1JTwM4zl55hu0WFmIEFvO9cU9sJQiBIYeIA==", + "requires": { + "ansi-escapes": "^3.1.0", + "cross-spawn": "^6.0.5" + } + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "path-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/path-case/-/path-case-2.1.1.tgz", + "integrity": "sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU=", + "requires": { + "no-case": "^2.2.0" + } + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "requires": { + "pify": "^3.0.0" + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "phin": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz", + "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==" + }, + "physical-cpu-count": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz", + "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=" + }, + "picomatch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.1.tgz", + "integrity": "sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==" + }, + "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=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pixelmatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", + "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", + "requires": { + "pngjs": "^3.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "requires": { + "find-up": "^3.0.0" + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "requires": { + "find-up": "^2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + } + } + }, + "pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==" + }, + "pngquant-bin": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-5.0.2.tgz", + "integrity": "sha512-OLdT+4JZx5BqE1CFJkrvomYV0aSsv6x2Bba+aWaVc0PMfWlE+ZByNKYAdKeIqsM4uvW1HOSEHnf8KcOnykPNxA==", + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.1", + "execa": "^0.10.0", + "logalot": "^2.0.0" + }, + "dependencies": { + "execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + } + } + }, + "pnp-webpack-plugin": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", + "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", + "requires": { + "ts-pnp": "^1.1.6" + } + }, + "portfinder": { + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz", + "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==", + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "postcss": { + "version": "7.0.27", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz", + "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-calc": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", + "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-flexbugs-fixes": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.0.tgz", + "integrity": "sha512-QRE0n3hpkxxS/OGvzOa+PDuy4mh/Jg4o9ui22/ko5iGYOG3M5dfJabjnAZjTdh2G9F85c7Hv8hWcEDEKW/xceQ==", + "requires": { + "postcss": "^7.0.26" + } + }, + "postcss-load-config": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", + "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", + "requires": { + "postcss": "^6.0.1" + }, + "dependencies": { + "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" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "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" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "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" + }, + "dependencies": { + "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" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "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" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "requires": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + } + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz", + "integrity": "sha512-N7h4pG+Nnu5BEIzyeaaIYWs0LI5XC40OrRh5L60z0QjFsqGWcHcbkBvpe1WYpcIS9yQ8sOi/vIPt1ejQCrMVrg==" + }, + "potrace": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/potrace/-/potrace-2.1.2.tgz", + "integrity": "sha512-dNcUBapRgPkiv3j+70+rSlf0whtJJqEszC04g9a/Ll3p6kA7QVRV1Vsi3jg22voJr2jA9x9fjPbz5MdD+ngbUg==", + "requires": { + "jimp": "^0.6.4" + } + }, + "prebuild-install": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.3.tgz", + "integrity": "sha512-GV+nsUXuPW2p8Zy7SarF/2W/oiK8bFQgJcncoJ0d7kRpekEA0ftChjfEaF9/Y+QJEc/wFR7RAEa8lYByuUIe2g==", + "requires": { + "detect-libc": "^1.0.3", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "napi-build-utils": "^1.0.1", + "node-abi": "^2.7.0", + "noop-logger": "^0.1.1", + "npmlog": "^4.0.1", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^3.0.3", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0", + "which-pm-runs": "^1.0.0" + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, + "pretty-bytes": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.3.0.tgz", + "integrity": "sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg==" + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "requires": { + "renderkid": "^2.0.1", + "utila": "~0.4" + } + }, + "prism-react-renderer": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-0.1.7.tgz", + "integrity": "sha512-EhnM0sYfLK103ASK0ViSv0rta//ZGB0dBA9TiFyOvA+zOj5peLmGEG01sLEDwl9sMe+gSqncInafBe1VFTCMvA==" + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + }, + "probe-image-size": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-4.1.1.tgz", + "integrity": "sha512-42LqKZqTLxH/UvAZ2/cKhAsR4G/Y6B7i7fI2qtQu9hRBK4YjS6gqO+QRtwTjvojUx4+/+JuOMzLoFyRecT9qRw==", + "requires": { + "any-promise": "^1.3.0", + "deepmerge": "^4.0.0", + "inherits": "^2.0.3", + "next-tick": "^1.0.0", + "request": "^2.83.0", + "stream-parser": "~0.3.1" + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + }, + "prompts": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz", + "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.4" + } + }, + "prop-types": { + "version": "15.7.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.8.1" + } + }, + "property-information": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.4.0.tgz", + "integrity": "sha512-nmMWAm/3vKFGmmOWOcdLjgq/Hlxa+hsuR/px1Lp/UGEyc5A22A6l78Shc2C0E71sPmAqglni+HrS7L7VJ7AUCA==", + "requires": { + "xtend": "^4.0.0" + } + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" + }, + "protocols": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.7.tgz", + "integrity": "sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg==" + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "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.7.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz", + "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + } + } + }, + "raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=" + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + } + } + }, + "react": { + "version": "16.13.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.13.0.tgz", + "integrity": "sha512-TSavZz2iSLkq5/oiE7gnFzmURKZMltmi193rm5HEoUDAXpzT9Kzw6oNZnGoai/4+fUnm7FqS5dwgUL34TujcWQ==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + } + }, + "react-dev-utils": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-4.2.3.tgz", + "integrity": "sha512-uvmkwl5uMexCmC0GUv1XGQP0YjfYePJufGg4YYiukhqk2vN1tQxwWJIBERqhOmSi80cppZg8mZnPP/kOMf1sUQ==", + "requires": { + "address": "1.0.3", + "babel-code-frame": "6.26.0", + "chalk": "1.1.3", + "cross-spawn": "5.1.0", + "detect-port-alt": "1.1.3", + "escape-string-regexp": "1.0.5", + "filesize": "3.5.11", + "global-modules": "1.0.0", + "gzip-size": "3.0.0", + "inquirer": "3.3.0", + "is-root": "1.0.0", + "opn": "5.1.0", + "react-error-overlay": "^3.0.0", + "recursive-readdir": "2.2.1", + "shell-quote": "1.6.1", + "sockjs-client": "1.1.4", + "strip-ansi": "3.0.1", + "text-table": "0.2.0" + }, + "dependencies": { + "address": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/address/-/address-1.0.3.tgz", + "integrity": "sha512-z55ocwKBRLryBs394Sm3ushTtBeg6VAeuku7utSoSnsJKvKcnXFIyC6vh27n3rXyxSgkJBBCAvyOn7gSUcTYjg==" + }, + "ansi-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" + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" + }, + "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" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "detect-port-alt": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.3.tgz", + "integrity": "sha1-pNLwYddXoDTs83xRQmCph1DysTE=", + "requires": { + "address": "^1.0.1", + "debug": "^2.6.0" + } + }, + "eventsource": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "requires": { + "original": ">=0.0.5" + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, + "filesize": { + "version": "3.5.11", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.5.11.tgz", + "integrity": "sha512-ZH7loueKBoDb7yG9esn1U+fgq7BzlzW6NRi5/rMdxIZ05dj7GFD/Xc5rq2CDt5Yq86CyfSYVyx4242QQNZbx1g==" + }, + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "gzip-size": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", + "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=", + "requires": { + "duplexer": "^0.1.1" + } + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "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" + } + } + } + }, + "is-root": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-1.0.0.tgz", + "integrity": "sha1-B7bCM7w5TNnQK6FclmvWZg1jQtU=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", + "requires": { + "brace-expansion": "^1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "recursive-readdir": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.1.tgz", + "integrity": "sha1-kO8jHQd4xc4JPJpI105cVCLROpk=", + "requires": { + "minimatch": "3.0.3" + } + }, + "shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "requires": { + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" + } + }, + "sockjs-client": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", + "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", + "requires": { + "debug": "^2.6.6", + "eventsource": "0.1.6", + "faye-websocket": "~0.11.0", + "inherits": "^2.0.1", + "json3": "^3.3.2", + "url-parse": "^1.1.8" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "react-dom": { + "version": "16.13.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.0.tgz", + "integrity": "sha512-y09d2c4cG220DzdlFkPTnVvGTszVvNpC73v+AaLGLHbkpy3SSgvYq8x0rNwPJ/Rk/CicTNgk0hbHNw1gMEZAXg==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.0" + }, + "dependencies": { + "scheduler": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.0.tgz", + "integrity": "sha512-xowbVaTPe9r7y7RUejcK73/j8tt2jfiyTednOvHbA8JoClvMYCp+r8QegLwK/n8zWQAtZb1fFnER4XLBZXrCxA==", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } + } + }, + "react-error-overlay": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-3.0.0.tgz", + "integrity": "sha512-XzgvowFrwDo6TWcpJ/WTiarb9UI6lhA4PMzS7n1joK3sHfBBBOQHUc0U4u57D6DWO9vHv6lVSWx2Q/Ymfyv4hw==" + }, + "react-fast-compare": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz", + "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==" + }, + "react-helmet": { + "version": "6.0.0-beta.2", + "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.0.0-beta.2.tgz", + "integrity": "sha512-rRAeil8HsddijqG2+1jeR5qY9wGQvK1zPMf+8MkiTCyhpEP/2qhAAPolEsveeAlz0xSv5C5xYypHtgCtFn0euw==", + "requires": { + "object-assign": "^4.1.1", + "prop-types": "^15.7.2", + "react-fast-compare": "^2.0.4", + "react-side-effect": "^2.1.0" + } + }, + "react-hot-loader": { + "version": "4.12.20", + "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.12.20.tgz", + "integrity": "sha512-lPlv1HVizi0lsi+UFACBJaydtRYILWkfHAC/lyCs6ZlAxlOZRQIfYHDqiGaRvL/GF7zyti+Qn9XpnDAUvdFA4A==", + "requires": { + "fast-levenshtein": "^2.0.6", + "global": "^4.3.0", + "hoist-non-react-statics": "^3.3.0", + "loader-utils": "^1.1.0", + "prop-types": "^15.6.1", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, + "react-is": { + "version": "16.13.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.0.tgz", + "integrity": "sha512-GFMtL0vHkiBv9HluwNZTggSn/sCyEt9n02aM0dSAjGGyqyNlAyftYm4phPxdvCigG15JreC5biwxCgTAJZ7yAA==" + }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "react-reconciler": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.24.0.tgz", + "integrity": "sha512-gAGnwWkf+NOTig9oOowqid9O0HjTDC+XVGBCAmJYYJ2A2cN/O4gDdIuuUQjv8A4v6GDwVfJkagpBBLW5OW9HSw==", + "optional": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.18.0" + } + }, + "react-refresh": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.7.2.tgz", + "integrity": "sha512-u5l7fhAJXecWUJzVxzMRU2Zvw8m4QmDNHlTrT5uo3KBlYBhmChd7syAakBoay1yIiVhx/8Fi7a6v6kQZfsw81Q==" + }, + "react-side-effect": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.0.tgz", + "integrity": "sha512-IgmcegOSi5SNX+2Snh1vqmF0Vg/CbkycU9XZbOHJlZ6kMzTmi3yc254oB1WCkgA7OQtIAoLmcSFuHTc/tlcqXg==" + }, + "react-transition-group": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.3.0.tgz", + "integrity": "sha512-1qRV1ZuVSdxPlPf4O8t7inxUGpdyO5zG9IoNfJxSO0ImU2A1YWkEQvFPuIPZmMLkg5hYs7vv5mMOyfgSkvAwvw==", + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "dependencies": { + "dom-helpers": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.1.3.tgz", + "integrity": "sha512-nZD1OtwfWGRBWlpANxacBEZrEuLa16o1nh7YopFWeoF68Zt8GGEmzHu6Xv4F3XaFIC+YXtTLrzgqKxFgLEe4jw==", + "requires": { + "@babel/runtime": "^7.6.3", + "csstype": "^2.6.7" + } + } + } + }, + "read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "requires": { + "mute-stream": "~0.0.4" + } + }, + "read-chunk": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-3.2.0.tgz", + "integrity": "sha512-CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ==", + "requires": { + "pify": "^4.0.1", + "with-open-file": "^0.1.6" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, + "dependencies": { + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "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" + } + }, + "recursive-readdir": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", + "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", + "requires": { + "minimatch": "3.0.4" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "^2.0.0" + } + } + } + }, + "redux": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz", + "integrity": "sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==", + "requires": { + "loose-envify": "^1.4.0", + "symbol-observable": "^1.2.0" + } + }, + "redux-thunk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", + "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==" + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" + }, + "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==", + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==" + }, + "regenerator-transform": { + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", + "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", + "requires": { + "@babel/runtime": "^7.8.4", + "private": "^0.1.8" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "regexpp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.0.0.tgz", + "integrity": "sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g==" + }, + "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==", + "requires": { + "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" + } + }, + "registry-auth-token": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.1.1.tgz", + "integrity": "sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA==", + "requires": { + "rc": "^1.2.8" + } + }, + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "requires": { + "rc": "^1.2.8" + } + }, + "regjsgen": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", + "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==" + }, + "regjsparser": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + } + } + }, + "remark": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz", + "integrity": "sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==", + "requires": { + "remark-parse": "^6.0.0", + "remark-stringify": "^6.0.0", + "unified": "^7.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" + }, + "remark-parse": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz", + "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==", + "requires": { + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^1.1.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^1.0.0", + "vfile-location": "^2.0.0", + "xtend": "^4.0.1" + } + }, + "unified": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz", + "integrity": "sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==", + "requires": { + "@types/unist": "^2.0.0", + "@types/vfile": "^3.0.0", + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^1.1.0", + "trough": "^1.0.0", + "vfile": "^3.0.0", + "x-is-string": "^0.1.0" + } + }, + "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==" + }, + "vfile": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz", + "integrity": "sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==", + "requires": { + "is-buffer": "^2.0.0", + "replace-ext": "1.0.0", + "unist-util-stringify-position": "^1.0.0", + "vfile-message": "^1.0.0" + } + }, + "vfile-message": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz", + "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==", + "requires": { + "unist-util-stringify-position": "^1.1.1" + } + } + } + }, + "remark-mdx": { + "version": "1.5.7", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.5.7.tgz", + "integrity": "sha512-f13ot+zaByDXYuOC4FWTpQCGP/rNbaxdhs2mLlW7ZBipm3JYR2ASFSL7RC3R7ytzm3n8v6hhcFxDKU+CwC2f4g==", + "requires": { + "@babel/core": "7.8.4", + "@babel/helper-plugin-utils": "7.8.3", + "@babel/plugin-proposal-object-rest-spread": "7.8.3", + "@babel/plugin-syntax-jsx": "7.8.3", + "@mdx-js/util": "^1.5.7", + "is-alphabetical": "1.0.4", + "remark-parse": "7.0.2", + "unified": "8.4.2" + }, + "dependencies": { + "@babel/core": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.4.tgz", + "integrity": "sha512-0LiLrB2PwrVI+a2/IEskBopDYSd8BCb3rOvH7D5tzoWd696TBEduBvuLVm4Nx6rltrLZqvI3MCalB2K2aVzQjA==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.8.4", + "@babel/helpers": "^7.8.4", + "@babel/parser": "^7.8.4", + "@babel/template": "^7.8.3", + "@babel/traverse": "^7.8.4", + "@babel/types": "^7.8.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "remark-parse": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-7.0.2.tgz", + "integrity": "sha512-9+my0lQS80IQkYXsMA8Sg6m9QfXYJBnXjWYN5U+kFc5/n69t+XZVXU/ZBYr3cYH8FheEGf1v87rkFDhJ8bVgMA==", + "requires": { + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^1.1.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^1.0.0", + "vfile-location": "^2.0.0", + "xtend": "^4.0.1" + } + }, + "remark-retext": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/remark-retext/-/remark-retext-3.1.3.tgz", + "integrity": "sha512-UujXAm28u4lnUvtOZQFYfRIhxX+auKI9PuA2QpQVTT7gYk1OgX6o0OUrSo1KOa6GNrFX+OODOtS5PWIHPxM7qw==", + "requires": { + "mdast-util-to-nlcst": "^3.2.0" + } + }, + "remark-slug": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-5.1.2.tgz", + "integrity": "sha512-DWX+Kd9iKycqyD+/B+gEFO3jjnt7Yg1O05lygYSNTe5i5PIxxxPjp5qPBDxPIzp5wreF7+1ROCwRgjEcqmzr3A==", + "requires": { + "github-slugger": "^1.0.0", + "mdast-util-to-string": "^1.0.0", + "unist-util-visit": "^1.0.0" + }, + "dependencies": { + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + } + } + }, + "remark-squeeze-paragraphs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-3.0.4.tgz", + "integrity": "sha512-Wmz5Yj9q+W1oryo8BV17JrOXZgUKVcpJ2ApE2pwnoHwhFKSk4Wp2PmFNbmJMgYSqAdFwfkoe+TSYop5Fy8wMgA==", + "requires": { + "mdast-squeeze-paragraphs": "^3.0.0" + } + }, + "remark-stringify": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-6.0.4.tgz", + "integrity": "sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==", + "requires": { + "ccount": "^1.0.0", + "is-alphanumeric": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "longest-streak": "^2.0.1", + "markdown-escapes": "^1.0.0", + "markdown-table": "^1.1.0", + "mdast-util-compact": "^1.0.0", + "parse-entities": "^1.0.2", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "stringify-entities": "^1.0.1", + "unherit": "^1.0.4", + "xtend": "^4.0.1" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "renderkid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", + "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", + "requires": { + "css-select": "^1.1.0", + "dom-converter": "^0.2", + "htmlparser2": "^3.3.0", + "strip-ansi": "^3.0.0", + "utila": "^0.4.0" + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "^1.0.0" + } + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha1-rW8wwTvs15cBDEaK+ndcDAprR/o=" + }, + "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==" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "resolve": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", + "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + } + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "dependencies": { + "global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "retext": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-5.0.0.tgz", + "integrity": "sha1-XZAYxKZ31hA8FCNi129Q6x05i/Y=", + "requires": { + "retext-latin": "^2.0.0", + "retext-stringify": "^2.0.0", + "unified": "^6.0.0" + }, + "dependencies": { + "unified": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/unified/-/unified-6.2.0.tgz", + "integrity": "sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==", + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^1.1.0", + "trough": "^1.0.0", + "vfile": "^2.0.0", + "x-is-string": "^0.1.0" + } + }, + "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==" + }, + "vfile": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz", + "integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==", + "requires": { + "is-buffer": "^1.1.4", + "replace-ext": "1.0.0", + "unist-util-stringify-position": "^1.0.0", + "vfile-message": "^1.0.0" + } + }, + "vfile-message": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz", + "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==", + "requires": { + "unist-util-stringify-position": "^1.1.1" + } + } + } + }, + "retext-english": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/retext-english/-/retext-english-3.0.4.tgz", + "integrity": "sha512-yr1PgaBDde+25aJXrnt3p1jvT8FVLVat2Bx8XeAWX13KXo8OT+3nWGU3HWxM4YFJvmfqvJYJZG2d7xxaO774gw==", + "requires": { + "parse-english": "^4.0.0", + "unherit": "^1.0.4" + } + }, + "retext-latin": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-2.0.4.tgz", + "integrity": "sha512-fOoSSoQgDZ+l/uS81oxI3alBghDUPja0JEl0TpQxI6MN+dhM6fLFumPJwMZ4PJTyL5FFAgjlsdv8IX+6IRuwMw==", + "requires": { + "parse-latin": "^4.0.0", + "unherit": "^1.0.4" + } + }, + "retext-smartypants": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-3.0.3.tgz", + "integrity": "sha512-/0fIipYayOvvucn3yjxvWwyT9P6p8gbpqdqUQNs1+L7av2hxatmiA9sk+fygJSDn5OXRyhBzcezvTbEmEabfIQ==", + "requires": { + "nlcst-to-string": "^2.0.0", + "unist-util-visit": "^1.0.0" + }, + "dependencies": { + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + } + } + }, + "retext-stringify": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-2.0.4.tgz", + "integrity": "sha512-xOtx5mFJBoT3j7PBtiY2I+mEGERNniofWktI1cKXvjMEJPOuqve0dghLHO1+gz/gScLn4zqspDGv4kk2wS5kSA==", + "requires": { + "nlcst-to-string": "^2.0.0" + } + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rss-parser": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/rss-parser/-/rss-parser-3.7.0.tgz", + "integrity": "sha512-xN1fwjVxBO0unbrUAOIUK5MAyEaaZTpKWnPY+d3QYigIG4awtbdqxHPOLuOwsTIJFsaKC78nPxIGRJG92p86Hw==", + "requires": { + "entities": "^1.1.1", + "xml2js": "^0.4.19" + }, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + } + } + }, + "run-async": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz", + "integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==", + "requires": { + "is-promise": "^2.1.0" + } + }, + "run-parallel": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz", + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==" + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "requires": { + "aproba": "^1.1.1" + } + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=" + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "requires": { + "rx-lite": "*" + } + }, + "rxjs": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", + "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "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==" + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + }, + "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" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "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==" + }, + "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=" + }, + "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" + } + }, + "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" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "^1.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "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=" + }, + "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" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "requires": { + "camelcase": "^3.0.0" + } + } + } + }, + "sass-loader": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.3.1.tgz", + "integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==", + "requires": { + "clone-deep": "^4.0.1", + "loader-utils": "^1.0.1", + "neo-async": "^2.5.0", + "pify": "^4.0.1", + "semver": "^6.3.0" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "sass-resources-loader": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/sass-resources-loader/-/sass-resources-loader-1.3.5.tgz", + "integrity": "sha512-pCxaoRZxbKxDWhu5ZcsV7/apPYrL/z0F+25C29L4e8pajWM/4jM4hRXSRP4jEWTXo/kYIU9bEXKZZdGfjN90+Q==", + "requires": { + "async": "^2.1.4", + "chalk": "^1.1.3", + "glob": "^7.1.1", + "loader-utils": "^1.0.4" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + }, + "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=" + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "scheduler": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", + "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==", + "optional": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "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" + } + }, + "scroll-behavior": { + "version": "0.9.12", + "resolved": "https://registry.npmjs.org/scroll-behavior/-/scroll-behavior-0.9.12.tgz", + "integrity": "sha512-18sirtyq1P/VsBX6O/vgw20Np+ngduFXEMO4/NDFXabdOKBL2kjPVUpz1y0+jm99EWwFJafxf5/tCyMeXt9Xyg==", + "requires": { + "dom-helpers": "^3.4.0", + "invariant": "^2.2.4" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "requires": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "seek-bzip": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", + "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", + "requires": { + "commander": "~2.8.1" + }, + "dependencies": { + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "requires": { + "graceful-readlink": ">= 1.0.0" + } + } + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" + }, + "selfsigned": { + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", + "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "requires": { + "node-forge": "0.9.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "semver-diff": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", + "requires": { + "semver": "^5.0.3" + } + }, + "semver-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz", + "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==" + }, + "semver-truncate": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", + "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", + "requires": { + "semver": "^5.3.0" + } + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "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==" + } + } + }, + "sentence-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-2.1.1.tgz", + "integrity": "sha1-H24t2jnBaL+S0T+G1KkYkz9mftQ=", + "requires": { + "no-case": "^2.2.0", + "upper-case-first": "^1.1.2" + } + }, + "serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==" + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "requires": { + "kind-of": "^6.0.2" + } + }, + "shallow-compare": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/shallow-compare/-/shallow-compare-1.2.2.tgz", + "integrity": "sha512-LUMFi+RppPlrHzbqmFnINTrazo0lPNwhcgzuAXVVcfy/mqPDrQmHAyz5bvV0gDAuRFrk804V0HpQ6u9sZ0tBeg==" + }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "sharp": { + "version": "0.23.4", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.23.4.tgz", + "integrity": "sha512-fJMagt6cT0UDy9XCsgyLi0eiwWWhQRxbwGmqQT6sY8Av4s0SVsT/deg8fobBQCTDU5iXRgz0rAeXoE2LBZ8g+Q==", + "requires": { + "color": "^3.1.2", + "detect-libc": "^1.0.3", + "nan": "^2.14.0", + "npmlog": "^4.1.2", + "prebuild-install": "^5.3.3", + "semver": "^6.3.0", + "simple-get": "^3.1.0", + "tar": "^5.0.5", + "tunnel-agent": "^0.6.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" + }, + "side-channel": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.2.tgz", + "integrity": "sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA==", + "requires": { + "es-abstract": "^1.17.0-next.1", + "object-inspect": "^1.7.0" + } + }, + "sift": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/sift/-/sift-5.1.0.tgz", + "integrity": "sha1-G78t+w63HlbEzH+1Z/vRNRtlAV4=" + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "simple-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" + }, + "simple-get": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz", + "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==", + "requires": { + "decompress-response": "^4.2.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + }, + "dependencies": { + "decompress-response": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", + "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", + "requires": { + "mimic-response": "^2.0.0" + } + }, + "mimic-response": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==" + } + } + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + } + } + }, + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "slugify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.4.0.tgz", + "integrity": "sha512-FtLNsMGBSRB/0JOE2A0fxlqjI6fJsgHGS13iTuVT28kViI4JjUiNqp/vyis0ZXYcMnpR3fzGNkv+6vRlI2GwdQ==" + }, + "smooth-scroll": { + "version": "16.1.2", + "resolved": "https://registry.npmjs.org/smooth-scroll/-/smooth-scroll-16.1.2.tgz", + "integrity": "sha512-zo/61lPWCxzsjYfxbqr9a94PIFSU840+0e053+n6Hf0RcX8MtjtNXNSInEYRlbGaJ2/nezyEWPywsm3TCya0vQ==" + }, + "snake-case": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-2.1.0.tgz", + "integrity": "sha1-Qb2xtz8w7GagTU4srRt2OH1NbZ8=", + "requires": { + "no-case": "^2.2.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "socket.io": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz", + "integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==", + "requires": { + "debug": "~4.1.0", + "engine.io": "~3.4.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.3.0", + "socket.io-parser": "~3.4.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "socket.io-adapter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", + "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==" + }, + "socket.io-client": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", + "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "engine.io-client": "~3.4.0", + "has-binary2": "~1.0.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.3.0", + "to-array": "0.1.4" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "socket.io-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", + "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", + "requires": { + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + } + } + }, + "socket.io-parser": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.0.tgz", + "integrity": "sha512-/G/VOI+3DBp0+DJKW4KesGnQkQPFmUCbA/oO2QGT6CWxU7hLGWqU3tyuzeSK/dqcyeHsQg1vTe9jiZI8GU9SCQ==", + "requires": { + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + } + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + }, + "dependencies": { + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "requires": { + "websocket-driver": ">=0.5.1" + } + } + } + }, + "sockjs-client": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "requires": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + } + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", + "requires": { + "sort-keys": "^1.0.0" + }, + "dependencies": { + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "requires": { + "is-plain-obj": "^1.0.0" + } + } + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.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==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", + "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==" + }, + "spdy": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", + "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split-on-first": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "squeak": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz", + "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=", + "requires": { + "chalk": "^1.0.0", + "console-stream": "^0.1.1", + "lpad-align": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" + }, + "stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==" + }, + "stackframe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.1.1.tgz", + "integrity": "sha512-0PlYhdKh6AfFxRyK/v+6/k+/mMfyiEBbTM5L94D0ZytQnJ166wuwoTYLHFWGbs2dpA8Rgq763KGWmN1EQEYHRQ==" + }, + "state-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", + "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==" + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "static-site-generator-webpack-plugin": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-3.4.2.tgz", + "integrity": "sha512-39Kn+fZDVjolLYuX5y1rDvksJIW0QEUaEC/AVO/UewNXxGzoSQI1UYnRsL+ocAcN5Yti6d6rJgEL0qZ5tNXfdw==", + "requires": { + "bluebird": "^3.0.5", + "cheerio": "^0.22.0", + "eval": "^0.1.0", + "url": "^0.11.0", + "webpack-sources": "^0.2.0" + }, + "dependencies": { + "source-list-map": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-1.1.2.tgz", + "integrity": "sha1-mIkBnRAkzOVc3AaUmDN+9hhqEaE=" + }, + "webpack-sources": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-0.2.3.tgz", + "integrity": "sha1-F8Yr+vE8cH+dAsR54Nzd6DgGl/s=", + "requires": { + "source-list-map": "^1.1.1", + "source-map": "~0.5.3" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "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" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", + "integrity": "sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M=", + "requires": { + "debug": "2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + }, + "string-length": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", + "optional": true, + "requires": { + "astral-regex": "^1.0.0", + "strip-ansi": "^5.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "optional": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "optional": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "string-similarity": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/string-similarity/-/string-similarity-1.2.2.tgz", + "integrity": "sha512-IoHUjcw3Srl8nsPlW04U3qwWPk3oG2ffLM0tN853d/E/JlIvcmZmDY2Kz5HzKp4lEi2T7QD7Zuvjq/1rDw+XcQ==", + "requires": { + "lodash.every": "^4.6.0", + "lodash.flattendeep": "^4.4.0", + "lodash.foreach": "^4.5.0", + "lodash.map": "^4.6.0", + "lodash.maxby": "^4.6.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string.prototype.matchall": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz", + "integrity": "sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0", + "has-symbols": "^1.0.1", + "internal-slot": "^1.0.2", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.2" + } + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "stringify-entities": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz", + "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==", + "requires": { + "character-entities-html4": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + } + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + }, + "strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=" + }, + "strip-dirs": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", + "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "requires": { + "is-natural-number": "^4.0.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "requires": { + "get-stdin": "^4.0.1" + } + }, + "strip-json-comments": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", + "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==" + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "style-loader": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", + "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", + "requires": { + "loader-utils": "^1.1.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "style-to-object": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", + "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", + "requires": { + "inline-style-parser": "0.1.1" + } + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "sudo-prompt": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/sudo-prompt/-/sudo-prompt-8.2.5.tgz", + "integrity": "sha512-rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw==" + }, + "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" + } + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "dependencies": { + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz", + "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==" + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + } + } + }, + "swap-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", + "integrity": "sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=", + "requires": { + "lower-case": "^1.1.1", + "upper-case": "^1.1.1" + } + }, + "symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + }, + "tabbable": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-3.1.2.tgz", + "integrity": "sha512-wjB6puVXTYO0BSFtCmWQubA/KIn7Xvajw0x0l6eJUudMG/EAiJvIUnyNX6xO4NpGrJ16lbD0eUseB9WxW0vlpQ==" + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" + }, + "tar": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/tar/-/tar-5.0.5.tgz", + "integrity": "sha512-MNIgJddrV2TkuwChwcSNds/5E9VijOiw7kAc1y5hTNJoLDSuIyid2QtLYiCYNnICebpuvjhPQZsXwUL0O3l7OQ==", + "requires": { + "chownr": "^1.1.3", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.0", + "mkdirp": "^0.5.0", + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "tar-fs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.0.0.tgz", + "integrity": "sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==", + "requires": { + "chownr": "^1.1.1", + "mkdirp": "^0.5.1", + "pump": "^3.0.0", + "tar-stream": "^2.0.0" + } + }, + "tar-stream": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.2.tgz", + "integrity": "sha512-UaF6FoJ32WqALZGOIAApXx+OdxhekNMChu6axLJR85zMMjXKWFGjbIRe+J6P4UnRGg9rAwWvbTT0oI7hD/Un7Q==", + "requires": { + "bl": "^4.0.1", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=" + }, + "tempfile": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", + "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=", + "requires": { + "temp-dir": "^1.0.0", + "uuid": "^3.0.1" + } + }, + "term-size": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz", + "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==" + }, + "terser": { + "version": "4.6.7", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.7.tgz", + "integrity": "sha512-fmr7M1f7DBly5cX2+rFDvmGBAaaZyPrHYK4mMdHEDAdNTqXSZgSOfqsfGq2HqPGT/1V0foZZuCZFx8CHKgAk3g==", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", + "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^2.1.2", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timm": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/timm/-/timm-1.6.2.tgz", + "integrity": "sha512-IH3DYDL1wMUwmIlVmMrmesw5lZD6N+ZOAFWEyLrtpoL9Bcrs9u7M/vyOnHzDD2SMs4irLkVjqxZbHrXStS/Nmw==" + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + }, + "tinycolor2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", + "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" + }, + "title-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz", + "integrity": "sha1-PhJyFtpY0rxb7PE3q5Ha46fNj6o=", + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.0.3" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI=" + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" + }, + "trim-lines": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-1.1.3.tgz", + "integrity": "sha512-E0ZosSWYK2mkSu+KEtQ9/KqarVjA9HztOSX+9FDdNacRAq29RRV6ZQNgob3iuW8Htar9vAfEa6yyt5qBAHZDBA==" + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "trim-trailing-lines": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz", + "integrity": "sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==" + }, + "trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" + }, + "true-case-path": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", + "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "ts-pnp": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.1.6.tgz", + "integrity": "sha512-CrG5GqAAzMT7144Cl+UIFP7mz/iIhiy+xQ6GGcnjTezhALT02uPMRw7tgDSESgB5MsfKt55+GPWw4ir1kVtMIQ==" + }, + "tslib": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", + "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==" + }, + "tsutils": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", + "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "requires": { + "tslib": "^1.8.1" + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "type-of": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-of/-/type-of-2.0.1.tgz", + "integrity": "sha1-5yoXQYllaOn2KDeNgW1pEvfyOXI=" + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "unbzip2-stream": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz", + "integrity": "sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==", + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + }, + "dependencies": { + "buffer": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.5.0.tgz", + "integrity": "sha512-9FTEDjLjwoAkEwyMGDjYJQN2gfRgOKBKRfiglhvibGbpeeU/pQn1bJxQqm32OD/AIeEuHxU9roxXxg34Byp/Ww==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + } + } + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" + }, + "underscore.string": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz", + "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==", + "requires": { + "sprintf-js": "^1.0.3", + "util-deprecate": "^1.0.2" + } + }, + "unherit": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", + "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", + "requires": { + "inherits": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.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==" + }, + "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==" + }, + "unified": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", + "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==", + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "dependencies": { + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + } + } + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "unist-builder": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", + "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==" + }, + "unist-util-generated": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.5.tgz", + "integrity": "sha512-1TC+NxQa4N9pNdayCYA1EGUOCAO0Le3fVp7Jzns6lnua/mYgwHo0tz5WUAfrdpNch1RZLHc61VZ1SDgrtNXLSw==" + }, + "unist-util-is": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz", + "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==" + }, + "unist-util-map": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/unist-util-map/-/unist-util-map-1.0.5.tgz", + "integrity": "sha512-dFil/AN6vqhnQWNCZk0GF/G3+Q5YwsB+PqjnzvpO2wzdRtUJ1E8PN+XRE/PRr/G3FzKjRTJU0haqE0Ekl+O3Ag==", + "requires": { + "object-assign": "^4.0.1" + } + }, + "unist-util-modify-children": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-1.1.6.tgz", + "integrity": "sha512-TOA6W9QLil+BrHqIZNR4o6IA5QwGOveMbnQxnWYq+7EFORx9vz/CHrtzF36zWrW61E2UKw7sM1KPtIgeceVwXw==", + "requires": { + "array-iterate": "^1.0.0" + } + }, + "unist-util-position": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", + "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==" + }, + "unist-util-remove": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-1.0.3.tgz", + "integrity": "sha512-mB6nCHCQK0pQffUAcCVmKgIWzG/AXs/V8qpS8K72tMPtOSCMSjDeMc5yN+Ye8rB0FhcE+JvW++o1xRNc0R+++g==", + "requires": { + "unist-util-is": "^3.0.0" + } + }, + "unist-util-remove-position": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz", + "integrity": "sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==", + "requires": { + "unist-util-visit": "^1.1.0" + }, + "dependencies": { + "unist-util-visit": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz", + "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==", + "requires": { + "unist-util-visit-parents": "^2.0.0" + } + } + } + }, + "unist-util-select": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/unist-util-select/-/unist-util-select-1.5.0.tgz", + "integrity": "sha1-qTwr6MD2U4J4A7gTMa3sKqJM2TM=", + "requires": { + "css-selector-parser": "^1.1.0", + "debug": "^2.2.0", + "nth-check": "^1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "requires": { + "@types/unist": "^2.0.2" + } + }, + "unist-util-visit": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.2.tgz", + "integrity": "sha512-HoHNhGnKj6y+Sq+7ASo2zpVdfdRifhTgX2KTU3B/sO/TTlZchp7E3S4vjRzDJ7L60KmrCPsQkVK3lEF3cz36XQ==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + }, + "dependencies": { + "unist-util-is": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz", + "integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==" + }, + "unist-util-visit-parents": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.0.2.tgz", + "integrity": "sha512-yJEfuZtzFpQmg1OSCyS9M5NJRrln/9FbYosH3iW0MG402QbdbaB8ZESwUv9RO6nRfLAKvWcMxCwdLWOov36x/g==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + } + } + } + }, + "unist-util-visit-children": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-1.1.4.tgz", + "integrity": "sha512-sA/nXwYRCQVRwZU2/tQWUqJ9JSFM1X3x7JIOsIgSzrFHcfVt6NkzDtKzyxg2cZWkCwGF9CO8x4QNZRJRMK8FeQ==" + }, + "unist-util-visit-parents": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz", + "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==", + "requires": { + "unist-util-is": "^3.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "update-notifier": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-3.0.1.tgz", + "integrity": "sha512-grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ==", + "requires": { + "boxen": "^3.0.0", + "chalk": "^2.0.1", + "configstore": "^4.0.0", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.1.0", + "is-npm": "^3.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "boxen": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", + "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^2.4.2", + "cli-boxes": "^2.2.0", + "string-width": "^3.0.0", + "term-size": "^1.2.0", + "type-fest": "^0.3.0", + "widest-line": "^2.0.0" + } + }, + "configstore": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-4.0.0.tgz", + "integrity": "sha512-CmquAXFBocrzaSM8mtGPMM/HiWmyIpr4CcJl/rgY2uCObZ/S7cKU0silxslqJejl+t/T9HS8E0PUNQD81JGUEQ==", + "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" + } + }, + "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" + } + }, + "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=" + }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "requires": { + "is-obj": "^1.0.0" + } + }, + "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" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "requires": { + "execa": "^0.7.0" + } + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + }, + "unique-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=" + } + } + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=" + }, + "upper-case-first": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", + "integrity": "sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=", + "requires": { + "upper-case": "^1.1.1" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } + } + }, + "url-loader": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", + "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", + "requires": { + "loader-utils": "^1.1.0", + "mime": "^2.0.3", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "^2.0.0" + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "use-media": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/use-media/-/use-media-1.4.0.tgz", + "integrity": "sha512-XsgyUAf3nhzZmEfhc5MqLHwyaPjs78bgytpVJ/xDl0TF4Bptf3vEpBNBBT/EIKOmsOc8UbuECq3mrP3mt1QANA==" + }, + "utif": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz", + "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==", + "requires": { + "pako": "^1.0.5" + } + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "v8-compile-cache": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz", + "integrity": "sha512-ejdrifsIydN1XDH7EuR2hn8ZrkRKUYF7tUcBjBy/lhrCvs2K+zRlbW9UHc0IQ9RsYFZJFqJrieoIHfkCa0DBRA==" + }, + "valid-url": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", + "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vfile": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.0.3.tgz", + "integrity": "sha512-lREgT5sF05TQk68LO6APy0In+TkFGnFEgKChK2+PHIaTrFQ9oHCKXznZ7VILwgYVBcl0gv4lGATFZBLhi2kVQg==", + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "replace-ext": "1.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", + "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" + } + } + }, + "vfile-location": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz", + "integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==" + }, + "vfile-message": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.3.tgz", + "integrity": "sha512-qQg/2z8qnnBHL0psXyF72kCjb9YioIynvyltuNKFaUhRtqTIcIMP3xnBaPzirVZNuBrUe1qwFciSx2yApa4byw==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + }, + "dependencies": { + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + } + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "weakmap-polyfill": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/weakmap-polyfill/-/weakmap-polyfill-2.0.0.tgz", + "integrity": "sha1-jyj5NeOFOJatQHR+UljbV42dyN4=" + }, + "web-namespaces": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", + "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==" + }, + "webpack": { + "version": "4.42.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.42.0.tgz", + "integrity": "sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "acorn": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==" + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.6.1.tgz", + "integrity": "sha512-Nfd8HDwfSx1xBwC+P8QMGvHAOITxNBSvu/J/mCJvOwv+G4VWkU7zir9SSenTtyCi0LnVtmsc7G5SZo1uV+bxRw==", + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.15", + "mkdirp": "^0.5.1", + "opener": "^1.5.1", + "ws": "^6.0.0" + }, + "dependencies": { + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "webpack-dev-middleware": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + } + }, + "webpack-dev-server": { + "version": "3.10.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.10.3.tgz", + "integrity": "sha512-e4nWev8YzEVNdOMcNzNeCN947sWJNd43E5XvsJzbAL08kGc2frm1tQ32hTJslRS+H65LCb/AaUCYU7fjHCpDeQ==", + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.2.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.6", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.25", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.7", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "0.3.19", + "sockjs-client": "1.4.0", + "spdy": "^4.0.1", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "12.0.5" + }, + "dependencies": { + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + } + }, + "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==" + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "requires": { + "is-wsl": "^1.1.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "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=" + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "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" + } + } + } + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "requires": { + "async-limiter": "~1.0.0" + } + }, + "yargs": { + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-hot-middleware": { + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz", + "integrity": "sha512-xs5dPOrGPCzuRXNi8F6rwhawWvQQkeli5Ro48PRuQh8pYPCPmNnltP9itiUPT4xI8oW+y0m59lyyeQk54s5VgA==", + "requires": { + "ansi-html": "0.0.7", + "html-entities": "^1.2.0", + "querystring": "^0.2.0", + "strip-ansi": "^3.0.0" + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "requires": { + "lodash": "^4.17.15" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "webpack-stats-plugin": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/webpack-stats-plugin/-/webpack-stats-plugin-0.3.1.tgz", + "integrity": "sha512-pxqzFE055NlNTlNyfDG3xlB2QwT1EWdm/CF5dCJI/e+rRHVxrWhWg1rf1lfsWhI1/EePv8gi/A36YxO/+u0FgQ==" + }, + "websocket-driver": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "requires": { + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==" + }, + "whatwg-fetch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "which-pm-runs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=" + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "requires": { + "string-width": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "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==" + }, + "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==" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "window-or-global": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/window-or-global/-/window-or-global-1.0.1.tgz", + "integrity": "sha1-2+RboqKRqrxW1iz2bEW3+jIpRt4=" + }, + "with-open-file": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/with-open-file/-/with-open-file-0.1.7.tgz", + "integrity": "sha512-ecJS2/oHtESJ1t3ZfMI3B7KIDKyfN0O16miWxdn30zdh66Yd3LsRFebXZXq6GU4xfxLf6nVxp9kIqElb5fqczA==", + "requires": { + "p-finally": "^1.0.0", + "p-try": "^2.1.0", + "pify": "^4.0.1" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } + } + }, + "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==" + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "requires": { + "errno": "~0.1.7" + } + }, + "worker-rpc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", + "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", + "requires": { + "microevent.ts": "~0.1.1" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "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==" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "requires": { + "mkdirp": "^0.5.1" + } + }, + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "requires": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "ws": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz", + "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==" + }, + "x-is-string": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz", + "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=" + }, + "xdg-basedir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" + }, + "xhr": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz", + "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==", + "requires": { + "global": "~4.3.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "requires": { + "min-document": "^2.19.0", + "process": "~0.5.1" + } + }, + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" + } + } + }, + "xml-parse-from-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", + "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=" + }, + "xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" + }, + "xmlhttprequest-ssl": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" + }, + "xregexp": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.3.0.tgz", + "integrity": "sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g==", + "requires": { + "@babel/runtime-corejs3": "^7.8.3" + } + }, + "xstate": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/xstate/-/xstate-4.8.0.tgz", + "integrity": "sha512-xHSYQtCHLkcrFRxa5lK4Lp1rnKt00a80jcKFMQiMBuE+6MvTYv7twwqYpzjsJoKFjGZB3GGEpZAuY1dmlPTh/g==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yaml": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.8.2.tgz", + "integrity": "sha512-omakb0d7FjMo3R1D2EbTKVIk6dAVLRxFXdLZMEUToeAvuqgG/YuHMuQOZ5fgk+vQ8cx+cnGKwyg+8g8PNT0xQg==", + "requires": { + "@babel/runtime": "^7.8.7" + } + }, + "yaml-loader": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/yaml-loader/-/yaml-loader-0.5.0.tgz", + "integrity": "sha512-p9QIzcFSNm4mCw/m5NdyMfN4RE4aFZJWRRb01ERVNGCym8VNbKtw3OYZXnvUIkim6U/EjqE/2yIh9F/msShH9A==", + "requires": { + "js-yaml": "^3.5.2" + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "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" + }, + "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==" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + }, + "yoga-layout-prebuilt": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/yoga-layout-prebuilt/-/yoga-layout-prebuilt-1.9.5.tgz", + "integrity": "sha512-+G5Ojl4/sG78mk5masCL3SRaZtkKXRBhMGf5c+4C1j32jN9KpS4lxVFdYyBi15EHN4gMeK5sIRf83T33TOaDkA==", + "optional": true, + "requires": { + "@types/yoga-layout": "1.9.1" + } + }, + "yurnalist": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/yurnalist/-/yurnalist-1.1.2.tgz", + "integrity": "sha512-y7bsTXqL+YMJQ2De2CBtSftJNLQnB7gWIzzKm10GDyC8Fg4Dsmd2LG5YhT8pudvUiuotic80WVXt/g1femRVQg==", + "requires": { + "babel-runtime": "^6.26.0", + "chalk": "^2.4.2", + "cli-table3": "^0.5.1", + "debug": "^4.1.1", + "deep-equal": "^1.1.0", + "detect-indent": "^6.0.0", + "inquirer": "^7.0.0", + "invariant": "^2.2.0", + "is-builtin-module": "^3.0.0", + "is-ci": "^2.0.0", + "leven": "^3.1.0", + "loud-rejection": "^2.2.0", + "node-emoji": "^1.10.0", + "object-path": "^0.11.2", + "read": "^1.0.7", + "rimraf": "^3.0.0", + "semver": "^6.3.0", + "strip-ansi": "^5.2.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "requires": { + "type-fest": "^0.11.0" + } + }, + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" + }, + "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==", + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "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==", + "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==" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "inquirer": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", + "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + } + } + }, + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==" + } + } + }, + "zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", + "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..7a182215 --- /dev/null +++ b/package.json @@ -0,0 +1,23 @@ +{ + "name": "example", + "private": true, + "version": "1.20.0", + "license": "Apache 2.0", + "scripts": { + "dev": "gatsby develop -H 0.0.0.0", + "dev:clean": "yarn clean && yarn develop", + "build": "gatsby build", + "build:clean": "yarn clean && gatsby build", + "serve": "gatsby serve", + "clean": "gatsby clean", + "build:prefix": "gatsby build --prefix-paths", + "serve:prefix": "gatsby serve --prefix-paths", + "test:prefix": "yarn build:prefix && yarn serve:prefix" + }, + "dependencies": { + "gatsby": "^2.19.16", + "gatsby-theme-carbon": "^1.20.0", + "react": "^16.8.6", + "react-dom": "^16.8.6" + } +} diff --git a/src/data/nav-items.yaml b/src/data/nav-items.yaml new file mode 100644 index 00000000..12110ece --- /dev/null +++ b/src/data/nav-items.yaml @@ -0,0 +1,86 @@ +- title: Introduction + pages: + - title: Overview + path: /00-intro/arch-overview + - title: Deployment Architecture + path: /00-intro/deploy-arch + - title: SPM Architecture on IKS + path: /00-intro/referenceArchSPM + - title: Static Content Deployment Architecture + path: /00-intro/IHSStaticContent +- title: Prerequisites + pages: + - title: Install prerequisite software + path: /01-prereq/prereq + - title: Base third-party software + path: /01-prereq/3rdparty-sw + - title: Docker, Kubernetes, and Helm + path: /01-prereq/Docker-Kubernetes-Helm + - title: Minikube + path: /01-prereq/minikube + - title: IBM Cloud Kubernetes Service + path: /01-prereq/iks + - title: ChartMuseum + path: /01-prereq/chartmuseum + - title: GitHub repo + path: /01-prereq/git +- title: IBM Cúram Social Program Management application + pages: + - title: Installing SPM software + path: /01-deploy-spm/SPM-sw + - title: Create SPM Database + path: /01-deploy-spm/create_spm_db + - title: Building the SPM application + path: /01-deploy-spm/spm-build +- title: Building Docker images + pages: + - title: Setting up the Docker context + path: /02-build-images/setup_docker_context + - title: Building the Docker images + path: /02-build-images/build_images +- title: Deploying with Helm Charts + pages: + - title: Preparing Helm charts + path: /03-deployment/hc_preparation + - title: Deploying Helm charts + path: /03-deployment/hc_deployment +- title: Operations + pages: + - title: Updating Tools + path: /04-operations/updating_tools + - title: Updating SPM Deployment + path: /04-operations/updating_curam +- title: Supporting Infrustructure + pages: + - title: MQ Configuration + path: /05-supporting-infrastructure/MQSetupConfig + - title: Cloud Object Storage + path: /05-supporting-infrastructure/COS + - title: LDAP + path: /05-supporting-infrastructure/LDAP + - title: LogDNA + path: /05-supporting-infrastructure/LogDNA + - title: SPM Batch Processing on IKS + path: /05-supporting-infrastructure/batch +- title: Monitoring and troubleshooting + pages: + - title: Monitor the application in Minikube + path: /06-runtime/interrogate_runtime + - title: Batch processing + path: /06-runtime/batch + - title: XML Server + path: /06-runtime/xmlserver + - title: Troubleshooting problems + path: /06-runtime/troubleshoot + - title: Remote Debugging + path: /06-runtime/Remote-Debugging +- title: Known Issues + pages: + - path: /known_issues +- title: Feedback + pages: + - title: Contact Us + path: /contact/contact_us +- title: Disclaimer + pages: + - path: /disclaimer diff --git a/src/gatsby-theme-carbon/components/Footer.js b/src/gatsby-theme-carbon/components/Footer.js new file mode 100644 index 00000000..c9ebdc44 --- /dev/null +++ b/src/gatsby-theme-carbon/components/Footer.js @@ -0,0 +1,23 @@ +import React from 'react'; +import Footer from 'gatsby-theme-carbon/src/components/Footer'; + +const Content = ({ buildTime }) => ( + <> +

+ Last update: {buildTime} +

+ +); + +const links = { + firstCol: [ + { } + ], + secondCol: [ + { } + ] +}; + +const CustomFooter = () =>