From 498dc1d7cd1a9853f8fd9c6e7c70b53f76024671 Mon Sep 17 00:00:00 2001 From: aranega Date: Mon, 30 Oct 2023 08:18:16 -0600 Subject: [PATCH 01/43] Add dev specific doc for CloudHarness CLI tools --- docs/dev.md | 268 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 268 insertions(+) create mode 100644 docs/dev.md diff --git a/docs/dev.md b/docs/dev.md new file mode 100644 index 00000000..e4d17684 --- /dev/null +++ b/docs/dev.md @@ -0,0 +1,268 @@ +# CloudHarness, developer documentation + +This documentation is meant to be read by developers that needs to make modifications in CloudHarness. +The goal of this doc is to show how CloudHarness is internally built, the different parts of the code/files that are relative to specific features, and to provide a map to be able to modify or implement new features quickly. + +CloudHarness is a project that allows you to: quickly generate the code of your webapp, considering that it runs in the cloud with a micro-service architecture, and to easily connect all those micro-services together to finally build the final app. +Currently, the tools that CloudHarness can consider to build the final app are the following: + +* [OpenAPI](https://www.openapis.org/) for generating the model and API of your application (based on an OpenAPI specification), +* [KeyCloak](https://www.keycloak.org/) for the authentication, +* [Argo Workflow](https://argoproj.github.io/argo-workflows/) for orchestrating Kubernete workflows. You can consider Kunernete workflows with Argo as specific actions that needs to be executed in a isolated environement as it requires more resources or can take time. Usually they are started after a user action. +* [Kafka](https://kafka.apache.org/documentation/) to stream the events from each micro-services and notify listeners that a micro-service or a workflow finished its work, +* [Sentry](https://docs.sentry.io/) to report and log errors and run time exceptions, +* [JupyterHub](https://jupyter.org/hub) to provide jupyter notebooks access to a group of users, +* [Volume Manager](../applications/volumemanager/) to deal with external file system, +* [NFS Server](../applications/nfsserver/) to provide storage of file on an external NFS file system, +* [Kubernete](https://kubernetes.io/) is used to manage the auto-scaling, deployements, ... of micro-services on a cluster, +* [Code Fresh](https://codefresh.io/) for the remote build of the application, and it is configured to initiate a deployment on a remote Kubernete cluster, +* [Helm Chart](https://helm.sh/docs/topics/charts/) for the packaging of Kubernete resources to simplify the deployment of the application, +* [Skaffold](https://skaffold.dev/) to help deploying the packaged application in a Kubernete cluster. + +CloudHarness is made of two major parts: + +1. a command line interface (CLI) that helps bootstrapping the infrastructure for a dedicated tool or project, +2. a runtime which provides several helpers and already pre-coded services to handle the different micro-services. + +## The CloudHarness CLI + +The command line interface is used to generate various aspects of your webapp. +Basically, the CloudHarness CLI can generate (depending on your command line option): + +1. the skeleton (the various directory and stub files) for your webapp, depending on your needs, *e.g.:* a Django-based backend and a React-based frontend, +2. the base configuration files for Code Fresh: `codefresh-XXX.yaml` files, +3. the Helm Chart files for packaging your app, +4. the skaffold configuration file `skaffold.yaml`, +5. the copy of different pre-coded micro-services if required, *e.g.:* micro-service for authentication, based on KeyCloak, ... +6. the SSL certificate. + +The CloudHarness CLI project is located in [`tools/deployment-cli-tools`](../tools/deployment-cli-tools). +The source code of the project is located in [`tools/deployment-cli-tools/ch_cli_tools`](../tools/deployment-cli-tools/ch_cli_tools). +The code is organized around the idea that there is a module by artifact that can be generated: + +```bash +deployment-cli-tools +├── ch_cli_tools +│   ├── codefresh.py # Code Fresh configuration generation +│   ├── helm.py # Helm chart files generation +│   ├── __init__.py # Defines logging level and some global constants +│   ├── models.py # Currently empty file +│   ├── openapi.py # Generates the model and API part of your model (back and front) depending on an OpenAPI specification +│   ├── preprocessing.py # Provide some function to readapt/preprocess paths for the Helm generation +│   ├── scripts +│   │   ├── bootstrap.sh # Shell script for generating certificates for the app depending on the domain name +│   ├── skaffold.py # Skaffold configuration script generation +│   └── utils.py # Set of utils that are use to deal with directory/dict merging, path search, ... +├── harness-application # The main entry/script to create the base application and generate the base code from the OpenAPI specification(skeleton) +├── harness-deployment # The main entry/script to create the deployement for the application, based on some CloudHarness configuration files +├── harness-generate # The main entry/script to (re-)generate the base code for the frontend/backend from the OpenAPI specification, without crating folders for the application +└── tests/* # The tests folder for the CLI tools +``` + +### Generation of the base application skeleton + +The generation of the base application skeleton is obtain through the [`harness-application`](../tools/deployment-cli-tools/harness-application) command. +The command parses the type of application that needs to be generated. +If a new generator for a type of application needs to be defined, the main function of the script should be modified. + +The generation of the application is done in two times. +First the skeleton of the application is generated (the directories, basic files), then the code of REST application (server and client) is generated from the OpenAPI specification. +The following code fragment from the `harness-application` script shows how the skeleton is produced: + +```python +if "django-app" in args.templates and "webapp" not in templates: + templates = ["base", "webapp"] + templates + for template_name in templates: + if template_name == 'server': + with tempfile.TemporaryDirectory() as tmp_dirname: + copymergedir(os.path.join(CH_ROOT, APPLICATION_TEMPLATE_PATH, template_name), tmp_dirname) # <1> + merge_configuration_directories(app_path, tmp_dirname) + generate_server(app_path, tmp_dirname) + for base_path in (CH_ROOT, os.getcwd()): + template_path = os.path.join(base_path, APPLICATION_TEMPLATE_PATH, template_name) + if os.path.exists(template_path): + merge_configuration_directories(template_path, app_path) # <1> +``` + +First, if `django-app` is defined as a template for the application, and the `webapp` template is not set, then `base` and `webapp` are added to the list of templates. +Then, depending on the template name, a template directory is merged with the code of the application that will be developed (if it exists), as seen in `<1>`. +The templates for each type of application is described by the constant `APPLICATION_TEPLATE_PATH` and points to [`application-templates`](../application-templates/). +Based on the name of the template used for the application generation, the actual template with the same name is searched in this path, and copied/merged in the application target folder. +The constant, as well as many other constants, are located in [`cloudharness_utils.constants`](../libraries/cloudharness-utils/cloudharness_utils/constants.py). +This file is part of the CloudHarness runtime. +Other constants are located there as shown in the following code extract. + +```python +NODE_BUILD_IMAGE = 'node:8.16.1-alpine' +APPLICATION_TEMPLATE_PATH = 'application-templates' +# ... +APPS_PATH = 'applications' +DEPLOYMENT_PATH = 'deployment' +CODEFRESH_PATH = 'codefresh/codefresh.yaml' +# ... +CH_BASE_IMAGES = {'cloudharness-base': 'python:3.9.10-alpine', 'cloudharness-base-debian': 'python:3.9.10'} +# ... +``` + +Those constants defines several aspects of CloudHarness. +For example, we can see there what base Docker image will be considered depending on what's configured for your application, where will be located the deployment files, from where the applications to generate/pick should be generated, where are located the templates for each kind of generation target, as well as where the configuration for codefresh should be looked for. + +Once the skeleton of the application is generated considering some templates, the code of the REST API is generated from the OpenAPI specification. +The generation relies on two functions: `generate_server` and `generate_fastapi_server` and `generate_ts_client`. +Those functions are defined in the [`openapi.py`](../tools/deployment-cli-tools/ch_cli_tools/openapi.py) module. +This module and those functions use `openapi-generator-cli` to generate the code for the backend and/or the frontend. +With this generation, and depending on the templates used, some fine tuning or performed in the code/files generated. +For example, some placeholders are replaced depending on the name of the application, or depending on the module in which the application is generated. + +#### How to extend it? + +Here is some scenarios that would need to modify or impact this part of CloudHarness: + +**A new template for a directory/file skeleton needs to be added**. In this case, if a new template needs to be added, there is various operations that needs to be performed: + +1. a new template folder with the basic skeleton for the application needs to be created in [`applications-templates`](../application-templates/) with the name that the template should have as CLI argument, +2. modify the [`harness-application`](../tools/deployment-cli-tools/harness-application) script to include the new template, +3. add, if necessary, a new function in [`openapi.py`](../tools/deployment-cli-tools/ch_cli_tools/openapi.py) to deal with the generation of the API REST code depending on your new template, +4. alter, if necessary, the configuration files that are generated in the [`harness-application`](../tools/deployment-cli-tools/harness-application) script. + +**Change/add the application base images**. In this case, if a new base image, or an existing base image should be modified, then the dictionnary located in [`constants.py`](../libraries/cloudharness-utils/cloudharness_utils/constants.py) should be extended/modified. + +### Generation of the base application skeleton + +The (re-)generation REST API is obtain through the [`harness-generate`](../tools/deployment-cli-tools/harness-generate) command. +The command parses the name of the application, gets the necessary dependencies (the java OpenAPI generator cli), and generates the REST model, the servers stubs and well as the clients code from the OpenAPI specifications. + +The generation of the REST model is done by the `generate_model(...)` function, the generation of the server stub is done by the `generate_servers(...)` function, while the clients generation is done by the `generate_clients(...)` function. +All of these functions are located in the `harness-generate` script. + +Under the hood, the `generate_servers(...)` function uses the `generate_fastapi_server(...)` and the `generate_server(...)` function that are defined in the [`openapi.py`](../tools/deployment-cli-tools/ch_cli_tools/openapi.py) module. +The generation of one type of servers over another one is bound to the existence of a `genapi.sh` file: + +```python +def generate_servers(root_path, interactive=False): + # ... + if os.path.exists(os.path.join(application_root, "api", "genapi.sh")): + # fastapi server --> use the genapi.sh script + generate_fastapi_server(application_root) + else: + generate_server(application_root) +``` + +The `generate_clients(...)` function also uses `generate_python_client(...)` and `generate_ts_client(...)` from the [`openapi.py`](../tools/deployment-cli-tools/ch_cli_tools/openapi.py) module. +The `generate_ts_client(...)` function is called only if there is folder named `frontend` in the application directory structure: + +```python +def generate_clients(root_path, client_lib_name=LIB_NAME, interactive=False): + # ... + app_dir = os.path.dirname(os.path.dirname(openapi_file)) + generate_python_client(app_name, openapi_file, + client_src_path, lib_name=client_lib_name) + if os.path.exists(os.path.join(app_dir, 'frontend')): + generate_ts_client(openapi_file) +``` + +### Generation of the application deployment files + +The generation of the deployment files is obtain through the [`harness-deployment`] script. +The script uses various arguments to configure properly the deployment of the application as well as some debug configuration helper for vscode as shown in the snippet below: + +```python +helm_values = create_helm_chart( # <1> + root_paths, + tag=args.tag, + registry=args.registry, + domain=args.domain, + local=args.local, + secured=not args.unsecured, + output_path=args.output_path, + exclude=args.exclude, + include=args.include, + registry_secret=args.registry_secret, + tls=not args.no_tls, + env=envs, + namespace=args.namespace +) + +merged_root_paths = preprocess_build_overrides( + root_paths=root_paths, helm_values=helm_values) # <2> + +if not args.no_cd_gen and envs: + create_codefresh_deployment_scripts( # <3> + merged_root_paths, + include=args.include, + exclude=args.exclude, + envs=envs, + base_image_name=helm_values['name'], + helm_values=helm_values) + +# ... + +create_skaffold_configuration(merged_root_paths, helm_values) # <4> + +#... + +hosts_info(helm_values) # <5> +``` + +First, the code for the Helm chart files is generated using the `create_helm_chart(...)` function (`<1>`). +Then, the dictionnary of values for the Helm configuration is preprocessed to change some path (`<2>`). +If necessary, the codefresh deployment scripts are generated (`<3>`) using the `create_codefresh_deployment_scripts(...)` function. +Then, the skaffold configuration is generated using the dictionnary generated for the Helm configuration and the `create_skaffold_configuration(...)` function (`<4>`). +Finally, the information about the host IP, domain names, ... is displayed on stdout using the `hosts_info(...)` function (`<5>`). + +#### Generation of the Helm chart + +The generation of the Helm chart relies on the `create_helm_chart(...)` function which is located in the [`helm.py`](../tools/deployment-cli-tools/ch_cli_tools/helm.py) module. + +This function creates an instance of `CloudHarnessHelm` and processes the values inserted in this instance. The `process_values(...)` method on the `CloudHarnessHelm` class creates the result dictionnary with all the required keys and finally returns them wrapped in an instance of [`HarnessMainConfig`](../libraries/models/cloudharness_model/models/harness_main_config.py). +This class extracts information from the dictionnary and gives quick access to them through specific getter/setters (this code, as well as the code located in [`cloudharness_model/models/`](../libraries/models/cloudharness_model/models/) is actually generated from the OpenAPI specification of the CloudHarness concepts located in [`cloudharness_model/api/openapi.yaml`](../libraries/models/api/openapi.yaml), which contains details about the different keys and concepts that can be used for a basic CloudHarness application configuration). +The intermediate dictionnary created for the Helm chart generation is complex and contains many sub-dictionnaries that all capture a part of the Helm chart. +The initializer receives as arguments information about the application, its location, the namespace of the application when it will run in Kubernete, ..., processes the information, creates the dictionnary and save the results as a YAML file using the `merge_to_yaml_file(...)` from the [`utils.py`](../tools/deployment-cli-tools/ch_cli_tools/utils.py) module to the path partially specified by constants from the `constants.py` module. + +The `helm.py` module also defines the `hosts_info(...)` function that displays information about the domain, subdomains, IP, ... of the application to be deployed. + +#### Generation of the Codefresh deployment files + +The generation of the Codefresh deployement files is entirely done from the [`codefresh.py`](../tools/deployment-cli-tools/ch_cli_tools/codefresh.py) module using the `create_codefresh_deployment_scripts(...)` function. +This function takes as parameter the Helm configuration generated by the `create_helm_chart(...)` function and generates different codefresh deployment script depending on environments (*e.g.:* dev, stage, prod). + + +#### Generation of the skaffold configuration + +The skaffold configuration is generated by the `create_skaffold_configuration(...)` function from the [`skaffold.py`](../tools/deployment-cli-tools/ch_cli_tools/skaffold.py) module. +This function also generates the skaffold entries for the Dockerfiles of the micro-services used in the application. +The skaffold generation is based on the [`skaffold-template.yaml`](../deployment-configuration/skaffold-template.yaml) from the CloudHarness project located in [`deployment-configuration`](../deployment-configuration/). +This base configuration is merged with the configuration dedicated to a specific project and which is located in the `deployment-configuration` folder of the project. +Finally, once all the requiered information are injected in the skaffold configuration dictionnary, the dictionnary is saved as a YAML file in the `deployment/skaffold.yaml` file in the project directory. + +#### How to extend the deployment generation + +**Add a new configuration deployment system**. If a new configuration system is targeted by the generation (not Helm chart or skaffold), a new kind of configuration should be added to CloudHarness, and the code should be rewritten to produce a configuration dictionnary from a new file that is not `Chart.yaml`, or that is compatible with this one. +This new kind of argument should be parsed from the command line in the `harness-configuration` script to take into account the new target. +A new module should be added where `helm.py` and `skaffold.py` are located. +This new module should be responsible for taking information from the application dictionnary and use this information to generate a new dictionnary in memory with the missing information that are necessary to properly build the deployment scripts. +Finally, new unit tests should be added to the [deployment-cli-tools/tests](../tools/deployment-cli-tools/tests/) folder. +If a new kind of class must be coded to get all the information of the configuration (like the `CloudHarnessHelm` class), then the [`cloudharness_model/api/openapi.yaml`](../libraries/models/api/openapi.yaml) must be modified to introduce the new type of object that will be manipulated to represent the documentation, and the OpenAPI model should be generated again. + + +## The CloudHarness runtime + +The CloudHarness runtime is located in the [`libraries`](../libraries/) folder. +The runtime library defines a set of concepts and functions to help the various micro-services to communicate together. +The code is organised as such: + +```bash +libraries/ +├── api # Contains the CloudHarness OpenAPI specification +│   ├── config.json # A configuration file to direct the OpenAPI code generation +│   └── openapi.yaml # The OpenAPI specification +├── client # A Python client to access the CloudHardness API +│   └── cloudharness_cli # The programmatic Python client API to access CloudHarness. This code is generated +├── cloudharness-common # The runtime library in itself that is used for dedicated tasks and applications +├── cloudharness-utils # Some shared utils between the CloudHarness CLI tools and the runtime (constants.py) +└── models # The CloudHarness model (generated from the OpenAPI specification) + ├── api # Copy of the artifacts that have been used for the generation (from libraries/api) + │   ├── config.json + │   └── openapi.yaml + └── cloudharness_model # The generated CloudHarness Python model +``` \ No newline at end of file From 38f9a1968194c4aaf87c5bd4d9bed9d689f21bff Mon Sep 17 00:00:00 2001 From: aranega Date: Tue, 31 Oct 2023 04:19:33 -0600 Subject: [PATCH 02/43] Add library structure description --- docs/dev.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/docs/dev.md b/docs/dev.md index e4d17684..113e0c86 100644 --- a/docs/dev.md +++ b/docs/dev.md @@ -265,4 +265,49 @@ libraries/ │   ├── config.json │   └── openapi.yaml └── cloudharness_model # The generated CloudHarness Python model +``` + +The `cloudharness-common` folder is where is located most of the custom code for the various tasks and applications. +The code is structured as this: + +```bash +cloudharness +├── applications.py # Contains helpers regarding about the application configuration +├── auth # Primitives related to authentication and KeyCloak +│   ├── exceptions.py # Dedicated exceptions +│   ├── __init__.py +│   ├── keycloak.py # Implementation specific code for KeyCloak, contains helpers to create KeyCloak clients, get tokens, configuration, ... +│   └── quota.py # Manage a quota by users +├── errors.py # Dedicated exceptions +├── events # Primitives related to event streaming with Kafka +│   ├── client.py # Functions related to the connexion to the Kafka broker +│   ├── decorators.py # Decorator implementation to easily send the result of a function to Kafka +│   ├── __init__.py +├── infrastructure # Primitives related to the management of the infrastructure with Kubernete +│   ├── __init__.py +│   ├── k8s.py # Functions for Kubernete namespace and pod managment +├── __init__.py +├── middleware # Manage user authentication header injection +│   ├── django.py # Way of injecting the auth token in requests for Django +│   ├── flask.py # Way of injecting the auth token in requests for Flask +│   ├── __init__.py +├── sentry # Primitives for sentry initialisation +│   └── __init__.py +├── service # Additional services to handle Persistent Volum Claim in Kubernetes +│   ├── __init__.py +│   ├── pvc.py +│   └── templates +│   └── pvc.yaml +├── utils # Set of helpers +│   ├── config.py # Helper class for the CloudHarness configuration +│   ├── env.py # Helper for the env variables in configurations +│   ├── __init__.py +│   ├── secrets.py # Helper class for the CloudHarness application secrets +│   ├── server.py # Helpers for flask/server bootstrapping +└── workflows # Primitives for the management of workflows + ├── argo.py # Helpers and function to access the Argo REST API + ├── __init__.py + ├── operations.py # Functions to create new Argo operations + ├── tasks.py # Functions to create new Argo tasks + └── utils.py # Helpers to get information from the pods that executes operations and tasks ``` \ No newline at end of file From f99789135d55716cdc752760f620a84a661a5d03 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Mon, 15 Jan 2024 18:28:15 +0100 Subject: [PATCH 03/43] CH-109 base libraries update --- applications/samples/api/config.json | 2 +- applications/samples/backend/requirements.txt | 2 +- .../backend/samples/models/base_model_.py | 4 +- .../backend/samples/models/sample_resource.py | 6 ++ .../backend/samples/openapi/openapi.yaml | 29 +++++---- .../samples/backend/test-requirements.txt | 6 +- .../samples/frontend/src/rest/common.ts | 34 +++++++---- deployment/codefresh-test.yaml | 2 - .../client/cloudharness_cli/requirements.txt | 12 ++-- .../cloudharness-common/requirements.txt | 59 ++++++++++++------- libraries/models/requirements.txt | 14 +++-- .../ch_cli_tools/openapi.py | 2 +- 12 files changed, 107 insertions(+), 65 deletions(-) diff --git a/applications/samples/api/config.json b/applications/samples/api/config.json index 9e26dfee..177a068c 100644 --- a/applications/samples/api/config.json +++ b/applications/samples/api/config.json @@ -1 +1 @@ -{} \ No newline at end of file +{"packageName": "samples"} \ No newline at end of file diff --git a/applications/samples/backend/requirements.txt b/applications/samples/backend/requirements.txt index 70e1f0c5..be4c8a3a 100644 --- a/applications/samples/backend/requirements.txt +++ b/applications/samples/backend/requirements.txt @@ -8,4 +8,4 @@ werkzeug == 0.16.1; python_version=="3.5" or python_version=="3.4" swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools >= 21.0.0 -Flask == 1.1.2 +Flask == 2.1.1 diff --git a/applications/samples/backend/samples/models/base_model_.py b/applications/samples/backend/samples/models/base_model_.py index 43064a03..edf327c8 100644 --- a/applications/samples/backend/samples/models/base_model_.py +++ b/applications/samples/backend/samples/models/base_model_.py @@ -11,11 +11,11 @@ class Model(object): # openapiTypes: The key is attribute name and the # value is attribute type. - openapi_types = {} + openapi_types: typing.Dict[str, type] = {} # attributeMap: The key is attribute name and the # value is json key in definition. - attribute_map = {} + attribute_map: typing.Dict[str, str] = {} @classmethod def from_dict(cls: typing.Type[T], dikt) -> T: diff --git a/applications/samples/backend/samples/models/sample_resource.py b/applications/samples/backend/samples/models/sample_resource.py index 462b99bd..1deca853 100644 --- a/applications/samples/backend/samples/models/sample_resource.py +++ b/applications/samples/backend/samples/models/sample_resource.py @@ -56,6 +56,7 @@ def from_dict(cls, dikt) -> 'SampleResource': def a(self): """Gets the a of this SampleResource. + # noqa: E501 :return: The a of this SampleResource. :rtype: float @@ -66,6 +67,7 @@ def a(self): def a(self, a): """Sets the a of this SampleResource. + # noqa: E501 :param a: The a of this SampleResource. :type a: float @@ -79,6 +81,7 @@ def a(self, a): def b(self): """Gets the b of this SampleResource. + # noqa: E501 :return: The b of this SampleResource. :rtype: float @@ -89,6 +92,7 @@ def b(self): def b(self, b): """Sets the b of this SampleResource. + # noqa: E501 :param b: The b of this SampleResource. :type b: float @@ -100,6 +104,7 @@ def b(self, b): def id(self): """Gets the id of this SampleResource. + # noqa: E501 :return: The id of this SampleResource. :rtype: float @@ -110,6 +115,7 @@ def id(self): def id(self, id): """Sets the id of this SampleResource. + # noqa: E501 :param id: The id of this SampleResource. :type id: float diff --git a/applications/samples/backend/samples/openapi/openapi.yaml b/applications/samples/backend/samples/openapi/openapi.yaml index b784f4cf..4e63db55 100644 --- a/applications/samples/backend/samples/openapi/openapi.yaml +++ b/applications/samples/backend/samples/openapi/openapi.yaml @@ -12,7 +12,8 @@ servers: tags: - name: auth - name: workflows -- name: resource +- description: "" + name: resource paths: /error: get: @@ -90,8 +91,8 @@ paths: schema: type: string description: Operation result - summary: Send a synchronous operation and get results using the event queue. - Just a sum, but in the cloud + summary: "Send a synchronous operation and get results using the event queue.\ + \ Just a sum, but in the cloud" tags: - workflows x-openapi-router-controller: samples.controllers.workflows_controller @@ -112,9 +113,9 @@ paths: - test x-openapi-router-controller: samples.controllers.test_controller /sampleresources: - description: The REST endpoint/path used to list and create zero or more `SampleResource` - entities. This path contains a `GET` and `POST` operation to perform the list - and create tasks, respectively. + description: "The REST endpoint/path used to list and create zero or more `SampleResource`\ + \ entities. This path contains a `GET` and `POST` operation to perform the\ + \ list and create tasks, respectively." get: description: Gets a list of all `SampleResource` entities. operationId: get_sample_resources @@ -176,9 +177,9 @@ paths: tags: - resource x-openapi-router-controller: samples.controllers.resource_controller - description: The REST endpoint/path used to get, update, and delete single instances - of an `SampleResource`. This path contains `GET`, `PUT`, and `DELETE` operations - used to perform the get, update, and delete tasks, respectively. + description: "The REST endpoint/path used to get, update, and delete single instances\ + \ of an `SampleResource`. This path contains `GET`, `PUT`, and `DELETE` operations\ + \ used to perform the get, update, and delete tasks, respectively." get: description: Gets the details of a single instance of a `SampleResource`. operationId: get_sample_resource @@ -229,7 +230,7 @@ paths: "202": description: Successful response. "400": - description: Parameter must be integer, payload must be of type SampleResource + description: "Parameter must be integer, payload must be of type SampleResource" "404": description: Resource not found summary: Update a SampleResource @@ -250,7 +251,7 @@ paths: type: string description: Check if token is valid "401": - description: invalid token, unauthorized + description: "invalid token, unauthorized" security: - bearerAuth: [] summary: Check if the token is valid. Get a token by logging into the base url @@ -270,7 +271,7 @@ paths: type: string description: Check if token is valid "401": - description: invalid token, unauthorized + description: "invalid token, unauthorized" security: - cookieAuth: [] summary: Check if the token is valid. Get a token by logging into the base url @@ -306,18 +307,22 @@ components: title: inline_response_202 type: object SampleResource: + description: "" example: a: 0.8008281904610115 b: 6.027456183070403 id: 1.4658129805029452 properties: a: + description: "" title: a type: number b: + description: "" title: b type: number id: + description: "" title: id type: number required: diff --git a/applications/samples/backend/test-requirements.txt b/applications/samples/backend/test-requirements.txt index 0970f28c..58f51d6a 100644 --- a/applications/samples/backend/test-requirements.txt +++ b/applications/samples/backend/test-requirements.txt @@ -1,4 +1,4 @@ -pytest~=4.6.7 # needed for python 2.7+3.4 +pytest~=7.1.0 pytest-cov>=2.8.1 -pytest-randomly==1.2.3 # needed for python 2.7+3.4 -Flask-Testing==0.8.0 +pytest-randomly>=1.2.3 +Flask-Testing==0.8.1 diff --git a/applications/samples/frontend/src/rest/common.ts b/applications/samples/frontend/src/rest/common.ts index 17acf5d1..d75d12e4 100644 --- a/applications/samples/frontend/src/rest/common.ts +++ b/applications/samples/frontend/src/rest/common.ts @@ -83,24 +83,34 @@ export const setOAuthToObject = async function (object: any, name: string, scope } } +function setFlattenedQueryParams(urlSearchParams: URLSearchParams, parameter: any, key: string = ""): void { + if (typeof parameter === "object") { + if (Array.isArray(parameter)) { + (parameter as any[]).forEach(item => setFlattenedQueryParams(urlSearchParams, item, key)); + } + else { + Object.keys(parameter).forEach(currentKey => + setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`) + ); + } + } + else { + if (urlSearchParams.has(key)) { + urlSearchParams.append(key, parameter); + } + else { + urlSearchParams.set(key, parameter); + } + } +} + /** * * @export */ export const setSearchParams = function (url: URL, ...objects: any[]) { const searchParams = new URLSearchParams(url.search); - for (const object of objects) { - for (const key in object) { - if (Array.isArray(object[key])) { - searchParams.delete(key); - for (const item of object[key]) { - searchParams.append(key, item); - } - } else { - searchParams.set(key, object[key]); - } - } - } + setFlattenedQueryParams(searchParams, objects); url.search = searchParams.toString(); } diff --git a/deployment/codefresh-test.yaml b/deployment/codefresh-test.yaml index ff7a88af..b87227bb 100644 --- a/deployment/codefresh-test.yaml +++ b/deployment/codefresh-test.yaml @@ -445,9 +445,7 @@ steps: - kubectl config use-context ${{CLUSTER_NAME}} - kubectl config set-context --current --namespace=test-${{NAMESPACE_BASENAME}} - kubectl rollout status deployment/accounts - - kubectl rollout status deployment/argo-server-gk - kubectl rollout status deployment/samples - - kubectl rollout status deployment/samples-gk - kubectl rollout status deployment/common - kubectl rollout status deployment/workflows - sleep 60 diff --git a/libraries/client/cloudharness_cli/requirements.txt b/libraries/client/cloudharness_cli/requirements.txt index 3cb66126..971ed37a 100644 --- a/libraries/client/cloudharness_cli/requirements.txt +++ b/libraries/client/cloudharness_cli/requirements.txt @@ -1,6 +1,6 @@ -certifi >= 14.5.14 -frozendict ~= 2.3.4 -python-dateutil ~= 2.7.0 -setuptools >= 21.0.0 -typing_extensions ~= 4.3.0 -urllib3 ~= 1.26.7 +certifi +frozendict +python-dateutil +setuptools +typing_extensions +urllib3 diff --git a/libraries/cloudharness-common/requirements.txt b/libraries/cloudharness-common/requirements.txt index 200b01d1..e3cf698f 100644 --- a/libraries/cloudharness-common/requirements.txt +++ b/libraries/cloudharness-common/requirements.txt @@ -1,22 +1,39 @@ -asn1crypto==0.24.0 -certifi==2019.3.9 -chardet==3.0.4 -idna==2.8 -pyjwt==2.6.0 -pyOpenSSL<22.1.0 -PySocks==1.6.8 -requests>=2.27.0 -ruamel.yaml==0.17.21 -six==1.16.0 -urllib3>=1.26 -pykafka==2.8.0 -pyaml -kafka-python -kubernetes -sentry-sdk[flask]==0.14.4 -python-keycloak==2.6.0 argo-workflows==5.0.0 -cryptography<3.4 -hypothesis==6.54.2 -jsonschema<4.0.0 -httpx==0.23.0 +blinker==1.7.0 +cachetools==5.3.2 +certifi==2023.11.17 +cffi==1.16.0 +charset-normalizer==3.3.2 +click==8.1.7 +cryptography==41.0.7 +deprecation==2.1.0 +ecdsa==0.18.0 +idna==3.6 +importlib-metadata==7.0.1 +itsdangerous==2.1.2 +Jinja2==3.1.3 +kafka-python==2.0.2 +kubernetes==29.0.0 +MarkupSafe==2.1.3 +oauthlib==3.2.2 +oyaml==1.0 +packaging==23.2 +pyaml==23.12.0 +pyasn1==0.5.1 +pyasn1-modules==0.3.0 +pycparser==2.21 +pyhumps==3.8.0 +PyJWT==2.8.0 +python-dateutil==2.8.2 +python-jose==3.3.0 +python-keycloak==3.7.0 +PyYAML==6.0.1 +requests==2.31.0 +requests-oauthlib==1.3.1 +requests-toolbelt==1.0.0 +rsa==4.9 +sentry-sdk==1.39.2 +six==1.16.0 +urllib3==2.1.0 +Werkzeug==3.0.1 +zipp==3.17.0 diff --git a/libraries/models/requirements.txt b/libraries/models/requirements.txt index e31829f6..a7ebe665 100644 --- a/libraries/models/requirements.txt +++ b/libraries/models/requirements.txt @@ -1,4 +1,10 @@ -swagger-ui-bundle >= 0.0.2 -python_dateutil >= 2.6.0 -setuptools >= 21.0.0 -pyhumps +fonttools==4.38.0 +Jinja2==3.1.3 +MarkupSafe==2.1.3 +oyaml==1.0 +psutil==5.9.4 +pyhumps==3.8.0 +python-dateutil==2.8.2 +PyYAML==6.0.1 +six==1.16.0 +swagger_ui_bundle==1.1.0 \ No newline at end of file diff --git a/tools/deployment-cli-tools/ch_cli_tools/openapi.py b/tools/deployment-cli-tools/ch_cli_tools/openapi.py index 7f302498..978b0322 100644 --- a/tools/deployment-cli-tools/ch_cli_tools/openapi.py +++ b/tools/deployment-cli-tools/ch_cli_tools/openapi.py @@ -16,7 +16,7 @@ LIB_NAME = 'cloudharness_cli' ROOT = dn(dn(dn(HERE))) -OPENAPI_GEN_URL = 'https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.2.1/openapi-generator-cli-6.2.1.jar' +OPENAPI_GEN_URL = 'https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.2.0/openapi-generator-cli-7.2.0.jar' def generate_server(app_path, overrides_folder=""): From fe981b3f5cde9e48f18caaae9244cdd064d26ee3 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Mon, 15 Jan 2024 18:36:01 +0100 Subject: [PATCH 04/43] CH-109 applications dependencies update --- applications/volumemanager/server/requirements.txt | 2 +- .../server/volumemanager/models/base_model_.py | 4 ++-- applications/workflows/api/config.json | 2 +- applications/workflows/server/requirements.txt | 2 +- .../workflows/server/workflows_api/models/base_model_.py | 4 ++-- .../workflows/server/workflows_api/openapi/openapi.yaml | 9 ++++++--- 6 files changed, 13 insertions(+), 10 deletions(-) diff --git a/applications/volumemanager/server/requirements.txt b/applications/volumemanager/server/requirements.txt index 70e1f0c5..be4c8a3a 100644 --- a/applications/volumemanager/server/requirements.txt +++ b/applications/volumemanager/server/requirements.txt @@ -8,4 +8,4 @@ werkzeug == 0.16.1; python_version=="3.5" or python_version=="3.4" swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools >= 21.0.0 -Flask == 1.1.2 +Flask == 2.1.1 diff --git a/applications/volumemanager/server/volumemanager/models/base_model_.py b/applications/volumemanager/server/volumemanager/models/base_model_.py index ea49046e..1a2f7910 100644 --- a/applications/volumemanager/server/volumemanager/models/base_model_.py +++ b/applications/volumemanager/server/volumemanager/models/base_model_.py @@ -11,11 +11,11 @@ class Model(object): # openapiTypes: The key is attribute name and the # value is attribute type. - openapi_types = {} + openapi_types: typing.Dict[str, type] = {} # attributeMap: The key is attribute name and the # value is json key in definition. - attribute_map = {} + attribute_map: typing.Dict[str, str] = {} @classmethod def from_dict(cls: typing.Type[T], dikt) -> T: diff --git a/applications/workflows/api/config.json b/applications/workflows/api/config.json index 9e26dfee..fbb5d269 100644 --- a/applications/workflows/api/config.json +++ b/applications/workflows/api/config.json @@ -1 +1 @@ -{} \ No newline at end of file +{"packageName": "workflows_api"} \ No newline at end of file diff --git a/applications/workflows/server/requirements.txt b/applications/workflows/server/requirements.txt index 70e1f0c5..be4c8a3a 100644 --- a/applications/workflows/server/requirements.txt +++ b/applications/workflows/server/requirements.txt @@ -8,4 +8,4 @@ werkzeug == 0.16.1; python_version=="3.5" or python_version=="3.4" swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools >= 21.0.0 -Flask == 1.1.2 +Flask == 2.1.1 diff --git a/applications/workflows/server/workflows_api/models/base_model_.py b/applications/workflows/server/workflows_api/models/base_model_.py index d532ae7b..1e0ea702 100644 --- a/applications/workflows/server/workflows_api/models/base_model_.py +++ b/applications/workflows/server/workflows_api/models/base_model_.py @@ -11,11 +11,11 @@ class Model(object): # openapiTypes: The key is attribute name and the # value is attribute type. - openapi_types = {} + openapi_types: typing.Dict[str, type] = {} # attributeMap: The key is attribute name and the # value is json key in definition. - attribute_map = {} + attribute_map: typing.Dict[str, str] = {} @classmethod def from_dict(cls: typing.Type[T], dikt) -> T: diff --git a/applications/workflows/server/workflows_api/openapi/openapi.yaml b/applications/workflows/server/workflows_api/openapi/openapi.yaml index c8e5420f..781e815a 100644 --- a/applications/workflows/server/workflows_api/openapi/openapi.yaml +++ b/applications/workflows/server/workflows_api/openapi/openapi.yaml @@ -11,7 +11,7 @@ servers: - description: Metacell host url: /api tags: -- description: standard creation, listing and retrieve +- description: "standard creation, listing and retrieve" name: Create and Access paths: /operations: @@ -100,7 +100,7 @@ paths: name: name required: true schema: - pattern: ^[0-9A-Za-z\s\-]+$ + pattern: "^[0-9A-Za-z\\s\\-]+$" type: string style: simple responses: @@ -136,7 +136,7 @@ paths: name: name required: true schema: - pattern: ^[0-9A-Za-z\s\-]+$ + pattern: "^[0-9A-Za-z\\s\\-]+$" type: string style: simple responses: @@ -167,10 +167,12 @@ components: createTime: 2016-08-29T09:12:33.001Z name: name message: "" + status: null - workflow: workflow createTime: 2016-08-29T09:12:33.001Z name: name message: "" + status: null properties: meta: $ref: '#/components/schemas/SearchResultData' @@ -197,6 +199,7 @@ components: createTime: 2016-08-29T09:12:33.001Z name: name message: "" + status: null properties: message: description: usually set when an error occurred From 4323001c9a34643eacc38d15de7b3b72f3968194 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Mon, 15 Jan 2024 18:41:16 +0100 Subject: [PATCH 05/43] CH-109 applications dependencies update --- .../common/server/common/models/__init__.py | 2 +- .../server/common/models/base_model_.py | 4 +- .../common/models/get_config200_response.py | 122 ++++++++++++++++++ .../common/server/common/openapi/openapi.yaml | 6 +- applications/common/server/requirements.txt | 2 +- 5 files changed, 129 insertions(+), 7 deletions(-) create mode 100644 applications/common/server/common/models/get_config200_response.py diff --git a/applications/common/server/common/models/__init__.py b/applications/common/server/common/models/__init__.py index 5c3b8ec2..1a083de0 100644 --- a/applications/common/server/common/models/__init__.py +++ b/applications/common/server/common/models/__init__.py @@ -3,4 +3,4 @@ # flake8: noqa from __future__ import absolute_import # import models into model package -from common.models.inline_response200 import InlineResponse200 +from common.models.get_config200_response import GetConfig200Response diff --git a/applications/common/server/common/models/base_model_.py b/applications/common/server/common/models/base_model_.py index f0fd4a22..ad7ecc34 100644 --- a/applications/common/server/common/models/base_model_.py +++ b/applications/common/server/common/models/base_model_.py @@ -11,11 +11,11 @@ class Model(object): # openapiTypes: The key is attribute name and the # value is attribute type. - openapi_types = {} + openapi_types: typing.Dict[str, type] = {} # attributeMap: The key is attribute name and the # value is json key in definition. - attribute_map = {} + attribute_map: typing.Dict[str, str] = {} @classmethod def from_dict(cls: typing.Type[T], dikt) -> T: diff --git a/applications/common/server/common/models/get_config200_response.py b/applications/common/server/common/models/get_config200_response.py new file mode 100644 index 00000000..48e3b40e --- /dev/null +++ b/applications/common/server/common/models/get_config200_response.py @@ -0,0 +1,122 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from common.models.base_model_ import Model +from common import util + + +class GetConfig200Response(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, url=None, realm=None, client_id=None): # noqa: E501 + """GetConfig200Response - a model defined in OpenAPI + + :param url: The url of this GetConfig200Response. # noqa: E501 + :type url: str + :param realm: The realm of this GetConfig200Response. # noqa: E501 + :type realm: str + :param client_id: The client_id of this GetConfig200Response. # noqa: E501 + :type client_id: str + """ + self.openapi_types = { + 'url': str, + 'realm': str, + 'client_id': str + } + + self.attribute_map = { + 'url': 'url', + 'realm': 'realm', + 'client_id': 'clientId' + } + + self._url = url + self._realm = realm + self._client_id = client_id + + @classmethod + def from_dict(cls, dikt) -> 'GetConfig200Response': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The get_config_200_response of this GetConfig200Response. # noqa: E501 + :rtype: GetConfig200Response + """ + return util.deserialize_model(dikt, cls) + + @property + def url(self): + """Gets the url of this GetConfig200Response. + + The auth URL. # noqa: E501 + + :return: The url of this GetConfig200Response. + :rtype: str + """ + return self._url + + @url.setter + def url(self, url): + """Sets the url of this GetConfig200Response. + + The auth URL. # noqa: E501 + + :param url: The url of this GetConfig200Response. + :type url: str + """ + + self._url = url + + @property + def realm(self): + """Gets the realm of this GetConfig200Response. + + The realm. # noqa: E501 + + :return: The realm of this GetConfig200Response. + :rtype: str + """ + return self._realm + + @realm.setter + def realm(self, realm): + """Sets the realm of this GetConfig200Response. + + The realm. # noqa: E501 + + :param realm: The realm of this GetConfig200Response. + :type realm: str + """ + + self._realm = realm + + @property + def client_id(self): + """Gets the client_id of this GetConfig200Response. + + The clientID. # noqa: E501 + + :return: The client_id of this GetConfig200Response. + :rtype: str + """ + return self._client_id + + @client_id.setter + def client_id(self, client_id): + """Sets the client_id of this GetConfig200Response. + + The clientID. # noqa: E501 + + :param client_id: The client_id of this GetConfig200Response. + :type client_id: str + """ + + self._client_id = client_id diff --git a/applications/common/server/common/openapi/openapi.yaml b/applications/common/server/common/openapi/openapi.yaml index f5aa7599..97fb8e8b 100644 --- a/applications/common/server/common/openapi/openapi.yaml +++ b/applications/common/server/common/openapi/openapi.yaml @@ -21,7 +21,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/inline_response_200' + $ref: '#/components/schemas/get_config_200_response' description: Config for accounts log in summary: Gets the config for logging in into accounts tags: @@ -70,7 +70,7 @@ paths: x-openapi-router-controller: common.controllers.sentry_controller components: schemas: - inline_response_200: + get_config_200_response: example: clientId: clientId realm: realm @@ -88,5 +88,5 @@ components: description: The clientID. title: clientId type: string - title: inline_response_200 + title: get_config_200_response type: object diff --git a/applications/common/server/requirements.txt b/applications/common/server/requirements.txt index c4293e26..7d43db78 100644 --- a/applications/common/server/requirements.txt +++ b/applications/common/server/requirements.txt @@ -8,6 +8,6 @@ werkzeug == 0.16.1; python_version=="3.5" or python_version=="3.4" swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools >= 21.0.0 -Flask == 1.1.2 +Flask == 2.1.1 flask_sqlalchemy==2.4.4 sqlalchemy<2.0.0 \ No newline at end of file From f1068f2e03d8371a6859c3a48ceaf051ee766025 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Mon, 15 Jan 2024 19:08:15 +0100 Subject: [PATCH 06/43] Fix tests --- tools/deployment-cli-tools/ch_cli_tools/skaffold.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/deployment-cli-tools/ch_cli_tools/skaffold.py b/tools/deployment-cli-tools/ch_cli_tools/skaffold.py index 774234b9..c0de5764 100644 --- a/tools/deployment-cli-tools/ch_cli_tools/skaffold.py +++ b/tools/deployment-cli-tools/ch_cli_tools/skaffold.py @@ -143,7 +143,8 @@ def process_build_dockerfile(dockerfile_path, root_path, global_context=False, r def identify_unicorn_based_main(candidates): import re gunicorn_pattern = re.compile(r"gunicorn") - for candidate in candidates: + # sort candidates, shortest path first + for candidate in sorted(candidates,key=lambda x: len(x.split("/"))): dockerfile_path = f"{candidate}/.." while not exists(f"{dockerfile_path}/Dockerfile") and abspath(dockerfile_path) != abspath(root_path): dockerfile_path += "/.." From 9b59a1d29a50510ee1cce3ec705a091fa23d3eaa Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Tue, 16 Jan 2024 17:02:51 +0100 Subject: [PATCH 07/43] CH-109 more libraries updates --- applications/common/server/requirements.txt | 12 ++------ applications/samples/backend/requirements.txt | 10 ++----- .../samples/backend/samples/encoder.py | 3 +- .../volumemanager/deploy/values-test.yaml | 14 +++++++++ applications/volumemanager/deploy/values.yaml | 6 ++++ .../volumemanager/server/requirements.txt | 10 ++----- .../workflows/server/requirements.txt | 12 ++------ .../cloudharness-flask/requirements.txt | 29 ++++++++----------- 8 files changed, 44 insertions(+), 52 deletions(-) create mode 100644 applications/volumemanager/deploy/values-test.yaml diff --git a/applications/common/server/requirements.txt b/applications/common/server/requirements.txt index 7d43db78..441a0a06 100644 --- a/applications/common/server/requirements.txt +++ b/applications/common/server/requirements.txt @@ -1,13 +1,7 @@ -connexion[swagger-ui] >= 2.6.0; python_version>="3.6" -# 2.3 is the last version that supports python 3.4-3.5 -connexion[swagger-ui] <= 2.3.0; python_version=="3.5" or python_version=="3.4" -# connexion requires werkzeug but connexion < 2.4.0 does not install werkzeug -# we must peg werkzeug versions below to fix connexion -# https://github.com/zalando/connexion/pull/1044 -werkzeug == 0.16.1; python_version=="3.5" or python_version=="3.4" +connexion[swagger-ui]==2.14.2 swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools >= 21.0.0 -Flask == 2.1.1 +Flask >= 2.1.0 flask_sqlalchemy==2.4.4 -sqlalchemy<2.0.0 \ No newline at end of file +sqlalchemy \ No newline at end of file diff --git a/applications/samples/backend/requirements.txt b/applications/samples/backend/requirements.txt index be4c8a3a..25d87879 100644 --- a/applications/samples/backend/requirements.txt +++ b/applications/samples/backend/requirements.txt @@ -1,11 +1,5 @@ -connexion[swagger-ui] >= 2.6.0; python_version>="3.6" -# 2.3 is the last version that supports python 3.4-3.5 -connexion[swagger-ui] <= 2.3.0; python_version=="3.5" or python_version=="3.4" -# connexion requires werkzeug but connexion < 2.4.0 does not install werkzeug -# we must peg werkzeug versions below to fix connexion -# https://github.com/zalando/connexion/pull/1044 -werkzeug == 0.16.1; python_version=="3.5" or python_version=="3.4" +connexion[swagger-ui]==2.14.2 swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools >= 21.0.0 -Flask == 2.1.1 +Flask >= 2.1.0 diff --git a/applications/samples/backend/samples/encoder.py b/applications/samples/backend/samples/encoder.py index 89412282..fe2c3b18 100644 --- a/applications/samples/backend/samples/encoder.py +++ b/applications/samples/backend/samples/encoder.py @@ -1,7 +1,8 @@ -from connexion.apps.flask_app import FlaskJSONEncoder + import six from samples.models.base_model_ import Model +from flask.json import FlaskJSONEncoder class JSONEncoder(FlaskJSONEncoder): diff --git a/applications/volumemanager/deploy/values-test.yaml b/applications/volumemanager/deploy/values-test.yaml new file mode 100644 index 00000000..5f5c264c --- /dev/null +++ b/applications/volumemanager/deploy/values-test.yaml @@ -0,0 +1,14 @@ +harness: + accounts: + roles: + - role1 + - role2 + - role3 + users: + - username: volumes@testuser.com + clientRoles: + - role1 + realmRoles: + - administrator + + diff --git a/applications/volumemanager/deploy/values.yaml b/applications/volumemanager/deploy/values.yaml index ec5355ca..0b10b02d 100644 --- a/applications/volumemanager/deploy/values.yaml +++ b/applications/volumemanager/deploy/values.yaml @@ -13,3 +13,9 @@ harness: dependencies: build: - cloudharness-flask + test: + api: + enabled: true + autotest: true + checks: + - all \ No newline at end of file diff --git a/applications/volumemanager/server/requirements.txt b/applications/volumemanager/server/requirements.txt index be4c8a3a..25d87879 100644 --- a/applications/volumemanager/server/requirements.txt +++ b/applications/volumemanager/server/requirements.txt @@ -1,11 +1,5 @@ -connexion[swagger-ui] >= 2.6.0; python_version>="3.6" -# 2.3 is the last version that supports python 3.4-3.5 -connexion[swagger-ui] <= 2.3.0; python_version=="3.5" or python_version=="3.4" -# connexion requires werkzeug but connexion < 2.4.0 does not install werkzeug -# we must peg werkzeug versions below to fix connexion -# https://github.com/zalando/connexion/pull/1044 -werkzeug == 0.16.1; python_version=="3.5" or python_version=="3.4" +connexion[swagger-ui]==2.14.2 swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools >= 21.0.0 -Flask == 2.1.1 +Flask >= 2.1.0 diff --git a/applications/workflows/server/requirements.txt b/applications/workflows/server/requirements.txt index be4c8a3a..7c5714ba 100644 --- a/applications/workflows/server/requirements.txt +++ b/applications/workflows/server/requirements.txt @@ -1,11 +1,5 @@ -connexion[swagger-ui] >= 2.6.0; python_version>="3.6" -# 2.3 is the last version that supports python 3.4-3.5 -connexion[swagger-ui] <= 2.3.0; python_version=="3.5" or python_version=="3.4" -# connexion requires werkzeug but connexion < 2.4.0 does not install werkzeug -# we must peg werkzeug versions below to fix connexion -# https://github.com/zalando/connexion/pull/1044 -werkzeug == 0.16.1; python_version=="3.5" or python_version=="3.4" -swagger-ui-bundle >= 0.0.2 +connexion[swagger-ui]==2.14.2 +swagger-ui-bundle > 0.0.2 python_dateutil >= 2.6.0 setuptools >= 21.0.0 -Flask == 2.1.1 +Flask >= 2.1.0 diff --git a/infrastructure/common-images/cloudharness-flask/requirements.txt b/infrastructure/common-images/cloudharness-flask/requirements.txt index cb03aa81..519bd654 100644 --- a/infrastructure/common-images/cloudharness-flask/requirements.txt +++ b/infrastructure/common-images/cloudharness-flask/requirements.txt @@ -1,17 +1,12 @@ -connexion==2.6.0 -Flask==1.1.2 -Flask-Cors==3.0.9 -flask-oidc==1.4.0 -Flask-Testing==0.6.1 -gunicorn==20.1.0 -itsdangerous==2.0.1 -Jinja2==3.0.3 -jsonschema<4.0.0 -openapi-spec-validator==0.4.0 -pytest==4.6.11 -pytest-cov==3.0.0 -pytest-randomly==1.2.3 -sentry-sdk==0.14.4 -SQLAlchemy==1.4.32 -swagger-ui-bundle==0.0.8 -Werkzeug==2.0.3 \ No newline at end of file +connexion[swagger-ui]==2.14.2 +Flask>=2.1.0 +Flask-Cors>=4.0.0 +gunicorn>=21.2.0 +itsdangerous>=2.1.2 +Jinja2>=3.1.3 +jsonschema>=4.20.0 +openapi-spec-validator<0.5.0 +sentry-sdk>=0.14.4 +SQLAlchemy>=2.0.0 +swagger-ui-bundle>=0.0.2 +werkzeug<2.3 \ No newline at end of file From ec25adbd55c7778a3425af837aff5c548571d735 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Tue, 16 Jan 2024 18:55:24 +0100 Subject: [PATCH 08/43] CH-109 fix flask-sql, tweak dependencies --- applications/common/server/common/__main__.py | 6 +++++- .../common/server/common/controllers/sentry_controller.py | 2 +- applications/common/server/common/repository/db.py | 8 ++++++-- applications/common/server/requirements.txt | 6 +++--- applications/samples/backend/requirements.txt | 2 +- applications/volumemanager/server/requirements.txt | 2 +- .../common-images/cloudharness-flask/requirements.txt | 2 +- 7 files changed, 18 insertions(+), 10 deletions(-) diff --git a/applications/common/server/common/__main__.py b/applications/common/server/common/__main__.py index 32256869..4bd6ef17 100644 --- a/applications/common/server/common/__main__.py +++ b/applications/common/server/common/__main__.py @@ -4,11 +4,15 @@ from cloudharness import log from flask_cors import CORS from common.repository.db import open_db +from common.controllers.sentry_controller import global_dsn + + def init_fn(app): log.info("initializing database from app") cors = CORS(app, resources={r"/api/*": {"origins": "*"}}) - open_db(app) + if not global_dsn: + open_db(app) app = init_flask(init_app_fn=init_fn) diff --git a/applications/common/server/common/controllers/sentry_controller.py b/applications/common/server/common/controllers/sentry_controller.py index 44f15d5d..1daee66f 100644 --- a/applications/common/server/common/controllers/sentry_controller.py +++ b/applications/common/server/common/controllers/sentry_controller.py @@ -5,6 +5,7 @@ from cloudharness.utils.env import get_sentry_service_cluster_address from common.repository.sentry import get_token, get_dsn, SentryProjectNotFound + try: global_dsn = os.environ.get("SENTRY_DSN", "") if len(global_dsn) < 1: @@ -12,7 +13,6 @@ except: global_dsn = None - def getdsn(appname): # noqa: E501 """ Gets the Sentry DSN for a given application or returns the global dsn when set diff --git a/applications/common/server/common/repository/db.py b/applications/common/server/common/repository/db.py index f0eba317..8433b3a9 100644 --- a/applications/common/server/common/repository/db.py +++ b/applications/common/server/common/repository/db.py @@ -1,4 +1,5 @@ from flask_sqlalchemy import SQLAlchemy +from cloudharness import log db = None @@ -12,6 +13,9 @@ def get_db(): def open_db(app): global db - if not db: - db = SQLAlchemy(app) + try: + if not db: + db = SQLAlchemy(app) + except Exception as e: + log.exception("Sentry database cannot be initialized") return db diff --git a/applications/common/server/requirements.txt b/applications/common/server/requirements.txt index 441a0a06..8acc510d 100644 --- a/applications/common/server/requirements.txt +++ b/applications/common/server/requirements.txt @@ -2,6 +2,6 @@ connexion[swagger-ui]==2.14.2 swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools >= 21.0.0 -Flask >= 2.1.0 -flask_sqlalchemy==2.4.4 -sqlalchemy \ No newline at end of file +Flask<3.0.0 +flask_sqlalchemy==3.0.2 +sqlalchemy<2.0.0 \ No newline at end of file diff --git a/applications/samples/backend/requirements.txt b/applications/samples/backend/requirements.txt index 25d87879..b3db72c8 100644 --- a/applications/samples/backend/requirements.txt +++ b/applications/samples/backend/requirements.txt @@ -2,4 +2,4 @@ connexion[swagger-ui]==2.14.2 swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools >= 21.0.0 -Flask >= 2.1.0 +Flask<3.0.0 diff --git a/applications/volumemanager/server/requirements.txt b/applications/volumemanager/server/requirements.txt index 25d87879..b3db72c8 100644 --- a/applications/volumemanager/server/requirements.txt +++ b/applications/volumemanager/server/requirements.txt @@ -2,4 +2,4 @@ connexion[swagger-ui]==2.14.2 swagger-ui-bundle >= 0.0.2 python_dateutil >= 2.6.0 setuptools >= 21.0.0 -Flask >= 2.1.0 +Flask<3.0.0 diff --git a/infrastructure/common-images/cloudharness-flask/requirements.txt b/infrastructure/common-images/cloudharness-flask/requirements.txt index 519bd654..b3d67d34 100644 --- a/infrastructure/common-images/cloudharness-flask/requirements.txt +++ b/infrastructure/common-images/cloudharness-flask/requirements.txt @@ -1,5 +1,5 @@ connexion[swagger-ui]==2.14.2 -Flask>=2.1.0 +Flask<3.0.0 Flask-Cors>=4.0.0 gunicorn>=21.2.0 itsdangerous>=2.1.2 From d4c03cfdad8e27528d56fb90cc06be9f3a6ea998 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Wed, 17 Jan 2024 15:55:43 +0100 Subject: [PATCH 09/43] CH-109 Fix jupyterhub python dependency --- applications/jupyterhub/src/harness_jupyter/setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/applications/jupyterhub/src/harness_jupyter/setup.py b/applications/jupyterhub/src/harness_jupyter/setup.py index d8e03b51..c21230a0 100755 --- a/applications/jupyterhub/src/harness_jupyter/setup.py +++ b/applications/jupyterhub/src/harness_jupyter/setup.py @@ -2,6 +2,7 @@ REQUIREMENTS = [ 'jupyterhub-kubespawner', + 'kubernetes==20.13.0' ] setup( From f98c938c6b0b431d07d351eb94dfc73181cc6d60 Mon Sep 17 00:00:00 2001 From: Afonso Pinto Date: Fri, 19 Jan 2024 14:56:15 +0000 Subject: [PATCH 10/43] Update cloud-harness-wsl2-setup.md --- docs/tutorials/cloud-harness-wsl2-setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/cloud-harness-wsl2-setup.md b/docs/tutorials/cloud-harness-wsl2-setup.md index 41f839d1..7caa0289 100644 --- a/docs/tutorials/cloud-harness-wsl2-setup.md +++ b/docs/tutorials/cloud-harness-wsl2-setup.md @@ -52,7 +52,7 @@ C:\Windows\System32\drivers\etc\hosts There are certain scripts that need to be run when running the CloudHarness and its dependent applications for the first time in a system. These are `sc.yaml` and `cluster-init.sh` which can be found in the following path w.r.t. cloud-harness. ``` -kubectl apply -f cloudharness/deployment/sc.yaml +kubectl apply -f cloud-harness/deployment/sc.yaml ``` ``` From c5451ca5d6accfedb7d62e85debf33a05c0e0a95 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Fri, 19 Jan 2024 18:29:48 +0100 Subject: [PATCH 11/43] CH-109 update frontend libraries --- .../flask-server/backend/requirements.txt | 5 + .../flask-server/backend/setup.py | 41 + application-templates/webapp/Dockerfile | 18 +- .../webapp/frontend/package.json | 24 +- .../webapp/frontend/src/assets/icon.png | Bin 35505 -> 180296 bytes .../frontend/src/components/RestTest.tsx | 4 +- .../webapp/frontend/webpack.config.dev.js | 7 +- .../webapp/frontend/webpack.config.js | 80 +- applications/samples/Dockerfile | 6 +- .../samples/frontend/package-lock.json | 8800 ----------------- applications/samples/frontend/package.json | 22 +- applications/samples/frontend/src/App.tsx | 2 +- .../samples/frontend/src/assets/icon.png | Bin 35505 -> 180296 bytes .../frontend/src/components/RestTest.tsx | 4 +- .../samples/frontend/webpack.config.dev.js | 9 +- .../samples/frontend/webpack.config.js | 80 +- applications/samples/frontend/yarn.lock | 7363 ++++++++++++++ 17 files changed, 7556 insertions(+), 8909 deletions(-) create mode 100644 application-templates/flask-server/backend/requirements.txt create mode 100644 application-templates/flask-server/backend/setup.py delete mode 100644 applications/samples/frontend/package-lock.json create mode 100644 applications/samples/frontend/yarn.lock diff --git a/application-templates/flask-server/backend/requirements.txt b/application-templates/flask-server/backend/requirements.txt new file mode 100644 index 00000000..b3db72c8 --- /dev/null +++ b/application-templates/flask-server/backend/requirements.txt @@ -0,0 +1,5 @@ +connexion[swagger-ui]==2.14.2 +swagger-ui-bundle >= 0.0.2 +python_dateutil >= 2.6.0 +setuptools >= 21.0.0 +Flask<3.0.0 diff --git a/application-templates/flask-server/backend/setup.py b/application-templates/flask-server/backend/setup.py new file mode 100644 index 00000000..e3caeb8c --- /dev/null +++ b/application-templates/flask-server/backend/setup.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +import sys +from setuptools import setup, find_packages + +NAME = "__APP_NAME__" +VERSION = "1.0.0" + +# To install the library, run the following +# +# python setup.py install +# +# prerequisite: setuptools +# http://pypi.python.org/pypi/setuptools + +REQUIRES = [ + "connexion>=2.0.2", + "swagger-ui-bundle>=0.0.2", + "python_dateutil>=2.6.0", + "pyjwt>=2.6.0", + "cloudharness" +] + +setup( + name=NAME, + version=VERSION, + description="__APP_NAME__", + author_email="cloudharness@metacell.us", + url="", + keywords=["OpenAPI", "__APP_NAME__"], + install_requires=REQUIRES, + packages=find_packages(), + package_data={'': ['openapi/openapi.yaml']}, + include_package_data=True, + entry_points={ + 'console_scripts': ['__APP_NAME__=__APP_NAME__.__main__:main']}, + long_description="""\ + __APP_NAME__ + """ +) + diff --git a/application-templates/webapp/Dockerfile b/application-templates/webapp/Dockerfile index a005a9fa..2925caf5 100644 --- a/application-templates/webapp/Dockerfile +++ b/application-templates/webapp/Dockerfile @@ -7,28 +7,28 @@ ENV APP_DIR=/app WORKDIR ${APP_DIR} COPY frontend/package.json ${APP_DIR} -COPY frontend/package-lock.json ${APP_DIR} -RUN npm ci +COPY frontend/yarn.lock ${APP_DIR} +RUN yarn install --frozen-lockfile --timeout 60000 COPY frontend ${APP_DIR} -RUN npm run build +RUN yarn build ##### - FROM $CLOUDHARNESS_FLASK - -ENV MODULE_NAME=__APP_NAME__ +ENV MODULE_NAME=samples ENV WORKERS=2 ENV PORT=8080 COPY backend/requirements.txt /usr/src/app/ -RUN pip3 install --no-cache-dir -r requirements.txt +RUN --mount=type=cache,target=/root/.cache python -m pip install --upgrade pip &&\ + pip3 install -r requirements.txt --prefer-binary COPY backend/ /usr/src/app -RUN pip3 install -e . COPY --from=frontend app/dist/ /usr/src/app/www -ENTRYPOINT gunicorn --workers=$WORKERS --bind=0.0.0.0:$PORT $MODULE_NAME.__main__:app \ No newline at end of file +RUN pip3 install -e . + +CMD gunicorn --workers=$WORKERS --bind=0.0.0.0:$PORT $MODULE_NAME.__main__:app --timeout 180 \ No newline at end of file diff --git a/application-templates/webapp/frontend/package.json b/application-templates/webapp/frontend/package.json index 58a41207..7f1a98b3 100644 --- a/application-templates/webapp/frontend/package.json +++ b/application-templates/webapp/frontend/package.json @@ -11,10 +11,10 @@ "prestart": "eslint . --color --fix", "start": "webpack serve --progress --env DOMAIN=http://localhost:5000 --config webpack.config.dev.js", "start:dev": "webpack serve --progress --env.DOMAIN=https://__APP_NAME__.cloudharness.metacell.us --config webpack.config.dev.js", - "start:minikube": "webpack serve --progress --env DOMAIN=http://__APP_NAME__.cloudharness.local --config webpack.config.dev.js" + "start:local": "webpack serve --progress --env DOMAIN=http://__APP_NAME__.ch.local --config webpack.config.dev.js" }, "author": "", - "license": "ISC", + "license": "MIT", "dependencies": { "axios": "^0.21.1", "react": "^16.12.0", @@ -28,7 +28,6 @@ "@babel/plugin-proposal-class-properties": "^7.8.3", "@babel/preset-env": "^7.8.3", "@babel/preset-react": "^7.8.3", - "awesome-typescript-loader": "^5.2.1", "babel-eslint": "^10.1.0", "babel-loader": "^8.0.6", "babel-plugin-module-resolver": "^4.0.0", @@ -36,23 +35,26 @@ "clean-webpack-plugin": "^3.0.0", "compression-webpack-plugin": "^7.1.2", "copy-webpack-plugin": "^6.2.1", - "css-loader": "^3.4.2", + "css-loader": "^5.2.4", + "dotenv": "^16.0.2", "eslint": "5.16.0", "eslint-plugin-jest": "^23.8.2", "eslint-plugin-react": "^7.19.0", "eslint-plugin-react-hooks": "^3.0.0", "file-loader": "^5.0.2", "html-loader": "^0.5.5", - "html-webpack-plugin": "^4.5.1", + "html-webpack-plugin": "^5.5.0", + "image-webpack-loader": "^8.1.0", "less": "^3.10.3", - "less-loader": "^5.0.0", + "less-loader": "^6.1.2", "less-vars-to-js": "^1.3.0", "raw-loader": "^4.0.2", "style-loader": "^1.1.3", - "typescript": "^3.9.3", - "webpack": "^5.0.0", - "webpack-cli": "^4.3.1", - "webpack-dev-server": "^3.11.1", - "webpack-merge": "^5.0.0" + "ts-loader": "^9.0.0", + "typescript": "^4.8.3", + "webpack": "^5.61.0", + "webpack-cli": "^4.6.0", + "webpack-dev-server": "^4.5.0", + "webpack-merge": "^5.7.0" } } diff --git a/application-templates/webapp/frontend/src/assets/icon.png b/application-templates/webapp/frontend/src/assets/icon.png index 1966e6ddade324846b39edd3aad248e7c61deaef..9e151f12c2f870fb78ffaf925269b205ae64920a 100644 GIT binary patch literal 180296 zcmeEtc|4Tg`}diJnUq}!Wh+!dB__!XS(CM7$ud!qtYrx?lNNir)WoEl|27ZaUU~6Ikidtnx;RmdzzJ)#j zrMK6wp5y^&dY_r0{;`Xwi9U zzLblY+3CjUz8NmLs9vBJXY_n2P%nyjSs|{_y{j%c_hRb>&h+fuhZHPi?cX2G!$j17 z{|2`d0senJ@NfO!5C1CzX#M|d2me3F;64m8gHJyE{o1s1YJJBZROfO3koUan03c9x zJ`1eWbuBK2&kkJ~Uxe-)BagVQw1Zl{dhDoG>{uDDd3`wyp%}#M^asK7)l@ z0O(tIA|4PH@j}VkRh-{1U({J}x}qYgM22@_SLDk}-1F5Xq09P|(b@2w>FWWgIShmV z)zVQdpSZo+jdv-h`EuPabR7c{0zn@#)dI3zHFjk@l_+$=zYA}sSpB-kea4QhxUIKN z$hF_~(&|=M800NaKDsN^ z#W`)GGh47mhSynuzm+&;*UjG8w+;npeprA4dD(W?mW_71<_W_2@#AB-=3s2~)aa=j ziML&sN5UO6{1#dESE3D~0Z5GnasVio;{VuXT};+lu*k8J#lg2~EZ9^XhfU(C&h#N~ z>i}WCiN$MJ6dcF0gN5Z^H-M0pI#K_E9c2F_3cLHKb+%^ zT`!RlaE{+pRCJFDSu0ov&>%ojo(P#5)G9ED8pD-5^8PrVd1bI-_nYooT;s*>c-#UH z1_g915Xt2Zg@}zJB9m6_78I|*q^%BK{2VO!vVVUGWxta{HwjP|L;)6z-1ybC)Zv(I zeHYP^LxX|7SNbCzoZdPfH6Dxvv=ycRnhL-!#St81`^XOXSvNY085LJ_`4JWqya5Zm zl%OoAytS@*5_1?xqNujsK||+SgAqTf=G;BgbNzsm-fq2>^K4lw9`6U8?Vd0^~#9YyMUJ539d3&^R~F(5>*jcQsO zwbiO|$?_^2c*!cmEqb9TTA%hbJzglC-R~s8BM>jh3kZ_Pk}yw?Ga8rrn;99q>p^+S z1#PI_xQCZ{u8>ab(&16NEtnugrc)}8%E9l20T%RJY51`E-nPf8bPLt;Q#}fh6`Qjz zcs-rLO-g7Zf8qg-8@Tjdeg@~JKJ-!Z@s@<5&pEi~Zbju3?FKwtn z+I*79%8t(%250|eG$_9&g(lU$o&GcW^NYY`VSIcq0KRh2Y|2~DmqwM^$^wE6^3wZE zKaI5evz8QZJa|^=eQJg*rsEtC9nAF)% zUy671v=ue0w5#&%`PDvog(GBM6>&~4x2l2NeA|uEZ|7DvO&nKhtC)(|GUWNK@khio z%d?tusaKaKPQIV~vEoLyaRIcox^^(`Biz>p2g6T~3T*;} zq6R+pk3DlZpxJw+EIrT!F!WW`WjcQeQk6a=)nIf&c!7XE4w4%zWa6kH7tk2clbg5s zt*OyIEci-$(5n7vvqmGvGsWf=U_>E-7I(5-9RyvOkp%(vHhXV;z08yaz7o@+L%Mzk zH*ZYk5AWIs7)6Ky)@@IYop1aLNZNS#UaiBC^*3~)uU!E_pI)ZxQPiEUqO$gqwM+px zF`AhD#v71BZ3;75cg!yvmTmzxDv#1=1ZguA8dRM~7bkz01BJ)0p@#N6z@c}&!~nl6 zj2tMbXyA+V2m{pg-9~^RWk3NXX=8O|;oL&KeDVHu7&I71rj{07!GPnV2bKYF-Ya{S zP%MvUqZoaLLIJ|O@w;E8Xvl$pTLAv2_?QTHkb|BwfVvgRtZ8O0^0=fBxQOiC)dnMi zpy#>(6);`kL;*Ulselm;-;#qPCqCZf0V7E}=Csqggp}Z8Yl-HQjKYj|ve0D`ZUQhj z);$k;C<|&#A(83=&cu_~?7O0TfEfbEGIdMI>N*%>d&YEC5YHecU~17(n}T6`ITfUbKcCZ1+8Gk8vQt=PrBi7Cd

W4lcADx{QoQ;g> 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

vr80}oM`2d@f!3_JHYWA7I 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ð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 literal 35505 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 h { const [result, setResult] = useState(null); useEffect(() => { - test.ping().then(r => setResult(r)); + test.ping().then(r => setResult(r), () => setResult({ data: "API error"})); }, []); - return result &&

Backend answered: { result.data }

+ return result ?

Backend answered: { result.data }

:

Backend did not answer

} export default RestTest; \ No newline at end of file diff --git a/application-templates/webapp/frontend/webpack.config.dev.js b/application-templates/webapp/frontend/webpack.config.dev.js index ea3e8266..3c6a33ce 100644 --- a/application-templates/webapp/frontend/webpack.config.dev.js +++ b/application-templates/webapp/frontend/webpack.config.dev.js @@ -20,10 +20,13 @@ module.exports = env => { const devServer = { - contentBase: path.join(__dirname, 'dist'), + static: [{ + directory: path.resolve(__dirname, 'dist'), + publicPath: '/', + }], compress: true, + https: env.DOMAIN.includes("https"), port: Number(env.devPort), - disableHostCheck: true, historyApiFallback: true, proxy: { '/api/': { diff --git a/application-templates/webapp/frontend/webpack.config.js b/application-templates/webapp/frontend/webpack.config.js index b2dca762..ad5ee556 100644 --- a/application-templates/webapp/frontend/webpack.config.js +++ b/application-templates/webapp/frontend/webpack.config.js @@ -1,11 +1,11 @@ -const path = require('path'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const CompressionPlugin = require('compression-webpack-plugin'); -const { CleanWebpackPlugin } = require('clean-webpack-plugin'); -const CopyWebpackPlugin = require('copy-webpack-plugin'); +const path = require("path"); +const HtmlWebpackPlugin = require("html-webpack-plugin"); +const CompressionPlugin = require("compression-webpack-plugin"); +const { CleanWebpackPlugin } = require("clean-webpack-plugin"); +const CopyWebpackPlugin = require("copy-webpack-plugin"); const copyPaths = [ - { from: path.resolve(__dirname, "src/assets"), to: 'assets' }, + { from: path.resolve(__dirname, "src/assets"), to: "assets" }, ]; module.exports = function webpacking(envVariables) { @@ -14,24 +14,23 @@ module.exports = function webpacking(envVariables) { env = {}; } if (!env.mode) { - env.mode = 'production'; + env.mode = "production"; } - - console.log('####################'); - console.log('####################'); - console.log('BUILD bundle with parameters:'); - console.log( env); - console.log('####################'); - console.log('####################'); + console.log("####################"); + console.log("####################"); + console.log("BUILD bundle with parameters:"); + console.log(env); + console.log("####################"); + console.log("####################"); const { mode } = env; - const devtool = env.mode === 'source-map'; - + const devtool = "source-map"; const output = { - path: path.resolve(__dirname, 'dist'), - filename: '[name].[contenthash].js' + path: path.resolve(__dirname, "dist"), + filename: "[name].[contenthash].js", + publicPath: "/" }; const module = { @@ -39,11 +38,19 @@ module.exports = function webpacking(envVariables) { { test: /\.(js|jsx)$/, exclude: /node_modules/, - loader: 'babel-loader' + loader: "babel-loader", }, { - test: /\.ts|tsx?$/, - loader: "awesome-typescript-loader" + test: /\.ts(x?)$/, + include: path.resolve(__dirname, 'src'), + use: [ + { + loader: "ts-loader", + options: { + transpileOnly: true, + }, + } + ] }, { test: /\.(css)$/, @@ -53,7 +60,8 @@ module.exports = function webpacking(envVariables) { }, { loader: "css-loader", - }], + }, + ], }, { test: /\.less$/, @@ -76,27 +84,33 @@ module.exports = function webpacking(envVariables) { }, { test: /\.(png|jpg|gif|eot|woff|woff2|svg|ttf)$/, - loader: 'file-loader' + use: [ + "file-loader", + { + loader: "image-webpack-loader", + options: { + bypassOnDebug: true, // webpack@1.x + disable: true, // webpack@2.x and newer + }, + }, + ], }, - - ] + ], }; const resolve = { - extensions: ['*', '.js', '.json', '.ts', '.tsx', '.jsx'], - symlinks: false + extensions: ["*", ".js", ".json", ".ts", ".tsx", ".jsx"], + symlinks: false, }; - - const plugins = [ new CleanWebpackPlugin(), new CopyWebpackPlugin({ patterns: copyPaths }), new CompressionPlugin(), new HtmlWebpackPlugin({ - template: 'src/index.ejs', - favicon: path.join(__dirname, 'src/assets/icon.png') - }) + template: "src/index.ejs", + favicon: path.join(__dirname, "src/assets/icon.png"), + }), ]; return { @@ -105,6 +119,6 @@ module.exports = function webpacking(envVariables) { output, module, resolve, - plugins + plugins, }; }; diff --git a/applications/samples/Dockerfile b/applications/samples/Dockerfile index 405bf911..2925caf5 100644 --- a/applications/samples/Dockerfile +++ b/applications/samples/Dockerfile @@ -7,11 +7,11 @@ ENV APP_DIR=/app WORKDIR ${APP_DIR} COPY frontend/package.json ${APP_DIR} -COPY frontend/package-lock.json ${APP_DIR} -RUN npm ci +COPY frontend/yarn.lock ${APP_DIR} +RUN yarn install --frozen-lockfile --timeout 60000 COPY frontend ${APP_DIR} -RUN npm run build +RUN yarn build ##### FROM $CLOUDHARNESS_FLASK diff --git a/applications/samples/frontend/package-lock.json b/applications/samples/frontend/package-lock.json deleted file mode 100644 index 9f88d053..00000000 --- a/applications/samples/frontend/package-lock.json +++ /dev/null @@ -1,8800 +0,0 @@ -{ - "name": "samples", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/compat-data": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz", - "integrity": "sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==", - "dev": true - }, - "@babel/core": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", - "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.10", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.10", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, - "@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", - "dev": true, - "requires": { - "@babel/types": "^7.12.11", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", - "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", - "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.12.5", - "@babel/helper-validator-option": "^7.12.1", - "browserslist": "^4.14.5", - "semver": "^5.5.0" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", - "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "regexpu-core": "^4.7.1" - } - }, - "@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" - } - }, - "@babel/helper-explode-assignable-expression": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", - "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", - "dev": true, - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", - "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", - "dev": true, - "requires": { - "@babel/types": "^7.12.7" - } - }, - "@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", - "dev": true, - "requires": { - "@babel/types": "^7.12.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "lodash": "^4.17.19" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", - "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", - "dev": true, - "requires": { - "@babel/types": "^7.12.10" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", - "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-replace-supers": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", - "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.7", - "@babel/helper-optimise-call-expression": "^7.12.10", - "@babel/traverse": "^7.12.10", - "@babel/types": "^7.12.11" - } - }, - "@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", - "dev": true, - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", - "dev": true, - "requires": { - "@babel/types": "^7.12.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", - "dev": true, - "requires": { - "@babel/types": "^7.12.11" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz", - "integrity": "sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", - "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", - "dev": true, - "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", - "dev": true - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", - "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0" - } - }, - "@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", - "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" - } - }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", - "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-proposal-json-strings": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", - "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.0" - } - }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", - "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", - "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" - } - }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz", - "integrity": "sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" - } - }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", - "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz", - "integrity": "sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - } - }, - "@babel/plugin-proposal-private-methods": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", - "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", - "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", - "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", - "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", - "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", - "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", - "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", - "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", - "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", - "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", - "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", - "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", - "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", - "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", - "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", - "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", - "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", - "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.12.1", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", - "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-identifier": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", - "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", - "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", - "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", - "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", - "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", - "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz", - "integrity": "sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-react-jsx": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.12.tgz", - "integrity": "sha512-JDWGuzGNWscYcq8oJVCtSE61a5+XAOos+V0HrxnDieUus4UMnBEosDnY1VJqU5iZ4pA04QY7l0+JvHL1hZEfsw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.12.10", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-jsx": "^7.12.1", - "@babel/types": "^7.12.12" - } - }, - "@babel/plugin-transform-react-jsx-development": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.12.tgz", - "integrity": "sha512-i1AxnKxHeMxUaWVXQOSIco4tvVvvCxMSfeBMnMM06mpaJt3g+MpxYQQrDfojUQldP1xxraPSJYSMEljoWM/dCg==", - "dev": true, - "requires": { - "@babel/plugin-transform-react-jsx": "^7.12.12" - } - }, - "@babel/plugin-transform-react-pure-annotations": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz", - "integrity": "sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", - "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", - "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", - "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", - "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", - "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", - "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", - "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", - "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", - "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", - "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/preset-env": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz", - "integrity": "sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.12.7", - "@babel/helper-compilation-targets": "^7.12.5", - "@babel/helper-module-imports": "^7.12.5", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.11", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.7", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.7", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.11", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.7", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.10", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.11", - "core-js-compat": "^3.8.0", - "semver": "^5.5.0" - } - }, - "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/preset-react": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.10.tgz", - "integrity": "sha512-vtQNjaHRl4DUpp+t+g4wvTHsLQuye+n0H/wsXIZRn69oz/fvNC7gQ4IK73zGJBaxvHoxElDvnYCthMcT7uzFoQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-transform-react-display-name": "^7.12.1", - "@babel/plugin-transform-react-jsx": "^7.12.10", - "@babel/plugin-transform-react-jsx-development": "^7.12.7", - "@babel/plugin-transform-react-pure-annotations": "^7.12.1" - } - }, - "@babel/runtime": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", - "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" - } - }, - "@babel/traverse": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", - "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.12.11", - "@babel/generator": "^7.12.11", - "@babel/helper-function-name": "^7.12.11", - "@babel/helper-split-export-declaration": "^7.12.11", - "@babel/parser": "^7.12.11", - "@babel/types": "^7.12.12", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "@discoveryjs/json-ext": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", - "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", - "dev": true - }, - "@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.4", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.4", - "fastq": "^1.6.0" - } - }, - "@npmcli/move-file": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz", - "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==", - "dev": true, - "requires": { - "mkdirp": "^1.0.4" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } - } - }, - "@types/anymatch": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", - "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", - "dev": true - }, - "@types/eslint": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.6.tgz", - "integrity": "sha512-I+1sYH+NPQ3/tVqCeUSBwTE/0heyvtXqpIopUUArlBm0Kpocb8FbMa3AZ/ASKIFpN3rnEx932TTXDbt9OXsNDw==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", - "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "0.0.45", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.45.tgz", - "integrity": "sha512-jnqIUKDUqJbDIUxm0Uj7bnlMnRm1T/eZ9N+AVMqhPgzrba2GhGG5o/jCTwmdPK709nEZsGoMzXEDUjcXHa3W0g==", - "dev": true - }, - "@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==", - "dev": true - }, - "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "@types/node": { - "version": "14.14.20", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.20.tgz", - "integrity": "sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A==", - "dev": true - }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "@types/tapable": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", - "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==", - "dev": true - }, - "@types/uglify-js": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz", - "integrity": "sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@types/webpack": { - "version": "4.41.25", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.25.tgz", - "integrity": "sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==", - "dev": true, - "requires": { - "@types/anymatch": "*", - "@types/node": "*", - "@types/tapable": "*", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "@types/webpack-sources": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", - "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "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==", - "dev": true - } - } - }, - "@typescript-eslint/experimental-utils": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz", - "integrity": "sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.34.0", - "eslint-scope": "^5.0.0", - "eslint-utils": "^2.0.0" - }, - "dependencies": { - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - } - } - }, - "@typescript-eslint/typescript-estree": { - "version": "2.34.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz", - "integrity": "sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg==", - "dev": true, - "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": "^7.3.2", - "tsutils": "^3.17.1" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - } - } - }, - "@webassemblyjs/ast": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", - "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==", - "dev": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz", - "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz", - "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz", - "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz", - "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==", - "dev": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.0", - "@webassemblyjs/helper-api-error": "1.11.0", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz", - "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz", - "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz", - "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz", - "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz", - "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz", - "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/helper-wasm-section": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0", - "@webassemblyjs/wasm-opt": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0", - "@webassemblyjs/wast-printer": "1.11.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz", - "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/ieee754": "1.11.0", - "@webassemblyjs/leb128": "1.11.0", - "@webassemblyjs/utf8": "1.11.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz", - "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-buffer": "1.11.0", - "@webassemblyjs/wasm-gen": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz", - "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/helper-api-error": "1.11.0", - "@webassemblyjs/helper-wasm-bytecode": "1.11.0", - "@webassemblyjs/ieee754": "1.11.0", - "@webassemblyjs/leb128": "1.11.0", - "@webassemblyjs/utf8": "1.11.0" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz", - "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.11.0", - "@xtuc/long": "4.2.2" - } - }, - "@webpack-cli/info": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.1.tgz", - "integrity": "sha512-fLnDML5HZ5AEKzHul8xLAksoKN2cibu6MgonkUj8R9V7bbeVRkd1XbGEGWrAUNYHbX1jcqCsDEpBviE5StPMzQ==", - "dev": true, - "requires": { - "envinfo": "^7.7.3" - } - }, - "@webpack-cli/serve": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.2.1.tgz", - "integrity": "sha512-Zj1z6AyS+vqV6Hfi7ngCjFGdHV5EwZNIHo6QfFTNe9PyW+zBU1zJ9BiOW1pmUEq950RC4+Dym6flyA/61/vhyw==", - "dev": true - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", - "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true - }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true - }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "array-includes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz", - "integrity": "sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "get-intrinsic": "^1.0.1", - "is-string": "^1.0.5" - } - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "array.prototype.flatmap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", - "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "function-bind": "^1.1.1" - } - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "ast-types": { - "version": "0.9.6", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", - "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=", - "dev": true - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "awesome-typescript-loader": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/awesome-typescript-loader/-/awesome-typescript-loader-5.2.1.tgz", - "integrity": "sha512-slv66OAJB8orL+UUaTI3pKlLorwIvS4ARZzYR9iJJyGsEgOqueMfOMdKySWzZ73vIkEe3fcwFgsKMg4d8zyb1g==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "enhanced-resolve": "^4.0.0", - "loader-utils": "^1.1.0", - "lodash": "^4.17.5", - "micromatch": "^3.1.9", - "mkdirp": "^0.5.1", - "source-map-support": "^0.5.3", - "webpack-log": "^1.2.0" - } - }, - "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", - "requires": { - "follow-redirects": "^1.10.0" - } - }, - "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==", - "dev": true, - "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-helper-evaluate-path": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz", - "integrity": "sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==", - "dev": true - }, - "babel-helper-flip-expressions": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz", - "integrity": "sha1-NpZzahKKwYvCUlS19AoizrPB0/0=", - "dev": true - }, - "babel-helper-is-nodes-equiv": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz", - "integrity": "sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=", - "dev": true - }, - "babel-helper-is-void-0": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz", - "integrity": "sha1-fZwBtFYee5Xb2g9u7kj1tg5nMT4=", - "dev": true - }, - "babel-helper-mark-eval-scopes": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz", - "integrity": "sha1-0kSjvvmESHJgP/tG4izorN9VFWI=", - "dev": true - }, - "babel-helper-remove-or-void": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz", - "integrity": "sha1-pPA7QAd6D/6I5F0HAQ3uJB/1rmA=", - "dev": true - }, - "babel-helper-to-multiple-sequence-expressions": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz", - "integrity": "sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==", - "dev": true - }, - "babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", - "dev": true, - "requires": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - } - }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "requires": { - "object.assign": "^4.1.0" - } - }, - "babel-plugin-minify-builtins": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz", - "integrity": "sha512-wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag==", - "dev": true - }, - "babel-plugin-minify-constant-folding": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz", - "integrity": "sha512-Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ==", - "dev": true, - "requires": { - "babel-helper-evaluate-path": "^0.5.0" - } - }, - "babel-plugin-minify-dead-code-elimination": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.1.tgz", - "integrity": "sha512-x8OJOZIrRmQBcSqxBcLbMIK8uPmTvNWPXH2bh5MDCW1latEqYiRMuUkPImKcfpo59pTUB2FT7HfcgtG8ZlR5Qg==", - "dev": true, - "requires": { - "babel-helper-evaluate-path": "^0.5.0", - "babel-helper-mark-eval-scopes": "^0.4.3", - "babel-helper-remove-or-void": "^0.4.3", - "lodash": "^4.17.11" - } - }, - "babel-plugin-minify-flip-comparisons": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz", - "integrity": "sha1-AMqHDLjxO0XAOLPB68DyJyk8llo=", - "dev": true, - "requires": { - "babel-helper-is-void-0": "^0.4.3" - } - }, - "babel-plugin-minify-guarded-expressions": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.4.tgz", - "integrity": "sha512-RMv0tM72YuPPfLT9QLr3ix9nwUIq+sHT6z8Iu3sLbqldzC1Dls8DPCywzUIzkTx9Zh1hWX4q/m9BPoPed9GOfA==", - "dev": true, - "requires": { - "babel-helper-evaluate-path": "^0.5.0", - "babel-helper-flip-expressions": "^0.4.3" - } - }, - "babel-plugin-minify-infinity": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz", - "integrity": "sha1-37h2obCKBldjhO8/kuZTumB7Oco=", - "dev": true - }, - "babel-plugin-minify-mangle-names": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz", - "integrity": "sha512-3jdNv6hCAw6fsX1p2wBGPfWuK69sfOjfd3zjUXkbq8McbohWy23tpXfy5RnToYWggvqzuMOwlId1PhyHOfgnGw==", - "dev": true, - "requires": { - "babel-helper-mark-eval-scopes": "^0.4.3" - } - }, - "babel-plugin-minify-numeric-literals": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz", - "integrity": "sha1-jk/VYcefeAEob/YOjF/Z3u6TwLw=", - "dev": true - }, - "babel-plugin-minify-replace": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz", - "integrity": "sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q==", - "dev": true - }, - "babel-plugin-minify-simplify": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.1.tgz", - "integrity": "sha512-OSYDSnoCxP2cYDMk9gxNAed6uJDiDz65zgL6h8d3tm8qXIagWGMLWhqysT6DY3Vs7Fgq7YUDcjOomhVUb+xX6A==", - "dev": true, - "requires": { - "babel-helper-evaluate-path": "^0.5.0", - "babel-helper-flip-expressions": "^0.4.3", - "babel-helper-is-nodes-equiv": "^0.0.1", - "babel-helper-to-multiple-sequence-expressions": "^0.5.0" - } - }, - "babel-plugin-minify-type-constructors": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz", - "integrity": "sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA=", - "dev": true, - "requires": { - "babel-helper-is-void-0": "^0.4.3" - } - }, - "babel-plugin-module-resolver": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.1.0.tgz", - "integrity": "sha512-MlX10UDheRr3lb3P0WcaIdtCSRlxdQsB1sBqL7W0raF070bGl1HQQq5K3T2vf2XAYie+ww+5AKC/WrkjRO2knA==", - "dev": true, - "requires": { - "find-babel-config": "^1.2.0", - "glob": "^7.1.6", - "pkg-up": "^3.1.0", - "reselect": "^4.0.0", - "resolve": "^1.13.1" - } - }, - "babel-plugin-transform-inline-consecutive-adds": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz", - "integrity": "sha1-Mj1Ho+pjqDp6w8gRro5pQfrysNE=", - "dev": true - }, - "babel-plugin-transform-member-expression-literals": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz", - "integrity": "sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8=", - "dev": true - }, - "babel-plugin-transform-merge-sibling-variables": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz", - "integrity": "sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4=", - "dev": true - }, - "babel-plugin-transform-minify-booleans": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz", - "integrity": "sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=", - "dev": true - }, - "babel-plugin-transform-property-literals": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz", - "integrity": "sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk=", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "babel-plugin-transform-regexp-constructors": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz", - "integrity": "sha1-WLd3W2OvzzMyj66aX4j71PsLSWU=", - "dev": true - }, - "babel-plugin-transform-remove-console": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz", - "integrity": "sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=", - "dev": true - }, - "babel-plugin-transform-remove-debugger": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz", - "integrity": "sha1-QrcnYxyXl44estGZp67IShgznvI=", - "dev": true - }, - "babel-plugin-transform-remove-undefined": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz", - "integrity": "sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ==", - "dev": true, - "requires": { - "babel-helper-evaluate-path": "^0.5.0" - } - }, - "babel-plugin-transform-simplify-comparison-operators": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz", - "integrity": "sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=", - "dev": true - }, - "babel-plugin-transform-undefined-to-void": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz", - "integrity": "sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=", - "dev": true - }, - "babel-preset-minify": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-minify/-/babel-preset-minify-0.5.1.tgz", - "integrity": "sha512-1IajDumYOAPYImkHbrKeiN5AKKP9iOmRoO2IPbIuVp0j2iuCcj0n7P260z38siKMZZ+85d3mJZdtW8IgOv+Tzg==", - "dev": true, - "requires": { - "babel-plugin-minify-builtins": "^0.5.0", - "babel-plugin-minify-constant-folding": "^0.5.0", - "babel-plugin-minify-dead-code-elimination": "^0.5.1", - "babel-plugin-minify-flip-comparisons": "^0.4.3", - "babel-plugin-minify-guarded-expressions": "^0.4.4", - "babel-plugin-minify-infinity": "^0.4.3", - "babel-plugin-minify-mangle-names": "^0.5.0", - "babel-plugin-minify-numeric-literals": "^0.4.3", - "babel-plugin-minify-replace": "^0.5.0", - "babel-plugin-minify-simplify": "^0.5.1", - "babel-plugin-minify-type-constructors": "^0.4.3", - "babel-plugin-transform-inline-consecutive-adds": "^0.4.3", - "babel-plugin-transform-member-expression-literals": "^6.9.4", - "babel-plugin-transform-merge-sibling-variables": "^6.9.4", - "babel-plugin-transform-minify-booleans": "^6.9.4", - "babel-plugin-transform-property-literals": "^6.9.4", - "babel-plugin-transform-regexp-constructors": "^0.4.3", - "babel-plugin-transform-remove-console": "^6.9.4", - "babel-plugin-transform-remove-debugger": "^6.9.4", - "babel-plugin-transform-remove-undefined": "^0.5.0", - "babel-plugin-transform-simplify-comparison-operators": "^6.9.4", - "babel-plugin-transform-undefined-to-void": "^6.9.4", - "lodash": "^4.17.11" - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dev": true, - "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==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "browserslist": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.1.tgz", - "integrity": "sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001173", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.634", - "escalade": "^3.1.1", - "node-releases": "^1.1.69" - } - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.1.tgz", - "integrity": "sha512-tvAvUwNcRikl3RVF20X9lsYmmepsovzTWeJiXjO0PkJp15uy/6xKFZOQtuiSULwYW+6ToZBprphCgWXC2dSgcQ==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001174", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001174.tgz", - "integrity": "sha512-tqClL/4ThQq6cfFXH3oJL4rifFBeM6gTkphjao5kgwMaW9yn0tKgQLAEfKzDwj6HQWCB/aWo8kTFlSvIN8geEA==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "dependencies": { - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - } - } - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "dev": true, - "requires": { - "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "clean-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz", - "integrity": "sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==", - "dev": true, - "requires": { - "@types/webpack": "^4.4.31", - "del": "^4.1.1" - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true - }, - "clipboard-copy": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/clipboard-copy/-/clipboard-copy-3.2.0.tgz", - "integrity": "sha512-vooFaGFL6ulEP1liiaWFBmmfuPm3cY3y7T9eB83ZTnYc/oFeAKsq3NcDrOkBC8XaauEE8zHQwI7k0+JSYiVQSQ==" - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", - "dev": true - }, - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "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==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "compression-webpack-plugin": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-7.1.2.tgz", - "integrity": "sha512-9DKNW6ILLjx+bNBoviHDgLx6swBhWWH9ApClC9sTH2NoFfQM47BapQfovCm9zjD9v1uZwInF5a925FB9ErGQeQ==", - "dev": true, - "requires": { - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1" - }, - "dependencies": { - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dev": true, - "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==", - "dev": true - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "copy-anything": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.1.tgz", - "integrity": "sha512-lA57e7viQHOdPQcrytv5jFeudZZOXuyk47lZym279FiDQ8jeZomXiGuVf6ffMKkJ+3TIai3J1J3yi6M+/4U35g==", - "dev": true, - "requires": { - "is-what": "^3.7.1" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "copy-webpack-plugin": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.4.1.tgz", - "integrity": "sha512-MXyPCjdPVx5iiWyl40Va3JGh27bKzOTNY3NjUTrosD2q7dR/cLD0013uqJ3BpFbUjyONINjb6qI7nDIJujrMbA==", - "dev": true, - "requires": { - "cacache": "^15.0.5", - "fast-glob": "^3.2.4", - "find-cache-dir": "^3.3.1", - "glob-parent": "^5.1.1", - "globby": "^11.0.1", - "loader-utils": "^2.0.0", - "normalize-path": "^3.0.0", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "webpack-sources": "^1.4.3" - }, - "dependencies": { - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "cacache": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", - "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", - "dev": true, - "requires": { - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.0", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, - "globby": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz", - "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "requires": { - "aggregate-error": "^3.0.0" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "ssri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", - "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - } - } - }, - "core-js-compat": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.2.tgz", - "integrity": "sha512-LO8uL9lOIyRRrQmZxHZFl1RV+ZbcsAkFWTktn5SmH40WgLtSNYN4m4W2v9ONT147PxBY/XrRhrWq8TlvObyUjQ==", - "dev": true, - "requires": { - "browserslist": "^4.16.0", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "css-loader": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", - "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.32", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^2.7.0", - "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==", - "dev": true - } - } - }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dev": true, - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", - "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", - "dev": true - } - } - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dev": true, - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - }, - "dependencies": { - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "requires": { - "tslib": "^2.0.3" - } - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", - "dev": true - } - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.635", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.635.tgz", - "integrity": "sha512-RRriZOLs9CpW6KTLmgBqyUdnY0QNqqWs0HOtuQGGEMizOTNNn1P7sGRBxARnUeLejOsgwjDyRqT3E/CSst02ZQ==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", - "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - } - }, - "enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "requires": { - "ansi-colors": "^4.1.1" - }, - "dependencies": { - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - } - } - }, - "entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", - "dev": true - }, - "envinfo": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz", - "integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==", - "dev": true - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", - "dev": true, - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dev": true, - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "es6-templates": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/es6-templates/-/es6-templates-0.2.3.tgz", - "integrity": "sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ=", - "dev": true, - "requires": { - "recast": "~0.11.12", - "through": "~2.3.6" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "eslint": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", - "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.9.1", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^4.0.3", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^5.0.1", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.7.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^6.2.2", - "js-yaml": "^3.13.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.11", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^5.5.1", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0" - }, - "dependencies": { - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - } - } - }, - "eslint-plugin-jest": { - "version": "23.20.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-23.20.0.tgz", - "integrity": "sha512-+6BGQt85OREevBDWCvhqj1yYA4+BFK4XnRZSGJionuEYmcglMZYLNNBBemwzbqUAckURaHdJSBcjHPyrtypZOw==", - "dev": true, - "requires": { - "@typescript-eslint/experimental-utils": "^2.5.0" - } - }, - "eslint-plugin-react": { - "version": "7.22.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.22.0.tgz", - "integrity": "sha512-p30tuX3VS+NWv9nQot9xIGAHBXR0+xJVaZriEsHoJrASGCJZDJ8JLNM0YqKqI0AKm6Uxaa1VUHoNEibxRCMQHA==", - "dev": true, - "requires": { - "array-includes": "^3.1.1", - "array.prototype.flatmap": "^1.2.3", - "doctrine": "^2.1.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "object.entries": "^1.1.2", - "object.fromentries": "^2.0.2", - "object.values": "^1.1.1", - "prop-types": "^15.7.2", - "resolve": "^1.18.1", - "string.prototype.matchall": "^4.0.2" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - } - } - }, - "eslint-plugin-react-hooks": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-3.0.0.tgz", - "integrity": "sha512-EjxTHxjLKIBWFgDJdhKKzLh5q+vjTFrqNZX36uIxWS4OfyXe5DawqPj3U5qeJ1ngLwatjzQnmR0Lz0J0YH3kxw==", - "dev": true - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "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==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^1.1.0" - } - }, - "eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true - }, - "espree": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", - "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", - "dev": true, - "requires": { - "acorn": "^6.0.7", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^1.0.0" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", - "dev": true - }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "dev": true, - "requires": { - "original": "^1.0.0" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dev": true, - "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": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "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=", - "dev": true - } - } - }, - "ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", - "dev": true, - "requires": { - "type": "^2.0.0" - }, - "dependencies": { - "type": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz", - "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==", - "dev": true - } - } - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", - "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" - }, - "dependencies": { - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fastest-levenshtein": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", - "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", - "dev": true - }, - "fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", - "dev": true - }, - "fastq": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz", - "integrity": "sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA==", - "dev": true, - "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==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "file-loader": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-5.1.0.tgz", - "integrity": "sha512-u/VkLGskw3Ue59nyOwUwXI/6nuBCo7KBkniB/l7ICwr/7cPNGsL1WCXUp3GB0qgOOKU1TiP49bv4DZF/LJqprg==", - "dev": true, - "requires": { - "loader-utils": "^1.4.0", - "schema-utils": "^2.5.0" - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "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==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "find-babel-config": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", - "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", - "dev": true, - "requires": { - "json5": "^0.5.1", - "path-exists": "^3.0.0" - }, - "dependencies": { - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } - } - }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "follow-redirects": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", - "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==" - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", - "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "requires": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" - } - }, - "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" - } - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", - "dev": true - }, - "html-loader": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-0.5.5.tgz", - "integrity": "sha512-7hIW7YinOYUpo//kSYcPB6dCKoceKLmOwjEMmhIobHuWGDVl0Nwe4l68mdG/Ru0wcUxQjVMEoZpkalZ/SE7zog==", - "dev": true, - "requires": { - "es6-templates": "^0.2.3", - "fastparse": "^1.1.1", - "html-minifier": "^3.5.8", - "loader-utils": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", - "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", - "dev": true, - "requires": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - } - }, - "html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", - "dev": true, - "requires": { - "camel-case": "^4.1.1", - "clean-css": "^4.2.3", - "commander": "^4.1.1", - "he": "^1.2.0", - "param-case": "^3.0.3", - "relateurl": "^0.2.7", - "terser": "^4.6.3" - }, - "dependencies": { - "camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dev": true, - "requires": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true - }, - "param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, - "requires": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - } - } - }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", - "dev": true - } - } - }, - "html-webpack-plugin": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.1.tgz", - "integrity": "sha512-yzK7RQZwv9xB+pcdHNTjcqbaaDZ+5L0zJHXfi89iWIZmb/FtzxhLk0635rmJihcQbs3ZUF27Xp4oWGx6EK56zg==", - "dev": true, - "requires": { - "@types/html-minifier-terser": "^5.0.0", - "@types/tapable": "^1.0.5", - "@types/webpack": "^4.41.8", - "html-minifier-terser": "^5.0.1", - "loader-utils": "^1.2.3", - "lodash": "^4.17.20", - "pretty-error": "^2.1.1", - "tapable": "^1.1.3", - "util.promisify": "1.0.0" - } - }, - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dev": true, - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "dev": true - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dev": true, - "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=", - "dev": true - } - } - }, - "http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", - "dev": true - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", - "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", - "dev": true, - "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==", - "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - } - }, - "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", - "dev": true, - "requires": { - "postcss": "^7.0.14" - } - }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true - }, - "image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", - "dev": true, - "optional": true - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "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==", - "dev": true - }, - "inquirer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", - "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", - "dev": true, - "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.12", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.1.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dev": true, - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - } - }, - "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==", - "dev": true, - "requires": { - "es-abstract": "^1.17.0-next.1", - "has": "^1.0.3", - "side-channel": "^1.0.2" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } - } - }, - "interpret": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", - "dev": true, - "requires": { - "call-bind": "^1.0.0" - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true - }, - "is-core-module": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", - "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dev": true, - "requires": { - "is-path-inside": "^2.1.0" - } - }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dev": true, - "requires": { - "path-is-inside": "^1.0.2" - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", - "dev": true - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-what": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.12.0.tgz", - "integrity": "sha512-2ilQz5/f/o9V7WRWJQmpFYNmQFZ9iM+OXRonZKcYgTkCzjb949Vi4h282PD1UfmgHk666rcWonbRJ++KI41VGw==", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dev": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "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.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", - "dev": true - }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "jsx-ast-utils": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", - "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", - "dev": true, - "requires": { - "array-includes": "^3.1.2", - "object.assign": "^4.1.2" - } - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "less": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/less/-/less-3.13.1.tgz", - "integrity": "sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw==", - "dev": true, - "requires": { - "copy-anything": "^2.0.1", - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "native-request": "^1.0.5", - "source-map": "~0.6.0", - "tslib": "^1.10.0" - }, - "dependencies": { - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "optional": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } - } - }, - "less-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-5.0.0.tgz", - "integrity": "sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg==", - "dev": true, - "requires": { - "clone": "^2.1.1", - "loader-utils": "^1.1.0", - "pify": "^4.0.1" - } - }, - "less-vars-to-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/less-vars-to-js/-/less-vars-to-js-1.3.0.tgz", - "integrity": "sha512-xeiLLn/IMCGtdyCkYQnW8UuzoW2oYMCKg9boZRaGI58fLz5r90bNJDlqGzmVt/1Uqk75/DxIVtQSNCMkE5fRZQ==", - "dev": true, - "requires": { - "strip-json-comments": "^2.0.1" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", - "dev": true - }, - "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", - "dev": true, - "requires": { - "chalk": "^2.0.1" - } - }, - "loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", - "dev": true - }, - "loglevelnext": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz", - "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", - "dev": true, - "requires": { - "es6-symbol": "^3.1.1", - "object.assign": "^4.1.0" - } - }, - "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" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.45.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", - "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", - "dev": true - }, - "mime-types": { - "version": "2.1.28", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", - "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", - "dev": true, - "requires": { - "mime-db": "1.45.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - }, - "mini-create-react-context": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz", - "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==", - "requires": { - "@babel/runtime": "^7.12.1", - "tiny-warning": "^1.0.3" - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "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==", - "dev": true - }, - "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "dev": true, - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "native-request": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/native-request/-/native-request-1.0.8.tgz", - "integrity": "sha512-vU2JojJVelUGp6jRcLwToPoWGxSx23z/0iX+I77J3Ht17rf2INGjrhOoQnjVo60nQd8wVsgzKkPfRXBiVdD2ag==", - "dev": true, - "optional": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "requires": { - "lower-case": "^1.1.1" - } - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "dev": true - }, - "node-releases": { - "version": "1.1.69", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.69.tgz", - "integrity": "sha512-DGIjo79VDEyAnRlfSqYTsy+yoHd2IOjJiKUozD2MV2D85Vso6Bug56mb9tT/fY5Urt0iqk01H7x+llAruDR2zA==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dev": true, - "requires": { - "boolbase": "~1.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", - "dev": true - }, - "object-is": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", - "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.entries": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", - "integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has": "^1.0.3" - } - }, - "object.fromentries": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.3.tgz", - "integrity": "sha512-IDUSMXs6LOSJBWE++L0lzIbSqHl9KDCfff2x/JSEIDtEUavUnyMYC2ZGay/04Zq4UT8lvd4xNhU4/YHKibAOlw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has": "^1.0.3" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", - "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.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=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", - "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has": "^1.0.3" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "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==", - "dev": true, - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true - }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "dev": true, - "requires": { - "retry": "^0.12.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dev": true, - "requires": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - }, - "dependencies": { - "lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dev": true, - "requires": { - "tslib": "^2.0.3" - } - }, - "no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "requires": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==", - "dev": true - } - } - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "path-to-regexp": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", - "requires": { - "isarray": "0.0.1" - } - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } - } - }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", - "dev": true, - "requires": { - "postcss": "^7.0.5" - } - }, - "postcss-modules-local-by-default": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz", - "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==", - "dev": true, - "requires": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.32", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", - "dev": true, - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - } - }, - "postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", - "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", - "dev": true, - "requires": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" - } - }, - "postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", - "util-deprecate": "^1.0.2" - } - }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "pretty-error": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", - "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", - "dev": true, - "requires": { - "lodash": "^4.17.20", - "renderkid": "^2.0.4" - } - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, - "process-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==", - "dev": true - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "dev": true, - "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=", - "dev": true - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true - } - } - }, - "raw-loader": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", - "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "react": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", - "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" - } - }, - "react-dom": { - "version": "16.14.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", - "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" - } - }, - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "react-router": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", - "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", - "requires": { - "@babel/runtime": "^7.1.2", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "mini-create-react-context": "^0.4.0", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - } - }, - "react-router-dom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", - "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", - "requires": { - "@babel/runtime": "^7.1.2", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.2.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - } - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "recast": { - "version": "0.11.23", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", - "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", - "dev": true, - "requires": { - "ast-types": "0.9.6", - "esprima": "~3.1.0", - "private": "~0.1.5", - "source-map": "~0.5.0" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - } - } - }, - "rechoir": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", - "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", - "dev": true, - "requires": { - "resolve": "^1.9.0" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "dev": true, - "requires": { - "regenerate": "^1.4.0" - } - }, - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - }, - "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", - "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } - } - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true - }, - "regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", - "dev": true, - "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" - } - }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, - "regjsparser": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.6.tgz", - "integrity": "sha512-jjyuCp+IEMIm3N1H1LLTJW1EISEJV9+5oHdEyrt43Pg9cDSb6rrLZei2cVWpl0xTjmmlpec/lEQGYgM7xfpGCQ==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "renderkid": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", - "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", - "dev": true, - "requires": { - "css-select": "^2.0.2", - "dom-converter": "^0.2", - "htmlparser2": "^3.10.1", - "lodash": "^4.17.20", - "strip-ansi": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "reselect": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.0.0.tgz", - "integrity": "sha512-qUgANli03jjAyGlnbYVAV5vvnOmJnODyABz51RdBN7M4WaVu8mecZWgyQNkG8Yqe3KRGRt0l4K4B3XVEULC4CA==", - "dev": true - }, - "resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", - "dev": true, - "requires": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - } - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", - "dev": true - }, - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selfsigned": { - "version": "1.10.8", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", - "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", - "dev": true, - "requires": { - "node-forge": "^0.10.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dev": true, - "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==", - "dev": true, - "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=", - "dev": true - } - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", - "dev": true, - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", - "websocket-driver": "^0.7.4" - } - }, - "sockjs-client": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", - "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", - "dev": true, - "requires": { - "debug": "^3.2.6", - "eventsource": "^1.0.7", - "faye-websocket": "^0.11.3", - "inherits": "^2.0.4", - "json3": "^3.3.3", - "url-parse": "^1.4.7" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, - "requires": { - "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.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "string.prototype.matchall": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.3.tgz", - "integrity": "sha512-OBxYDA2ifZQ2e13cP82dWFMaCV9CGF8GzmN4fljBVw5O5wep0lu4gacm1OL6MjROoUnB8VbkWRThqkV2YFLNxw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "has-symbols": "^1.0.1", - "internal-slot": "^1.0.2", - "regexp.prototype.flags": "^1.3.0", - "side-channel": "^1.0.3" - } - }, - "string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-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==", - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "style-loader": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", - "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^2.7.0" - }, - "dependencies": { - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", - "dev": true, - "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", - "dev": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } - } - }, - "terser": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", - "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, - "terser-webpack-plugin": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz", - "integrity": "sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q==", - "dev": true, - "requires": { - "jest-worker": "^26.6.2", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1", - "terser": "^5.5.1" - }, - "dependencies": { - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "dev": true, - "requires": { - "randombytes": "^2.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==", - "dev": true - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "tiny-invariant": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", - "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" - }, - "tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "dev": true - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "tsutils": { - "version": "3.19.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.19.1.tgz", - "integrity": "sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw==", - "dev": true, - "requires": { - "tslib": "^1.8.1" - } - }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", - "dev": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typescript": { - "version": "3.9.7", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", - "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==", - "dev": true - }, - "uglify-js": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", - "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", - "dev": true, - "requires": { - "commander": "~2.19.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", - "dev": true - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "use-clipboard-copy": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/use-clipboard-copy/-/use-clipboard-copy-0.1.2.tgz", - "integrity": "sha512-EkauxqyX+us4+Mfif/f61ew89EAOWIArqFpHR0jSG4SwwuDZzDAOeqO7gkK0vi+DQVADeB1RB3xqU3U0oOO3NQ==", - "requires": { - "clipboard-copy": "^3.0.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "v8-compile-cache": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", - "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", - "dev": true - }, - "value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "watchpack": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.0.tgz", - "integrity": "sha512-UjgD1mqjkG99+3lgG36at4wPnUXNvis2v1utwTgQ43C22c4LD71LsYMExdWXh4HZ+RmW+B0t1Vrg2GpXAkTOQw==", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "webpack": { - "version": "5.12.3", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.12.3.tgz", - "integrity": "sha512-7tiQmcTnKhZwbf7X7sEfXe0pgkGjUZjT6JfYkZHvvIb4/ZsXl1rJu5PxsJoN7W3v5sNSP/8TgBoiOdDqVdvK5w==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.45", - "@webassemblyjs/ast": "1.11.0", - "@webassemblyjs/wasm-edit": "1.11.0", - "@webassemblyjs/wasm-parser": "1.11.0", - "acorn": "^8.0.4", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.3.1", - "eslint-scope": "^5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "pkg-dir": "^5.0.0", - "schema-utils": "^3.0.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.1", - "watchpack": "^2.0.0", - "webpack-sources": "^2.1.1" - }, - "dependencies": { - "acorn": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.0.4.tgz", - "integrity": "sha512-XNP0PqF1XD19ZlLKvB7cMmnZswW4C/03pRHgirB30uSJTaS3A3V1/P4sS3HPvFmjoriPCJQs+JDSbm4bL1TxGQ==", - "dev": true - }, - "enhanced-resolve": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.5.0.tgz", - "integrity": "sha512-b4a6BasBCoLzri4MdaeOlDMpls2oioI28CF17csMiav9dq46yvQaKPFNUrCHB6VqQokBDG2VIEEL81jMiQ6Wtw==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "pkg-dir": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", - "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", - "dev": true, - "requires": { - "find-up": "^5.0.0" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", - "dev": true - }, - "webpack-sources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", - "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", - "dev": true, - "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - } - } - } - }, - "webpack-cli": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.3.1.tgz", - "integrity": "sha512-/F4+9QNZM/qKzzL9/06Am8NXIkGV+/NqQ62Dx7DSqudxxpAgBqYn6V7+zp+0Y7JuWksKUbczRY3wMTd+7Uj6OA==", - "dev": true, - "requires": { - "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/info": "^1.2.1", - "@webpack-cli/serve": "^1.2.1", - "colorette": "^1.2.1", - "commander": "^6.2.0", - "enquirer": "^2.3.6", - "execa": "^5.0.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^2.2.0", - "rechoir": "^0.7.0", - "v8-compile-cache": "^2.2.0", - "webpack-merge": "^4.2.2" - }, - "dependencies": { - "commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "execa": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", - "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", - "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", - "dev": true - }, - "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", - "dev": true, - "requires": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^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==", - "dev": true - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "requires": { - "resolve-from": "^5.0.0" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", - "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", - "dev": true, - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "mime": { - "version": "2.4.7", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.7.tgz", - "integrity": "sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA==", - "dev": true - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dev": true, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - } - } - } - }, - "webpack-dev-server": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.1.tgz", - "integrity": "sha512-u4R3mRzZkbxQVa+MBWi2uVpB5W59H3ekZAJsQlKUTdl7Elcah2EhygTPLmeFXybQkf9i2+L0kn7ik9SnXa6ihQ==", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.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.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "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": "^13.3.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dev": true, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - } - } - } - }, - "webpack-log": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", - "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", - "dev": true, - "requires": { - "chalk": "^2.1.0", - "log-symbols": "^2.1.0", - "loglevelnext": "^1.0.1", - "uuid": "^3.1.0" - } - }, - "webpack-merge": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", - "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", - "dev": true - }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - }, - "y18n": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true - } - } -} diff --git a/applications/samples/frontend/package.json b/applications/samples/frontend/package.json index 23b1ea54..359eec27 100644 --- a/applications/samples/frontend/package.json +++ b/applications/samples/frontend/package.json @@ -11,7 +11,7 @@ "prestart": "eslint . --color --fix", "start": "webpack serve --progress --env DOMAIN=http://localhost:5000 --config webpack.config.dev.js", "start:dev": "webpack serve --progress --env.DOMAIN=https://samples.cloudharness.metacell.us --config webpack.config.dev.js", - "start:minikube": "webpack serve --progress --env DOMAIN=http://samples.cloudharness.local --config webpack.config.dev.js" + "start:local": "webpack serve --progress --env DOMAIN=http://samples.ch.local --config webpack.config.dev.js" }, "author": "", "license": "MIT", @@ -28,7 +28,6 @@ "@babel/plugin-proposal-class-properties": "^7.8.3", "@babel/preset-env": "^7.8.3", "@babel/preset-react": "^7.8.3", - "awesome-typescript-loader": "^5.2.1", "babel-eslint": "^10.1.0", "babel-loader": "^8.0.6", "babel-plugin-module-resolver": "^4.0.0", @@ -36,23 +35,26 @@ "clean-webpack-plugin": "^3.0.0", "compression-webpack-plugin": "^7.1.2", "copy-webpack-plugin": "^6.2.1", - "css-loader": "^3.4.2", + "css-loader": "^5.2.4", + "dotenv": "^16.0.2", "eslint": "5.16.0", "eslint-plugin-jest": "^23.8.2", "eslint-plugin-react": "^7.19.0", "eslint-plugin-react-hooks": "^3.0.0", "file-loader": "^5.0.2", "html-loader": "^0.5.5", - "html-webpack-plugin": "^4.5.1", + "html-webpack-plugin": "^5.5.0", + "image-webpack-loader": "^8.1.0", "less": "^3.10.3", - "less-loader": "^5.0.0", + "less-loader": "^6.1.2", "less-vars-to-js": "^1.3.0", "raw-loader": "^4.0.2", "style-loader": "^1.1.3", - "typescript": "^3.9.3", - "webpack": "^5.0.0", - "webpack-cli": "^4.3.1", - "webpack-dev-server": "^3.11.1", - "webpack-merge": "^5.0.0" + "ts-loader": "^9.0.0", + "typescript": "^4.8.3", + "webpack": "^5.61.0", + "webpack-cli": "^4.6.0", + "webpack-dev-server": "^4.5.0", + "webpack-merge": "^5.7.0" } } diff --git a/applications/samples/frontend/src/App.tsx b/applications/samples/frontend/src/App.tsx index b70d7f58..a9c75b60 100644 --- a/applications/samples/frontend/src/App.tsx +++ b/applications/samples/frontend/src/App.tsx @@ -6,7 +6,7 @@ import RestTest from './components/RestTest'; const Main = () => ( <> - +

Sample React application is working!

See api documentation here

diff --git a/applications/samples/frontend/src/assets/icon.png b/applications/samples/frontend/src/assets/icon.png index 1966e6ddade324846b39edd3aad248e7c61deaef..9e151f12c2f870fb78ffaf925269b205ae64920a 100644 GIT binary patch literal 180296 zcmeEtc|4Tg`}diJnUq}!Wh+!dB__!XS(CM7$ud!qtYrx?lNNir)WoEl|27ZaUU~6Ikidtnx;RmdzzJ)#j zrMK6wp5y^&dY_r0{;`Xwi9U zzLblY+3CjUz8NmLs9vBJXY_n2P%nyjSs|{_y{j%c_hRb>&h+fuhZHPi?cX2G!$j17 z{|2`d0senJ@NfO!5C1CzX#M|d2me3F;64m8gHJyE{o1s1YJJBZROfO3koUan03c9x zJ`1eWbuBK2&kkJ~Uxe-)BagVQw1Zl{dhDoG>{uDDd3`wyp%}#M^asK7)l@ z0O(tIA|4PH@j}VkRh-{1U({J}x}qYgM22@_SLDk}-1F5Xq09P|(b@2w>FWWgIShmV z)zVQdpSZo+jdv-h`EuPabR7c{0zn@#)dI3zHFjk@l_+$=zYA}sSpB-kea4QhxUIKN z$hF_~(&|=M800NaKDsN^ z#W`)GGh47mhSynuzm+&;*UjG8w+;npeprA4dD(W?mW_71<_W_2@#AB-=3s2~)aa=j ziML&sN5UO6{1#dESE3D~0Z5GnasVio;{VuXT};+lu*k8J#lg2~EZ9^XhfU(C&h#N~ z>i}WCiN$MJ6dcF0gN5Z^H-M0pI#K_E9c2F_3cLHKb+%^ zT`!RlaE{+pRCJFDSu0ov&>%ojo(P#5)G9ED8pD-5^8PrVd1bI-_nYooT;s*>c-#UH z1_g915Xt2Zg@}zJB9m6_78I|*q^%BK{2VO!vVVUGWxta{HwjP|L;)6z-1ybC)Zv(I zeHYP^LxX|7SNbCzoZdPfH6Dxvv=ycRnhL-!#St81`^XOXSvNY085LJ_`4JWqya5Zm zl%OoAytS@*5_1?xqNujsK||+SgAqTf=G;BgbNzsm-fq2>^K4lw9`6U8?Vd0^~#9YyMUJ539d3&^R~F(5>*jcQsO zwbiO|$?_^2c*!cmEqb9TTA%hbJzglC-R~s8BM>jh3kZ_Pk}yw?Ga8rrn;99q>p^+S z1#PI_xQCZ{u8>ab(&16NEtnugrc)}8%E9l20T%RJY51`E-nPf8bPLt;Q#}fh6`Qjz zcs-rLO-g7Zf8qg-8@Tjdeg@~JKJ-!Z@s@<5&pEi~Zbju3?FKwtn z+I*79%8t(%250|eG$_9&g(lU$o&GcW^NYY`VSIcq0KRh2Y|2~DmqwM^$^wE6^3wZE zKaI5evz8QZJa|^=eQJg*rsEtC9nAF)% zUy671v=ue0w5#&%`PDvog(GBM6>&~4x2l2NeA|uEZ|7DvO&nKhtC)(|GUWNK@khio z%d?tusaKaKPQIV~vEoLyaRIcox^^(`Biz>p2g6T~3T*;} zq6R+pk3DlZpxJw+EIrT!F!WW`WjcQeQk6a=)nIf&c!7XE4w4%zWa6kH7tk2clbg5s zt*OyIEci-$(5n7vvqmGvGsWf=U_>E-7I(5-9RyvOkp%(vHhXV;z08yaz7o@+L%Mzk zH*ZYk5AWIs7)6Ky)@@IYop1aLNZNS#UaiBC^*3~)uU!E_pI)ZxQPiEUqO$gqwM+px zF`AhD#v71BZ3;75cg!yvmTmzxDv#1=1ZguA8dRM~7bkz01BJ)0p@#N6z@c}&!~nl6 zj2tMbXyA+V2m{pg-9~^RWk3NXX=8O|;oL&KeDVHu7&I71rj{07!GPnV2bKYF-Ya{S zP%MvUqZoaLLIJ|O@w;E8Xvl$pTLAv2_?QTHkb|BwfVvgRtZ8O0^0=fBxQOiC)dnMi zpy#>(6);`kL;*Ulselm;-;#qPCqCZf0V7E}=Csqggp}Z8Yl-HQjKYj|ve0D`ZUQhj z);$k;C<|&#A(83=&cu_~?7O0TfEfbEGIdMI>N*%>d&YEC5YHecU~17(n}T6`ITfUbKcCZ1+8Gk8vQt=PrBi7Cd

W4lcADx{QoQ;g> z|8-;V;|(&%+lLIs7tEokI-{d#04gdSbRSqj4yk=__1+RPT;lP(R42GOQy-QcmIZl= zLlhJ(N_7hs2>e>PF?jOxQE5PZIFgvHf&!f_?uncqR4E8~T8-=OkD~FQg8T=nnQyoF z#rxTs8VZuY@-Q_1yt^u$!$v7N+0h4qwg2&D4CAa_9L|&H>if5l$3abZ%1?!2zk{0u zbxRzCK!PQ-21}n$lj<4Jj6e&rappeml?B!&4X5gFXYP~(G8s@ZsqZp-5p|F{=AQk= zQM1}71%Vfz3ko&31ifSMMi2`FkzC&vkZ`Dq2xDsy50*LvLmyRGHPu^35F*E&r+Jle8{`ETns4~ z!+Ys!fI?*`AL%{mI6&4zOM>b&9W-F{Z4%r7st`4vkepo)G$gi#@WUn48EuxgJPsqP zY$FE4XhFop+qjAb&RrdBLEu+DVwsfyKmZ}`52LRC@Q{{e|&&TgEoMDYWn7rB=41gs81I-my+Owel@&w`dqZfyzuMP?w{( zmeV#0@daa{-^8+CToOrsF2%1ag2mFZ;kv!*^2x*l)p1vJBmE%`+N+_3qb5MN2VNQO zdj^`~O|d-l1sEI)x#IS6*N%4L#2fjemZB&rVsCSBb0RjX7EW0oR(2_Dc28>+u zp)CcRhcr@clfd9rWR|gWG%`Pl-)Kf%J${7;(DZ)D*au~|dJeyY21L+;Ya^_CMFiCF z@x`MxMBAslG(F@suUI1!#>t#YG~+w8*MK15)i^ur{>zZwxKEGy7daH;{W{1n^B5H9 z>DdJ6qbkr*Wo`}10@4Lt!rpvdYKI7v1Z@{G%~li%2&nPRON4EQ%VG*Oa?t^Y5&p{) z<>WvN^c}`4L=l=t#WG`33^YO0#>6oPQXX_NQtvu6y2J_+pGZT9mu=#%XY4k*7Oq>M zD0UB)z|!`Nv`L(7+y^Fhn1d2!gldb#E8=$|NRW@FG(0)7d@4#BT9{JnQ;WvaA9z0r zGoz1y5LhH*q&Yqn1k5eRQ!!BR@Vx-LRFAmGQ&3qUC*f9hATIO{RMvX9&hkcfnd{ij zJ(vKwK-&w>h^`nqP|iMwVA!raldT6x2aIeSmjtPYZhSf;5%v^v4y11+Q16{hxqjvT z^%Qr0Fg^;WJTAVO`!WJ9+^SHGD7|9`ri2JZ>tq18PtY63^C(MoOv_sf6e_{7#)X{_ z=O$C! z-B_2LkBiC}rx>LI-E4?bcCIaVS822^-#btemj~q+He=PW2>=1agn6JXRKH#$wnvYb z>S8qG|L;O~Z@l;5r(Mo>x$KilJb3152qLW!EKaL+U!7*(HP{V$Z$3qp-e4jV6P}Hr z2_G_d(pCgW63}$4H;#FHD-MOx#cvNsg6eC?COhA^Yl1#Z({q1)s52~{hj&CAMWPCn zL6X#&!6PRnsl6#kqT3?0{-8-pxFE^?)H-S_G9&ex3VtUqCg2gCb8G!8A~e%z0*;W9 zbe2%S+OYSUEVZ%&B}6-f$ZfDDBFlB(7G7|C_d!VO;V$v0gy#;}9e6zRI9x!Gq1c%E zUt7fEl{10rDvq%O3V6`XFB}fmbeiaO`w6YO5sfLo2joc279QXH{h*dXTkLKP5Reu~ z2Y{)!Tb!^kFVP2Jl=%7vPo^e4M|kYjB^;gL8Qk6hRZ5eF%kz?e%M<_i*(vt@R^!;0 z;Nv)MD6>!pmNh`%r;M(cDgIqTJYG7;z?+FHpXS@D-2m_t{Z7ZD&`cMbO$kO$hWK8pT67bU9IS*r_vDk%cTu{@3yhD~({~dP)nNqpDt}-}j-u8@{ z97);H5Jtg54^<7)EQ}$V#|k@ThfhCT*(CrNNn294|3C-XxJoXu4Mp zW2G9QQGh80=_f&2$6oM^hzv!c0M*5Csm*~*UD-Q>qv^-9c)(zhm=CJvje-G;!D>Gq z{7|@UWOQ2UbPWpK2{(Ka=Ivp&WQS-s03`(~?E)+7r~)N7U=gV&+2NR2ljJA{BC@3^X{#O~c1}d<#+QF(AP76MNbx z?*|`~w+2QXU?JQGVxUZAuEAk<8~pnMZH_-HL4iT$)UEKdOe>(-qglhb)eI3YpluI= zj0!+T71ylKV{CEQ=s0+|eGC`p1VJt7D1VmpAW2AQ&>E^aK`yGJv3fv~1=Zgql11@= zA+SYs-_^WrdHry(uh4gTo?Xf@R0#zJV_eR-EZmKRjJj~1Np=`bi%!A6nManlLJrF< zRgZ5*)IM=E2@r0K7Ltjd=b@j8-Za<&S~8LMm>~^Y6Cyu2PVRV39kT~4xB&!!Qd=Uj zLdN#DeBN0U)WbuFplIelBu5n7)C{|5O z0U_B4bHO4zpU5J4PG@2f1&*tdK2z3Ag7humcM~Lp=$OiJQ)%vcYpXSt_^7?6EE?B! zN}#dT(9#)6YcnMvGZhCGAtV`U#-I2#j?SVTOn?yi(4XGF&IlRr!;3`f%5Hr)$>5ax z_i^^!y9}TWkyH<9cS zR|TA%+Hu3k;ohh&Rx)@GwFtr>)7iw8Fq@ojNYIcnge&Z@F^4n>bqzsP)m!otQJcGV znx8v**>5f2E5%0te)n9DdhbE2H-6Y-jiSy?vrUU8#%N3*+@*t@c5m-6N{6OkBeoZ1 zsqDRONMRipE~WFB>ccL`n@Am+YUxxSoiGKp#njxrV!tFfSiL5Shw|dS7M{33Z!eNP zjCW}sNC>wOH){5|0|=RTw$aj>P-vTC&19Ne4pF_&Lbw6P2^+1vR5_|=2I)C08Yk_- z$aE0wkwtiA8YwSUYl%pDl|krT#aF&2k8=IO<9gCNj-zD`bqcjMoqm|V4UW}xJTOK)OSLlzOq?rnEBYSr0r#f^_k%o6T&mI4O7|lAF z<$@$QJu@oD7x*dwe0eKD{pi}}wd=grL^iT?Aw>!lU`?*ny439Zr){aEGPvqzHhv|x z#4S!$tjeiB4IK+bk$x|J)Z4X%_71Cad+PQLgg(kxUb&!3g*ZovtJf zS=^rYyO>}{v^reHeWA^M_-MD5ow_o`A_$QptGT|$YwOTU+W z?P@<)o8HFamfbF{oz`05-eYsi*=?8D`;#&T7AP!_N=h&HugCT;9PJlv3*3pJ@u}Kd zlLHI>Ec!~Mtxn5=?0SEb6hA8I0J0s3ij-Ms^uS(n-3CpYBp~H|4|#=otn{nHk|3FW{1&1o z>b1bT?V5>a2~2(=FM-XF(w@H(Fk!Bx$19w$w`&GQ1@mxlu8_a(dO5iNFj8B(#)wDU%s|~;A-RBXG?nD*fXpRfbXlW@iz<2KZkrPb zJsS*;Wadk(kJt+(BH9jf;%jHGavPCdoq4eIuq1WTh+jSjzlQdKvT$xylaX_B*L^|i zQ6@@=@WSD#tRjW2g$A^9@f@BW$Xx5Ltx!ia<9IBuWp)Oz^h#}OnnUsn<~|#|7zfkS ze{2b!H&LaYJMa@WLiOA$nZ-a6IPz~Okv@v3*DKm4$@a`vjexD;{J=zF=e+t=E&wAX zlI)$UxRSJ&4`Sd)K$~hTz396zV2u|dpdp#8*u<6HP*3=bpmV`Ki2ze5bev}{F95%% zG8`w@mpmOUObB?4h>En{&@A9V_I*d04Kk!8AYck>l;HRElo?q@POMqVUxla0KEdP* zym%mC=-U^{A$bynJOC@86g!XD9qI5D{llJzt{tRW{A|!&g~|fHnj^WIQckKHCT;_{ z03iry8sI)o8a9%j?l;vJ9MrPOj-Sa0hn4|+bI;%>AV4Xx|0DfNLA@jBArxZ@%abn* zRNV}Jy9%%h%5&vZu?u$T|Yd>GNd{jj^wQ^#pKqR`8TTf z(Abb+O>Bt-%+oBo20-;F~v+fYlYe);#RJ}{Q>n>oo7teP*vQl^u`%E$()A9{T@w$(&O45w z20c9Ot$)I7;8{b+p0j8{P?3m&igoYqO(IDVla9Dr&y>A7~V2f*R+gZtan|5;mykG!~a zQ>F(scy1fe5^q>R44-<=T{Wha0t$ZpM-@J~PDiv^{#&v5!p9i7lDmPfIqv@;;}ljy z{W}YaP#1UPCkS(nuC2Ltbn&Q;biO_sIe0wR;D1AMSsDT-KrMjAdOYrb)B#b$E|F?8 zBI+C2rci=|0o1PR7#?lvIAYU)%$4!SXn#TpIh>VB<4)+p;B)J`qko7QP~EO{`a|3k zL{$JMGJZGajq3;Abu_r8=pI6>?sGG5ou-r$Nc!3Ea&3@|tEy#!(FYK|5!f3p`KLll z9OT{o7uk>V16^Ca`4Ev2{#jOdX^R(vU@aX%rQq{gfQXi27#tBK$R_8&@CO*{j@@IQ z;oiCm9(O=x<|{;A^m}26ou9?M;O(*kQ2Z=b9GG(owtXAN7PWHk-Vqc6qtRy^Xf5={7$6C{`=H^Bl@LE z!B8meKs>lEuwzXCi0Z2(&(wX{hPu-!3a6!+xu3kCWlF-~fkBgDY1G<6#i37Ityvdo z)-ZDKSSqP@Kg2r!NI*CQ7Zm<~AMb6sJ!~#d^4g!fm!{YlmJ(|QUCU2?6*qH#ZB?3& zgyhQIh^S}chw5Qo2grNBkl@~;kHjqSRX$-_{qG*sWarN2c5#7S8&51QS0AZ_wV`U4 zt6bwZSkm(cF#dzDdEMrt{dx8-m`Ru;?b?QT`Xf;e=0Ti}K@j$VC9)2tfdQ4NXABOl zM*tP$H}93LtGGMqpGDUUgI4!*9W62lTun-GE$S?;oTx4|pH$yMpPX&yZ7Us}^_{KL zVt=b$U5zVt3+c!>*+Fmfl~qr!pU!V{TMRDP;}aW-TUB#L*z$h+$Udbi`^dK5 zsQ%h&PH5Hmg<{t1w}t7NsSAGLK7DPq@9CajXI^NXX3<$gmE5j@4!DDRRC4=>{(ar* zW$a?Qf8T|ol^R}OZkKoWPNa^5ND}`fG~a&am7l12x0W^TBYCTiF<7 z=HmjL_5XU!vYK6R%OC>kJly9_@cBr!%H8x^;dU)z$a%aM3JLi=&RQec5J%|v>sX9t!l(zGy(n&CKx4ec zJ9nLzT&^zd`(MY$dKqivpbcFR7exZ``cka`=eOKz;PK7W1u8F8ETFbPjy|qgASn2F zh&t=EgDJztYW{=xhL0t*Aj^Xg^#KQECElO+_Mlq6&*3z!pG>VsB392kjq&Wqr5nLo zSYsIfRp7X_j^*p13`9o&o_{TXubIzU=mC{?$FcZZFhpq@?vHS*d$4gl7s*6?5Ic3X zBDAfgpMWe4-`@*`g;Dv80gMo1NA=UMDWs-s*v~5c7{RU z$W5>>dyNlbYuX`!5(u2yV>X&;9Yn2xVb0qW@guD&Ja_&omzuB>y1260nqUYj zY2dLd7Cb(K*gyHg7h3Xl#3O=SAsR74q)yS~+9DiG9v*rYOq3Od!8{Ek*Gbhjg2Fyhxb>j)g6%-8Emc$P!?AzI zDCdaEr6vhb1KbgGP?BOKY_=pgQj;hD@8e+kMUV^2c&W^w%6XTIqOhWN;`Ei}cWygP zFBcuPMmF-X!^$KAKZ->7m%WewvIjK}pXD8pClT}%so$~4;s!%(JTiQB^*J<`gta*Fphd7!J5>O_viH=XaOcqU@aX~HS-?4CQmj0_nD~CE)QKBCe;JN zumrNPO)@~2rHBpI#o z=CvO32J7*JlAhPCNW>d7W;^x`e|+agRsL^P0hC`Cl9NdQax!<2AX(`7Q=MUl2nvu+ ztV6v%DOrTYDIh^kd)y_24gKMwH>~Qx$K^ezjxS1DT~#3uJjYI?AuoUPVP=GK_WqS1 ztBv6#;DH-ryMXC!bk|lLf_7`U>yg6X>cKUq>Qb1IFxm_Y2IOZ&!)Dm?x zwZtSA9%Pg_UFA;k2eUB_IY`kL1SJZ|AwX*4W+wEz!lV{Hf}%+Vut&~$;31YW7SH-F zwqfEj@>F+c4I82&sX0+#o>R8+>Y5H>WmHJuGLZXr7vU8S;qc?$Ls6W|>A0_koYTM& z*YGIg?fa#-l5uEi01gpD08*^bhSn?vtF8!QXf(pAheJj&C{oWFC1+UOV6^;o6h43i z6R0d9c}5f+g0zn%iLQ>Z>aW!Fwjdav#GDr-L+?STv=}Z-`#?0(D+I1?HXM6tT@6JF zh2aOAIp9x8nu_*-^n7R9$wN>a+pfXFHuAD4Y|DT@wKt{a>K+Tp`4|A9O7baaKQ0mt zNreOEZ&XnMSMn;;hELlDBZ0Fg4GuB}LR!$-0I7T4(5>h{wqD02DNwPfxK$rUDTBWJ7huO&JAgqNgS_*7s?g^Ve^sFAVtUtwS#ee~7{ zD=t*(23G69YreQd7F_Q};nn69gy5T>$fBu39}1k}h2&I4!PRqzJ)lHJ9{3zr*~G^| z`E2`dpdb`M{p~*>UXFq4GrG!IGy0JmoI(Sbp~G_(AL#jz)?j&K*~$_B`1ls?0!2s_z+oc~t{0q09A**={G-u=weXzCqAa3j}8=Ct7vOpjUThQBx0 zfCVYdu#c5)rX7?D*Vl}j6Nb@%y2z=4tg1UAs>uYyrn?a@(J|8Rdz7zQ>I z?^b39GhX8ue*Y?D%nE-;O%y!oKt6gYz9PcP+u8=`l>n2$vd5VOShq3tMD|CfRy0gm z_omr>RQvZ`scp@+Qv71?Mw3+aaT`Su!G1k70~6;pdYkzw@Gc^4ue_IhD5Z)EI)}g=%k8(OVOt^33RK8iC3IrV z?BU5weB7RS&xW~rV`>lyO7Zc?^^4gVYl|a8_G0d}#lBX8xfYBSCa1WtjM}BS*$bx5 zI!G9&=ES~!JGf^l*Ax{XxfXB0q*(BL#G(1%uNH998=s4=8R)?VTaktv(6qnEZ9f8J z?mR?-KB;ycsy)OpI;nZ%UnpxKk0?}vV$xgJkKVi;XAwuIHDn6hxB8&@VJkQbYeY^h zcv+YOl0QxQYdpZggSkSLmGt4$dn6Dap-E>39xJxb`A!l}Ul0aQDq`1kIxl{b?xQii z;5i2vf&W@_&`~(UpQnXmf0;^XYI*z1$a82w{d$w;)+x@5L71>uvo2b1W5ek**T{5n z*!J>|@?_=%n3``ks-mC#Tu>Cu!Vv053oQd4yTZu$1#}+jdoO9vbY14H24es#QGaqmgh4sy-A5 zkq>{7(^p&v+Pyv{*ddBNG-fjBzd$F({$`XaSgj2i2!jk1-foJ8Xn&$9v)PTF z5x>AgxSYXucXHvD}!6CHy;!;_ySiqHZZ?z^~DTXYh~OlRv3L%X*c?Tv6KX2iW5_2$@DMWA78!o zsBdlt3=D9Gp71TQSCc#D+_-sax-r4K`}&cc7L`S$oN>)JQfnX zoO^bDWo4N-IlWK(Bx9J^^(Y4InJhs(Xv%F-j<6%od|Hp;a^TF&fR3|=m!BMYbJ^q4 zL+EIYH(!jG=0j7}I$fyF_-@1;^QYJz)2C;wzR_g&MHr2vqf+}7;DO|#XE&E%Hf=OA zosqC86*qNxx{f=?ik#-E73pqy%rH@(EAWF|ewY66yduGQydGW(sU9#t{oyJ&i&vzc zy^oZK?ov0uExPHp#I&fS)F{1M$H15+T+a>r zu`oSZc0}F%E$Tlkrh0$RCTqv{UvH~j4X!(vLFr&?M@H5xu#1Up`K*Yu^BGxHKVJB+ zl=aU=78AQIWOMhm1^4+9duuYrm8#gRLRNj;aQ)=;`7ZkDnh-aqKVb#+uw?4l*LKG* ztmqf(XwCAl+u|_2#eyREsOBuo{M;0hhD6d~sgiz)a=4P~TTh?l{+^CtzwlcjJPRut z7bs=h>(l#R*1FM&bbbcMh%tSD_@RS4f6uII)XJ0Y$sXeVO|Y3OiT3 z>N^xeO#7%NYhUHzJX4Ud$*vD|4FzNMV7WrUKS(6*jLK8r44&4(^8aq=b>$xwJ}Qsk z0>TX_p^Ial*GHcXyvV3dVGb+=@j~yXhQE7$|2jrlJx>|FRN;;QQ0A$w8~t-Z$NcHa zKXKL)!gDOQfz7#ej*Sfuc=5+?CJ6HivY8?TJ4hbY&yL(6EP0p}PA-edMMobMveSo>eerRz-hvadqX&+~2rp z$Mw^7M6>Bti=y5El%X)hWUNvb2-5SZT%>RNY4$}s*Po~V!oc<5M5xA# z=D^?c!zVb^^to4=7X~ccaHI={Gt)c$-9{Ed<+#6yoWtQ$kF`HY&a%4bHO$FryaK*@ zgb!(^TF)wyz52+qix7hWK{gZqY5do~Q+UknyZgs?LPE4KzXJKWGu&EN?K}_m;L85A zU$-Tya+9^iWr;89zwd|n4J@mky}$qFp-4QiJpe272G1m6(_Dq3e@B;Em_Y>SG{SQG zR~C#`zNqKid=oop=UihtQ|t;`P%Qm@`5!M%uyxPvmveB*@BMY}c0toW3^@?s^hPz? zha8g-4!5o2u!4G?e;uGIhJU>~{kLWy!ZzOi4vuyc%T1U*Kv~r|xH2afd~?vP4mPF8 zG+OMt8pRzOl4+YS84TL4l2-=FdF|$_o@PFhg4DErBuXOnxP_-x`8&Hhk++)vO;m+Lb+!#%15&jPQrG%(0dGh5Q=S>5ol1En)Mk{RI!p4wT zm$zj$ZS@Mu%D{Bj+kzPd_06YH;6RGRui>hKuEk{81A}PVde{Oq9X09kiY~hRy7*SR zG(A|oq7NsVG}_{ymK$21q5N=LG*uWKuOSDtyM@GWe>&K_8KWq3F?cQj4IFkZ$Y+Vt zBF*3t_#LMktrXXru*Id>BjoBTAa8lM633MpifR+hokbjUys6N*iS8d2nyR;C`X}f8 zmO7@@z!Dn=+Y-`BoDVq!{oR|B?4rAQ*Gn;hBhi-u!_G0OJ%DU-uR|F8{0URKYfpCr z#x{K-sO}4;+|TXic7%1YZ+C<(H|U42uDt0yzI$r1g1$t6d)bE=Uy(kLb>Y_q!AUY^ zvLsJBPd?yCvkO{T6z&?ZCnd>N3H$CQ9-Oyrn4qa>KgI(c^SfI>C2ZNK(~V;5hr^&( zVG)$PI>yzSUNJdfB*Cbvzo=ffnipB@MypFQnHN}@O^EWwcedmwTt4dQj-rXWchC8p z64S_)2k+j$-8rqG4Y5p(`~Hb4{K|ejn%WXMM7-T$Umxjut&C7NO#EU+ToTMM^@S}8 zRnYxL@Ojd5*4pA5+O^{3XnvOg)33BGTuTi76LwtgUk6dHSJf{AHjO){2gngMoUV=& zZZ9)j*%KNS*NP~88~XtL&-8SzNye6~)T2TRSq1slgPPelEg_*Dfv!H9<%gOB*MajQ zLzzeJ!P=n{$&&~OsnZ;l;@1>Nt+`oUpna%YHmCC9G}~-tlE^acrYFQ%QUg(hC;4Xr z!hGY^b$6mK$NhQLVVg_>UinalS|wS{f1nV95VwLsTI!te($PE|#1)JI`~G^ zA5w%ZalGGW#9hz@*5r10U14m;!Zk&#SH=SmA@I}dN22(5Vle^a75_?H##{>rgqo^> zmX2gDJd_KbUsYy}9-#cyIJj8y<$#$n=lME#zGQ)4eKpz;R`tHKhrHHKnE=ZQ4}qM? z1wC;NhFT-MgrTlnWIq}<=6rURHs;pPvUTg0lZQvI+!i}q-M5pgWA4vxWjDsSUS>XfWVPr~_`x&SFw2?Dh`P_2QZ_FA>?mFH zIC8#NEq}d_qCxR(`YP?ucYCrnn!>yUZ%&Bxq0~)q7|sHu9TO2Qv4%mH~4E zg)4Y($EpO})`}7P9$3B?b8GYEm035-4u9?!lhL}xYe!zxLPsLjt$aC&{@UQip*I7@M99ot>+7W2xBqLshSaUogoq zUYfo@nfpHB6nLF|_6@;jM8}0gePk$Ef?P8YP=YC=zy!4n_MONaalK!5IOCj>tCLC@_GbY2RMr3BvT zzkS81Hidmfo8DtUi}Gss1`9!M-6H3S6l>>dll(fA0ee@sa4H!)i^H z0R*_YrwL-IlMVY}AJ^-8Ja`_ucG6cJ*I=4{`BOb$O1-AE%zQ9+3?GkM?6@HK=!NJ) z>*DO(Z@2XI+`wZ7)PV3YJY&0&C&K{t23Kl*{M}b`QWguo6ueaNJg~eD^dQyU^5hw} zy_yH#&b7cD_R+v!ogvMu;QLaiFjYr{7fx>|K@w&3;2`@-PLa3cu)qg7HT-I|RLp^A z-Y48@l3k;An_JAoT|Q4O;4qx^;uxNE5061JCf(_J2GoV=7qItcLBZ8%ZSeupuw*i%n&cMV6_?Lg*izA)s7S6x37mRypV=3{#dgB?WeKxWn6w< zSjS~X_yeujKN(Q2a>;?8d5#GSKLN1GN$oq6E8tnIin zn(}>^o_hQ{J%ekz`}#@*=O}vzRw(6((huvU0Lx-Fz$8J^8EZJ=}+&qqEi6cn>z75wHw?t9npU)dqoIO12iUYRf^4BwW` z8Q!Af6`i;FRGIs0GA#j=JS7O8HPiquqAnm9?|A}Eo!EN3Ukv7$LGhn-0mI_o*tKF3 z_JfdFJ20CumJNYyzWKKVhTDll#;+-wjzK>zjfYMtkK{LWf?zDQui?wY`=BknL1(04 z;yU*E%R3cvWk*pqQ^sh*0hV5v+nOH}5A*^?Fmz#qC4XGAeEsrdRQS~QRgTde|E>`x zj5^P-4KRUeALh(t&Al>d4VrTA?RE^BbzXH*_cNK<G=Z%SHfioFZcW+VbC0LzT+<;oEko>-gb?vRlcedF*h0&J~tpB@Ok5& z*VIobe`2OB@_U8(=BCU0ht!FAoJiWUBmD5L6TyDdNrp4LEaBw+pyjqYSrkq6X&7+> zUt7Jlz^f)iR)Z#c>>SrNn0F|Dq-X(g|K(3|b$^Rvo^5W4FojWZa{P7nc;{sB!kY~7 z(KMAtP>qhvagQ?bWYqhH0zk+1Ggi5n1wm)RcB z_*Lbwc^QQ9gDFpr9SP>a(l-Bic{&~)!uh8c#xG$AXuYyjJ`2L5-w~uUx;JdRS7LOh ze@1RmoPZB>-IbWqhlWejj(>C_=J&pt`#^s$wX6d@LlK|1mwed&632Bu0`u@4+JO2y zFPeI9k40K9miGO*z1F*A|X%o!XKRibWT~fuIwO3l+h;XYRSxC4^1X>&Qi(o*2nxmNaGNq_PQDt)>JCCE;_? zgRS*-3-h;c#nyEuQX!_;TlAXhvH`8feHyh9?PFeYZ(+}G3EIIQ@fS4@yjNCAM=^Dc zQ5Rt3`y6ZEwA^EkrT%sbVo4KB_~E@5h|#m=7Ha$W&hBbljr!hg{8|SmG<1@}YSY^z z6{3XBp)Wr2v?COn*GOUG2e$jKey+m?d!Xb=tcHtZeG+)ss6zfM3{E}6bHlCyrs45X z3}Ah3_(T_G-XtXr4xD^T=)uD+Evjnx?xyVryBp*Np>>+76ZafW4HsI)jHHj?9gZL} z*l(PYqYPWk-`#?ZGqkga*&G`EIx>JiRX2ZN@j&;@$p;Fni!X>P0U>>T?ccH_R_t)q zML2F!NJP|5lqp&tb~tD@^H-=ht{51+79iH%q+ZR*F|Fyiv*+rYcSr9XZt zEVcvMCM*|L-NrwR3?PWYKhjKYoLRGl6Ia^)$#IXdd70BoH8N(wq3u`tEZ>VHW7_8GaV0`JiLjlXCFJCJum$QI|$CNs@bj&}nF3YHSW zR%AJIS)Cz`>@7_&eB_tXUHG}9YA@2%;&~ECBcYt1kGruZdmq$wKEDjq{T zepKNNkuYV!#<;^X_*&%NOhP>RH!PtSJ@^ zFA-n~jq0ex!SKf!^?z7`K^JSYMzE5}mEo(uaHGFWqTfv8w(XP~v8g~tcF8B6(#lh-|ggc{AM%s)v_V<`)GV5ee zpJZ2;l|?45K!P!Q(sJ%goPMa2!AIhUbfY^)bWe8ifnd>Bbl5a6#Sf3*s6(s|Rc$9W zabV{ig8g1oOxl0V3`l3t?RhM&aTk;g&hOr#ZT!2^;;M9Q%`4_sS!+zJ0QDG>UBmd1hg!Q=cVmj89yywEwD;v-+ob-LACZ>} z6-T|7)D0k{m4(@ldb#?OiBMMJP`eURfc59h6JF)O=1_R& z)r9fjRF|#DS=e1%~H402?-ZhU&z#Ci9$bGrK)jq4(Icfh(557LRrT@4lw)7L7 z?J1ir%PEg2*d<%XEH=p5os%>aHtgRxT0!@+@^X|QX+2H?B$rVO6un6O@&#=5e7f)-!8@eF?@ zNsvCn-dWm|_-52l-C+|FOq|XS4;ieyY(Dl=M>U-I+Xzj~YDWC_VeAwo@N8UF)Ns_w z>*CuYF^dRNr*MgE^YCf*)U)zS&@y(c=6dvwzWm!>B31V-NoWwJ2}S6N61gQDsY4Zq zs`Ez$Y%oTJJ_6(zWV<5dyz*%q>MtDGeGJ~<_RhEH<0`C5yiyf_y-}Z*r-$hiuFtl) zdi-$`piA}d>Q)gg^hHXxLAv#7Q3 ziq92=C3}edWSp_wOb6L40kM66S`)GAcc8|?NTs=FU?}f3g|cJ=1seD`3MSQgd?@WS zHEQ2!*yiA?1Qqjm6VEq`y62s^qI0cHun#f70iLI|@<~RT^8@PjC0IKe%~oe$@YZ=; z2zAQ}Ll8j09oufh>Lc&UIcpne_Im{Vaeq-biH6#F+hAj1V139Qv+WY?@PdJYN0GjH z72*CAQvD%3>9=hnBDWLG>i)_av{RWqRM6v6`n*OC4q_-y>Q$2V3l5Z$Qacc%4x~Q5w|~lWCfBHRLKFn;7P6 zx7UFZ^-_`29iKhTcB6q;c~yPi1j#;r`4Z>oVci&U7jBItCyqJ_BQ&z<-nTs3Fdd_< zH!$&MaDY_`$S0tn8IwQQd;W8ebgEHhaLRh~6o6vx$&K=NEv(`b23}X_EHj&1z%L&% zx#FnkC^&jWuzBulH*xBxWV=zQ8LH!V#C%!S+%-4Z?3{3@--=!B&Is3augDzErnCzv zvOV;ID`PIWpJn`x=2l=TKh&|1C_QgGumy@lb9m zmNp)wbK-Xx?FnYlbzTqG?I|_eYr%h(mhaUacS$$lq&Lzy_&b{i+dXDyO*m=}*`bMMXvSWH&qg!t}JK_zgo{-PORhy2Vu1 z;xvYQG*I={hZi=&CBqJUjO*oSKfT;_{Ms@JR(c}9M^#+%$L8x2yI|VGKU=m4!x`7= z#pQqSo}~w-UmiG|u~J2}s_NfSW$-hn=wQg#1^cC9$0FCMC&~1S+Y`qkh+;tXeb6rX ze$$=~eHoaiuInnuSUCiu@tMhvdyNl=Je0f%XTV4MOBoy*RExJXpVu0op zn0iZl+=SU5C{7JF{8M7X>L30pbv#!3$haHO>ZjCW3PWsdvKr5|2h-Z-?8g#Sy2uxdWro zA#^}`Q^&T-np-4pc_LCb6ZW0%@?!q8M&y{_*G-)DpN=~%6)!`e^qOn^JIYXcP!}?( z=41}2bq_0f5Js?P{`0w7k&RjEV`K3Z*Il?s~^7N zHW&BQQsPxZ^+2{ADqf3$rp~7nZcBCEI#&A}07s~VEw^lSq*SCZ44=T%8$a9wpFKFE zVd4LvwyE_8aPX5_Jqqt9d1Z;bq1ZgO7|e#Pnz==8=UQu{GY|S4yAgM%r#{+O7{A)j z_19Rwp+P>zqne$4{-zzMKo#8q?C3ky<(u}0xk|A=(2th2?%|&5^+7DBa_*lzS-7CpBr_}cCC8X8YCcBa z<2B=Dp?mN0hlr}mF=EGJdwzI7ggRe-yJ{HO;C`HKfWtUO_$oLDf^);X zOe-aj@D6R$#1bz*jd^9On11+4LAME>+6Xe_l*4SO6eeOZO49cZh`Vew{UiwsU;TMvR^-AoW6`R6s;DpOd>OI6fwO z=erQ$aHG5Y{#fsNXe_l6XkM5kW@8y-Q^_=9paQ?5$yN;peMWc-)IJF#Sle}6glKEX z9<)XjyZbDv=A|U2%dP&@5M&~&!fmOx__47ND3*TlPMB~NE;e@%$|{5eJ9#|EW5TsP z*xfV04uK*WBeB1DqK5tEkC&%8Zeu@cd$bFF!0R!tT(oX8foG=5=|sw>LR-r4#qfet zUF^wD-*>)TL2`lYk`$%IR^=wGSr z?E}_Br(bMELP4=Wus^QJl&IB4+ID!;<36AEWFgQ0{HlNu1j_sljs&7k88Wz_p&~CV zkGrKEl-Y12`z_}+X9rNrcy?gKZWlj>7VjkuaFrkpwm5=W_>gFY9ekPzvH#)p^|GI@fPvs#~}h7?;D2A?1q z86<)@hpG9hsqk1w{tg$^o_+MVW?i%Pkj+E&lI!f4-N}{A4qsP6jJlEqs~)kJ{uhyW zF{yEjP&@ZJ*1US~yJBOYuYr6_@9<8mT5Gf8qxy_I3sjZ;f%D<}$9nWc?n<(~n@EEv zvc9Vrf?7i39Ps==ErF)jcMUv>PYM0?%ij^xOep}bE=v*<`oq56az8v`Q)^pR!_+E9 z;19sg3Gk>tE|}M*oY6Pfr|=csFDhmKbGy&tQI!w&{>@$lWTO*L4!<_b54j$$IrU2% zGJQY(^SH2iKfA+eBN!xHP$pr^zK1(Ilci0g~NIL@jPF-I!{AGrz9c1FesAsbUSBrsN^9K!E99F zZ8zm$DS#-J?AS32FW=$6qEl*u?Ni-C@T1ig_w_rL?xTNqt|ARbB3F@oCHRbxtW@7L zEt^Yukh5E^5zJTrdOtK^fC~(;?uwUz9HJd|7ppodi)8V7s{P&(%5*&sz=h%D&D};& zeTdFB%IE-{I(%p4(IFeDUP_25Ocuh9&sx`B+;ghB;}o5Ou=)umY$8N$y~}encuV&R z+e+{&#e*#YSNjD(Hk7zW!^G+oeWDC&%BCs&ou|X*)JH>}9{B3@Ra7Qeh9Xmdj`KTX z(dL~WcjnOJBVtAG!(isBy0oU$e!_SWRxGFX`nGJLQnftYck*ZG?QQIGHGVeX59f9t zf(J_X-ii*BY2O9a{a#2*M?Fb%2IYK)Y$8cMLRUU!?r#ln-c|X6Wf0~WlZb?i*gmFj zP5$;~0h&gBvLG!LXA~j$%iGW(5-&WCR|r^Ecf%v=EzkKf(}N-C(C*!C$Q5UIA4UO&Xhe zy27%+@HkZFgZe-A_H==1b`gNcE~T?RV}v>wIB9Dh`OeV0hz~b6{ zti@jJV@<#6LMc)zZ@#Zl=PO!vExEKkzi_i4I%^uWJdQ7L z7L&4@+fIYKM}x28`;&?#{7#;L?%|Y`SOh;8 z#GExShrQL|x^pGI2t{g|t6_QcQP?aN4#9a{IHwEJtL_;>=bKNtS9JJ0T_eD#Mvr>R zR;BCKJV_+S0#-^5>(y|%ZS{qYkgN(GPf(rfvsfw`5bWKsW==G3Y{-hWGoS9Ah5JPp zauiY1VwvfN(D0Kq2jR=5u#QX_MWtXCER5#k3HrxC&ymUHL2<=WxPuv33SZvYA!*}q zonG~S!QX`8z@u>J152Xrv(Y32HaWZ29?>DAz3H8AVC1y#OfYKD)pZ?bQj?}dS}ES9 z)eXsecLo`H2d0GJU(KS^h~S6bjr7$M99v*4tu`GV@m{e{z%CS`vGYVZ<}A8|M=A#1 z-g@2$vfr9C-X4aAYo{OYBEZ=OsjDQW)~b}G%#CeN+cqk?J|<&_K`|F*(mHt)XT#yE zFUTq8&^WsThr$X>6Iz--$->j(W~gVM8S%#A@%!Jp=D0xldF1A=F|d;e zMA)#CgErK9N~LqB#djqaHC&&Pf78%7a`jO?Usv@Oz*NqRkg!i#IjcojlB?^&40l)X ztaD-{Pmhj(091bwn8i!zHzkoEedtYy;V!kB{RbZ$@Hl{Z{8FZAt;;)2RrMY3h0O<> zpbyOH(X~Eb9U;gD>n3EtwmM{Y^m6KHdSYzFm8OOMfVnw|ow?V@#m>FOErdpY=eSY& zPr2X~G0u1!V~Ye4ChzH`c-uOuO@C`GOOpu2gFeU3K$x%Jsdo%zWA=~zm_}i4ybKO7 z3^)xk$d4RNPh~`^u}P5&$96RA(6z8M#X}0lkG;=97_V>eE%^74Z#Un(jo@LM-LXIQ~rK$Ka{# zw7zOo=hJt9`@}o!+521M+kIn2^P3%Pc=GGj{s;ZOo)!=|G9_)povq+p*ttoa2wD}WtBb_^G=(Fjm zst0H?@WGWwavmOF($=GS3mk_;?v`Gwq*s9vR%#u-r?lw(=DrxlQ_I44J#)AFnHSmR z^Jr*a=CmwG<=5SgJ>xe{7V7aLh~%EB4Je3eE7x&ga{wtXq*EcnWN)tW-)Yvm?UElL^jBjakT}U=Z zSnt@Wc_UBWF~>F}aQ2w$SL96I@U$mt_vE-Tuj}uYGq1ZZ%ht4a?+d%&ayFjFz&9L6 zw$2Qj)lwOg8x!bl&FxrQt+r(ZnrToQ(y=a?63Me??eW!xJ)nt>PUQK$FY?HK(60l| z*w=ycl)G*V51$u4j(<9qwijxi&nWH_Q%Yus9-fmqy4P@+pbJ>|j{Sj1%M#~c#Wg^Kdy{G^%AzQ=n#xZsn2I_yH;I0DQSR20#Zn}13m!^(u~2Xe8%4t=b@dl13alpJ*f4C`$!Y3bvx zo4OF@e1a&``4cvT%y>eMp5(|0*og=UphhN|3o&_huy<=^S%Xv%GJ;gobX7#bA&RT} zaV5GXPs@8iwvF$y^194!OxE|h_P5Dg(2t%^tE673k+-8Ac!|{|)edv1mt((Ytpj97 z0@_rMpX>j>r^@C&>#5cKs!4sm{3>(H<@=9oE{m5P6IdMtd*kTdo012iw^t)YAxwRV z0d-}5+A!>l(NMtbi2lx3Dc>;o>`)>i_(U+Z<@uk-^6&1%*?G5ozS*^vpMv(ag)rjZ zy^}v%dp-HYDd$;o?6^gFtnqGlm;-WlPepgJL2rPI&|EflrCDebI}M&Gw0)m^`3t>L zPh6I|00>2nvzRK?uUM5Dw7EX#^IwAK$;Bh%KNL~>bT#-bV9V)S+bf3Wh%--uroRS& z-fM1muVGrhc^v&b!xvY=?Tj?s?T+PuDCc!=7{a@LAn}1iS*`!ppR;@bp)J)>jgDb=^R$`@Kc%Rv26~1JXAd-mtB^EZCw|)=ZIZN|_-`BmLF-2I-oW2xov2_S zk{qHPqD8FKyHlq&FP%uO4VDndezk^^MuCnp1NhOOjy9Cc_+`;pE3PoX3(I6dtezoT z6!k)#3HJhA?PsQ}r1`cDi1ivx_ojg6)awWH9)&YvjN_ps{oU?}Vz;F$mif?e1jFs$mTa+o z@OSxVY5-BOx7X;1(;?L8(T@i!)#*ag0hDRL`r@5J4HquaeLT~0AKy)>ld1_f$F-m7!d_qrGb>>b)geYpynUr za@|K;plReFG%SD4*fjRO$JU86!3>7A7^rOAXY>NjEww&pw`VHN_hx*o$Vdn(RfEzU zI5#8QTHq>veFylXUgHSV4rS1~{)H@h?#(LcAZk=n0{Tplj8Oqb@@=-S=dr)Gsdc9_ zbz6?#ugzP22aWOVyJ@$_*!2GW7g2|j)S4F##y6z1Oh&cO0VZ!h(@go!ab-?aE*SRJ zD@GBkBfi$3Q{B|OPB3>BL|@250hIZ5xXc#ZqpLFzv}OZLB~;bJn-{i+{@vX65P7^ zy_c`TGIl~Ugu2o{JL#K&Rtx>2ZFaPpwTJ2g+$qPuqU#(;!{4d!lImpE*Tw_gBUPdQ zhFnm%m#vn`we*N?GHEK%lm=dPpcftp51xKMm2;L=MX1T-{N}MU=I84*7hL^vxQ`O@ z-ekH&mQJJesIF9_UfUgH(#%E2@pFbVHK1I~O?*gVMV#Jmhzl|At4sDhwi>gFL`r~a z{jA{s*q@}mY_DPJ^%SswR%OSiX6=a4%CL+qhV1Eu>huALzNy*Kkv052Cx)PD3WC|i(}<{W^TL1`~N$d(enG)woaY; z@qPiWd@6~l8(*#7rO%MvdS5OQxMerL2onGyvM0cu^+ao*lnOTq>6#^fQVON&tstq@ zjG`?4dFc^aRhmk3{JA7egZ(KKdN6V$uwuEb9*y-R5nyZcbxQX$8g5aevo6h_GEOI% z`G^@eAln)>7FMvH_{Spze=McAReb>^GZZ4&@Q!TVV}uGEbnOgmQ1m}G6D*z6D~3)c zt2##G)85e;A-I!(Ld1b`-+jxEM*7snbR0LyFt_JYw$4MNEFK#fz^t&FEL#13Nc?LS z`71gy9shO)6#{o&H=LgbdTJ>0PDth^9% zUO1d40;5KM74gi8%j+hpZy7PseG5Y4__R=g|6!iZaUggx*I|f`& z3uHFR?lhQD9*yEnYF1{^veMK*$1e;EAF^)0wg% zwDcAvWna1_II{JLnCh)c_R(RTHB{G@(#qy-uf|4) zQd0xfh1&04hlvZVVhhr#vFR}EZ|6L!0XmCWx0z8+c5J8l;~Lu5;82UuEb|aOA}kZI zSVV^hv8~)GhA$2Pf!m=t^z(}+>s?!9*a-js1{o=O$No7!rEeQ1<1Q}P4X&i&qqSgN zuMmx#-s%LSjLFI=-x)^QBg%tOGXAf8sVDwjaBv?9IUSM)h7jvN%37zMRIsb7QoRw~ zQKTeaVw;;+-%@*ENOx)ma;wT)6s~VoSzzunWGhY;`1VR`6JNe`IMXa-|6)JNE8XubdR)NWh-f z#qJPwh>E++27O|2?8y8nM4D$t(*1V*+kU4bSivjasxKJJjxEri(IC37DM=?cyR z~JLi^C zyeKBmtKf#MawkDHRxRn@5neWx(;Nd>J0nQyBxL&f%kLX|?s4&gXaKeC1YOaavG(b! zHF|xd?wtLB^gu=|;!S$sj9h}P`R0lR0V#7q&SycaVb|vQrIeyI5bD^NDfv`gf<)WW z82(sdc`hi%xgG{d%)Z!z2~Ij}ai6p7AUj4tY2^4JDDVtxj_|2p(c>ni2}TMk?8-P& zTi}7k`Dxu9-wgbF=CU5*4J)SSDL}dS)%LV8L$&CmU`d@IHgBt=_lLTRT3c0XH8JDn z_R82p6B`}i1qzfv4I%iNr<7Xbt56v`pc;!A|J=-tr04L}h%Z>YALDGoamj^-^_)9% zn~26YM*H25(jzgpVa?iZhlGuW+!%if9riPebX`nHwD2HeG{KXxHfn5FLsH!but$?W zKpwOl9-GS?5booSSQC>~p*w|A63NS+tpAEWan&g{sIvIbPq5m*8hOUd^b@3>VR~L+ zywynu_6LkxKl<7oioOqEfYiq-DQwW%n^oj<<~*%+ZY%AR;1F()*UfD#(pcUU)Jfju z2KO!)vJIzGl-+J`f&yXC3IY0oY)|mAu4EzS+xex3541-}Vvy&~uU;zQ{;!epZE^z# z%PCRS1{{C?1^UXzJT&z8SX5!G!PH zPX1<20!?P(pS_NbDhHqM8U?!lx7(*b;Yi2yL>G$RwH^qG8Y9SBY6R~Sqc*#p9NH-@ z?C6CjywOX}iNeQLi?0>*!dVRz70}2UD%%Gj9^>9_cYqdz4H*13XqMnQwc;ly^Eh2( z9M3vHEC_J=Tm#RT+L~YG6Dt6HTuYb|bew9An@Krrov;beV&QQP?lQ4L$gQ)d`UGp_ z-&l-mbYh>UZ*1EhScmbeYJErZ#-n;HJk1s1LmlOh?NM~AuGk?}wbp`7SSwD)?aJ$g zfAL%i=XQs8WW|a%Dp(9Pzxxu$-;IMdzP2U)m)^Awh4ohKW37gmAn5P3E=Zot{-Tud z`3xDzq<5d4%86*|Ou=zR_`K}J&~mZjn~=K>>)8EM#OndOPucmECkrC}{?6~2 z6PwxBy%@ceSQZlZpspv%oc1|s4!=7p9%KBwZ3y;J{Wm&w*65DzJq7ijhCZJGGwO4P z#ja2~d*J8JVhaL;oJv8HGb6X-!e=7fXHDQmM&Ap#F(|v;#_b#sNIL5txmf@zElm#r zHVBAPO{1Uz>|%^0X5kQI849$hI#ws2INZ4V@cUIH$SR1=<1>g57uljKlJqX!39GQC zZ*dhwGe>4+frf7yb_b}|soI-Ff=DOB8sC4LtF3MqXmyqY%(Kr;fu>DvsPqarpFo!f z=hGq#jtMW22QoYooi+UZRwcVkRe}V6Wd8+8)oL9M4OyC?$4^70zu!p>LXXW%zDlFSx@-! z5@;ryhHRE;pn-CW!dXljt9!u@;#wwk9KQ-6%Ne$K0}xcX`ta=|^MsO;aeRNHkN_62Gxf_urYY%XDCRiDpmXa zD`Diln>}vjEj~>va?1wv7{zpN1f1J^4jPOeKp7{FnBRrmBfiM7-8=B_kxpK$vGSsJ zscrV68WE0++tzLkm+unjA*$cd^3~SN?$hIVbq9kV8#|K?fESWLCLGWwK_525$C*51 zSJ^SVdvAhMYS{b?SgOV_SXb-!)J~PP(=!K#|3cnq@B2vn4ioIAX4UBYAJwJUp#S0f zhwAz(dEyD`UJk4wPV52C16#G30}{Fi8mt~=^_X8jO{ZjXOI^Og(UBfJ2W}4HWS#mA zpi$tf#__TwhnDxhta`qpftO6t*d&SO@`m@Zs3|fG3heO1pU^DHiW3H%G&?^4A;SCL zX1yd5(=%d6CRHQ@b?YemAHL5TEJQNbj6%l^{Y{XyKFB1-=RSwOnjivC90P4&pi3=R zu<-%iM<9!ct8RUt?7dzlT?1#y>3i4>)^Z~bFjW;OX$9wuple|edNzR~Vf1$Z%PRGn z8Tq4NBJ10Y13ZYuss|c?#4Ietq)oL3&f#G^h(mx9`w-IQix}4ecBK?(Z12h7Y&OZR zSl^519QmNQw5O}2t2%}3N&-fI#p7B+f*4a&H|On@Dj}J?yo~)!VtD>CburTSr~s2! zR^9g;IP!5O|(54xB z`0yZ8I7<4Z3lJf6irN1YzjgRTlf%hhGr7G3EF&K6++6z#L}a=FYXV-D3oTzTO0~AT zmV1Cs`-%tl5W@IG?6-N+%We}K`gHe7h05gGz(r5J%B!GX;lSOydS_M)FX*v>x{ynB z`x$&1lF<)WbtQ~cqDI>J-S)9^fI_5-n9m6Srh-$K^W9C$RPk!A4oaGlhYvibPIKhWubhpaHkC1XDi#oQrhU;u#trM^o^?eTvkM7PAbFr zsdExY14=lA3}&3I>O~>E-m?PJ;Q76H5Vj+3&%eo_`^hpkBgH_4{qM(MmKGMgv#))K zySg8$m*C3{eT;uCXe06O0G*_pG+@!RP-Bip!(En(fe5v97hczr9U<{kM<3|>NEF@) z0WzpCauYQlj@}}Hd`aNlh;ydgWsSU_cvz#ozKI}kH0_Ao0|)%V(F~dYQYMY1B;6VF zFk?0v`~9-_WI^cd-*@(}8WP#f$lUOfv0);82N@FQ20Z7`L{UaVT*!)9?obNSVbcp8P8f)XP>cScM&6Mvj@JJi|OgQ>+?> zZ<7L8;h&O>d}9lM*3Ds{w7amTSbz6D=pL{n`&jJ~rhq>{5B2eE*XQCm`{pTE)>Hr& z8L~TrG1^%Ju=MjKjiFlEE>N@!2@124=UzhW#o~o9$aYb14u<63kWaSiU=lWUOUcJJ zEUXbi(D9QjE&rF~QZMlD{|<^m;7$bd)ZXm{y|<);3Wa4X@FXFfz8hW!b!lKz4-ah- zj3Sp7xe!M_0?OgU@Y(tawmTBP{Td+C^Ma_YD8*p*vf=S765bXfb`IWTdvMJNxQtFdFIsDC{H%T`Ym?lL%Uco`@nM+Ds#Ao+=O)FZinJ{aX^}piuBBfU zVpoygF82Jd-r>=VO{sqq^QwOBkj-UaQe8X*nvA)iST32jP_Z^^qQ&InV-@6cd+z#{jzneEF zALg=^nPOAAui(=b%uDt`H&Q-6HK>84<|rx>Vtc?vM0?=rSr+sKa4F7IhW#l(ZaR{? zZzR-g(;c*=ACp3S-?F?g$n{MRYTWFJkHs0zxH5#2e7| zqT_B~SPby+?`nQ`f4#wa;U+@pF7%GoG3`g_DzdSWxy0WMz|v_2@{gOU@gQe%U(_$J zSo#G0o{gb#N>DxU0ya_ToBu^F1x@z|btj@MZ@KP2(dfGz9A-w0T`D$@Wf~|lHv6%6 zHFkmKfWpzb{V$;RvY+<7_Hals=7hqtJyb+bLGS*0tImN2?ofWxDv}AjcEiSubP4BK zz4&iv#LIW}s5IlH$gTRTK{TNcqwvN$h_FC zO$O4`eIXH98>)XHw!_kpJ8*`Ama)06&w|srtOQq`0|GSWR(R`NN5 zIkPgkvh*S!!$c5?4_4MNlR6r}FWzMN+Usxi`PtvKQ0Ax45MWc_*q!)_ZWVkId7$KK z29-exi}_()X%X{3ApX$x9Q+Eyon>}h=#QrU$LMhVz_0~4l1=|?%mbHinr)F4y z8ej^;pl!WXSrpjU{N3nn#YBKr$}HCTA@XMJxnmo|cxW+C@JN&h9TH@5iTsRTo6~{I zN#C9TXulH=g1~X09=+k8H_mybKqR2a!C&xE!4nyjZg|1h2>c2r_@$e*hpX)9EuN-O z+vo;_ZpmEGKp_w2bqLDjn;oXN*<ul{IzPYzUv5=&8x>$b#jC>&GnyA} z#>;!tVwxK))pzcUY-Ct7Z`B4g4*~eN*yB+w;h%B1=~~vdK1U8Q^RfUGeiHPD^q+|H z^|N^@3T4X3Bh`<-$0>Axo%lXTko}`>zbG(M3AWeF3YiID*?`UP#9ahv&n(R1#`=DU z|44Jnl0`RL`7n-AdVAuSO(Qp4m9rrYX@V|k$&#rO2*znPh_93wP zIKExy8+r{~xiWyi{UJ6)qUI0RYG&8=M)p2)eKxs+X|DcP*!l!kcvyN#e)uXP{v;`6_W>3rd|Lahw_PwexG{pW>Cr49oXgtGKxb{S~?W4zM z8C-JrvBac}1}@O!Hw+#+eH8=X?|U1u#`QVgujs{8Ku@5l9HP23ovkVOz!B$fM}zFu z+_t_&-Snjl^d82LCpO@(AApb6JZ9T9Zn}+45dU*{{LDZCNY-DNGf;;+C_Os87b++b z=+TrgkN_*Y4|Lb}d7{>L;=owc*;juyFi$2epjb;CHosdULqqpw1VM9zZ{teG_zy{6 z-uHM9+b3QiBN^1L{kbC9+mB~}R1~&R*S{Q>P)_eJ={u(hdlV zK_Z{?*;nI2LnOS5!4)g4j*eHj;|f`>4;wUR3!?CzfJlg11Mu-0XOCVw&X`-V2H9Mi zjk(V?pJ;P@mX*x*5l(&W@Pv1)>ugT;)6k<$X8J?bb8|irMr7X$JCwmBn<7a`8*sFd zC$yLl=m(*yQg!3y>#W)*(Ukh&%?hFJ74<-Q&^+kTOYeNsSoX0?^!_QCh-f}Y zl)uGMNgEpOSx7gAcR@DzF!=o}PYcBoZ>q0%xdi}WMGHe>|+a-d+6I8cP8y%ww>*vgu1Jrzq?QE=X8Gu zmcJ>aS-2-A<~a;}f+ZGSyV(u6;lbhwK)oiup~tDHMp=4dIX8o4h*_{f^GojTtB{gw z^ynXr8pfY{GG)-P&^aF#4rC;S!JLyVGH32J6eX(8CCFN7$A(m;jO-k3b0zr+%9wLuas{-{MIGkAsqvc6XaTD-hAwIvwi zD66{!raAS*eSoO0bQN4Zsg=1@oA%iFhU-J#u@8#;yY7B}P*k7}h@a;v`b`0#P~-uk ze;TlRJ7LALTvEu4Tm$o_$x#ry)SoukmPK^UQxFaG1FY--hy2jcGkx{!rg|J7Qa*=} zKJ#GK9F|2bGG_$ryZp#hIrVOt$1s_Or@%2}*rqRMX$PijMU|9;G{ zCi9%TECc-)yuc+1vESu0WjsC{4pfR!_a`bs0!%xhEUWnn*@nE+?roOn`b2ALch2nv z(wPWXYKMj3is#y2S?`_<=5o%)&)6a*fHzz{)I=5vxhqFm&aD^#N+C;3^+KAZn95%% zkj!1i|1Dmt$1XB=@u?GL>G$_SmZA%clM&o@!;nF1AXwiu!J2|k#8fM*i0Td5uvhl7 z5SVb~sqTCz)3XYaP~CbGPzEYwKjS`>V3m?-#Aq=D{LB9!_5Hij(es1$Dn{AZN^vJTrGuj{QuoB4{_bre~L5Pu{Z`J0Br0qnm zIezqlZNNrivY8bi^aD}icQjM9s>Lq|>im8Wjk#aaP*ysP>3j99`}wtCG`I%u+~ePC zoesR&Q&azYs=EX~gMt!D;3$^406Phne31avDR@dTs2u|ETmFu!N;l7c4te=Z-w!8T zG2mX8sCjgU3>O%atg_^JuH#ns&P`}7>RXm`mt3Kaho`V z$Vb_F(4qpNKes~B2s{BO8p~4Hyzct@q=PpzTHLk`S}^`AhK#b>R17 z7Oq|dwngVSw`r`yX5eJOH)AgNYYFbfToMT_TQ1yVj3?0Bc6|X`%tor5=}j3JV*9Pp z}O`56Au#K}c^<3ainDR67zr#%rk*L%^QXZ}0!{;8wL?+e+cGD|sG0!X&izkaDVWLhBU zKMOwHPrXAROxk~Zt&VcqpnXL*i?m=zm2?&H=+yj{-nO(SfEI4B0(4ce0*&UTS_ zw;Le7xB+Vy`wZ#|UpLAc0jlXiUeOKCT@KmZL`diuWcW5b0a4<+@Rt zb#F&GKmUcsj!RxJMR1tsZ)_+-nx*X*9g7@|niSC&_H$ZJu)-vSyF-#^eQ^qIiZ8;1FylT zTo>>x!F+IAN6;>bR5Y=wxAOjEdIHPoqEU zuS?nF$FJe^vb(mYlCLBkI}%w6aWDO83Bwr%f>H)heh4Vz(Wr}9nH73Q5U5aat6eh; z61mGnus;Pm^-IZv+RdH^0c45kjo*y{H5d2TTG0j?B+;>y3w!Aa2tnpT;F4$?(ZwEw zrZm}qV2qn+HVl4G`9_Mq?fL8cheEM>1G$X-o_<3k58 z&Tw>vcWR&hhy2`K8!?`eQ&(G{otsc?;?;*bvKKo-bZ(KOw-xWJcel%6Q*TiTOh zw&iQD9#fI+9^Z=Vq!?2}1aP=Hg|c6+SQ_n|I(_JTZHZNMf%jW=X7+jp&}^VyrG0R- z{Vd!Gcfg6H@SRzB<*wup?@q%-RamJf3X5H*^f5*yN!W?4U~C0_VmR; zY#QvVT_M)P!0LPpCJwsMSbPBT6jY8LyyHY9z+&{8x9#vOqg@i$u)LC2xdhSzi(z&8 zfPthpW93W6opa%9=;W>epEL*jD_-aZjWqcsS9Ovs+?y5cJZfX+ef;BTkln*DaV7%WJ-6h+W7g{ zsiRV7RvfyMU<9qkYlfmS>o!X#C3&Zi8}Xg}_O8E+7DYNqEm^aV`(o_-RyubW9_AtU zEH=pJq)9cMDp2Q6U}T6}pAEA5&~j>>UYm8%S}M`JGTUqeM?l4s`4nc+A*0o`zkC#| zJxMdJH!Ixi`%KN7sk4m5{_ZFk`A8Twvn^YWQv+W5#kaRH2$%a4bP^SvJ_}c%QGKrO zVFVpFqrT$ULQ-Uk(TPRFF>44KZ6PR_xxK>5Qipc`^~rYf2ORA&6S0Cyfm2{Y223z+ z-62t7{DR4IN@i2~zN31Xj0gVLG zOqQ!>A1TFG)gE4^60NEarQ)us(dbb^^ie8N*Rje~r2`}*^W)!e#=L2Ps60O^c`Yo(L;g;2X>Bu4o}((!V$>m^w{P9r%ow`0-AL{G74LKx{0epnesGQB!sUtd}z z0mjww&%k69nU3#C#U6oMU>Ovexy`yD2hx6m7bv5`P87QY(q$O6PDj&#iAFJ9(_!Ca za@A%l`r&06k&m{AL1{@~YIn%;l7g^{5u$F&@A6A;oRK^5XC68vdN6IFqWj*4{s}#g~@;gJr-|Tu>ESKhDj<{&Fyhsqr43^(GdV z4o)K6Horaq|9#fD{e4V~XjJ;r4E8;&n6imqS_$36TaEhM9*nk~zcYe&zu!BC^s%Vh zZjf~K67v+L6H~<(*FAbSQ>Wh(O2`_Q(e&05XTW{SYWyOJU26*C_%S-HF$-^AgwgM* zaL9jf-F{qv={*{_(G+85>(*m2mz+z5L)&4ohYVTQV6kF&X}ua(*I9-HA9Yj8RjAhm z(rIsbm+du!pQ7HK+L^y(M+XTfcEESJutF)tD(LptWVkm8P9)IbD=qN+uVZk}YKA`o z1Q|Fyti1f4?~-AzBpBPdgQO|;EnB7o8^e)liJQmA;ti2b$Li{hi(h3_0KLZn`*>gR-;&ZzrlYgmqV-0y# zcx-VOCVmUQC$nZEY~VSV$<5{Sf5z2h6yj$r`B-QQ}RxS^MtcUOrv~ zvEctex22S3=!c~tlO;PrL*lQ}-?OvnBm@RYFAV&2cD!#dddTi;VoaFA!;bZ^kM?AwsnCS4F|I@9OO{+o<~b+tTyRQ z65L~5Cju*@(1V;%75peem*@P-7!KIQOsZgJ}A%D?N8tQ-`wX@zpBlm zEoIFfCe?N3FigB)TiyvjTR{B*aPC^#idy46Vp-dckJcc!lFx)&1~uiWkMc`&t& zo>6E9S1?U_mu}o7y1j6$JHHE4QwewYw+@Gew)p*oQC=2C9`0^ft7G>-3JzrIlJE=o z`hsLC?3M(_R}@+YE|ow(x}I2jE3_+0e?0&r($^|#k_Gk#jZF>{*y6(dvj5nG(!;3; zqY5U@!qps(RA}NlhZvLw6tk^x{;tDpDjx!cq*Q&J{V2oA;EHTc`NEk!D3qQGV_T>Q zoriR6%QiL^%+sIgZ}&*s)|sd`8>&>;i$pT!YlSNwv~a;|Wff1G+$dk-GVK(A)D`6T z*;YUkn27gq&-I*WSP5Q!>|;H6B$gbYr+4afEY}{VSO1j90z`hGnMj4>p~htb+_!q#xBoiT_&+f+|}3GEg1oT8(>T-9I%fsS`+foFy;F!}ioLg&4!-;h)u z;JYtTw-H6QnfH!21=xxmL1q3bKlzag&lJOEu+)eG(S4Cndn9N1)m~^h`IuVdfP#X_ zS1*&z?S39^XzYQ<+Nnb3v?!Ce6ISeRA)}L)K>V*3aa0_}6>_H~mkV_8_ItHG$ zpjbWuuex-5cX~((@c=i+kn0eq-yri39lhqN%v_1x#BWx*GGu2sM(%o^02h~fp%|5& zoR3#mI_vvC%on=42JSmnDM)-sZ~bls0?Zhi!X992Nc(2t$Rv37%Qk5rKp93EVyNw1 z4vCI0rM~ibe}M_{tW;88y_a^b4C$8x-h-MGCh#1q*=i~gs+mF9oqh#n*gW6D=)}!b3077 zp|8AH!w*OjVgXfJk}FwPEV);C`!8V)zt>v>QDM%h7s;E?$9>5RzRNnZBkpu$`wmhR znEE`_{$CGD@-K?^!`3;su8Zz7SQ?6ZHaaD*9p1xfC8FDGIG4Z7B01^MsfM?xA1;U?$6UFuX>rmMa#aX=dX4sKZ*Py zo^@fkr?1N8TIsyol$wn~4YDreypaad$GE+Mu!a@b5AOH=?B}BvwCdam4|0*wWb}}8 z;v}93f?p1Ax-Dp)$om9XV(Hn+bGtCMr@3=JdKAYt6|H3WV(cbj0bTPWXP>(uThrRv zrRGM3s0wr|n`4b+h8W>8dC{5p*9mM%Ir;z6LsDny8NqTeA%2aZvFJ&B`3i>Kmb~g~ zoXP{MXa5b;WBf%w3Z(I6J}eirFy8(9L$ZG{JY5hC-cZR_stzfoxm-^8qDQQxX66BN z(*$&NL~?6Ze{ee2P_FAFLKHL?hD(*Id4JS-C2Kw!y!uodh)Jr?=4= zvrqkP5q-{qkb7m`Jlebb;z!pR*A>_Qc-0TNK+rh;ogLow~3gEShN^PJL!b7lvh5XLqX)K*lQ4WDCg6ZVck1! z=t0*fkApr6pwRVWTPEdy@6!DiF6A~jM) zCOId)}4Rul~xl~HEOISnZ#$}TG^n-G$5j)=Dbb-ZOazGfomb-%I^;SP$g*2d#h8Iyx(+cSJZxAQrI52Hb`44{FHjU zMj-bVZaCG%(mV zM~(;8?&f-#Wc1-#tjo;Wy9X&l4!d_v9;RF-H|Jhw7c50oRrbDFXmh$c-Xn&HAHh#l z!L+T?1ZW`Z3HLSE$j7qWIbVk9w}?y}-+Vy(x}{f{B^D>0cAC}Xf<+~M-|s4gCl z-4;^fczUwY5wSNxs!Mpf#w|g`fq13?k)Zj~L9Fq~B*c=!U*d4ArB> zk>gNb*9SSS?(};)MzXoTy_ChCbw;sBA690MaE?7dWPWBftJXu@t(K88wmsLNpiOr@ zxH&Uifs{T&BvG>D`@3O$MCYClfZL)_C9-ggkJvJ9^;%c z1Cyz4M=B8P6&R=MViqbdgpEnWyAJMuD8tFQ@LCR!&9*Ht)DbBx7pg}-GSkN#LddnM z7E0!9_;T2VI_u>Yn{pe=+4{xVs<^rD*aX{A*e@+UCt9`M-@0{gd(t28#lR1uY27J6 z-^zF*^xF2-46#az&6r;0! z!e@HD(>nbsa18hSZSnk-hp*@hTT6wHl9L&KM3idNOQUn?ZFk5llB-lDbSFPqO0F&!>9t#T#e z)(gcz8|gN!2G4Dfdim1d$qD*Tn`@h$l}>TSSQ7AvbjUHW6pkD3%73 z?t+zxS$kF9RWh6cO-MJQ<*9ac+Z;{*=jLp6{$+23ww~z7l z)!Vh*Y6>jzcS>jceg)k^l3CGg{|HSE#&RASz~!*Xey#I0+*zx>x`Q2csEgPxTrX#Y zV%1gNzf{4!Jo2*i;D7^eS3FD}N7A3ctQKUMPxvirI%59x^+4(A-SYJ;Ln3LzX@~Js z+Xa1Swn6*MKefilZ-%hU3+AK*;Gt6nE+H>W=ze{?K_lb~A~Z*5MoBXrRsvc-y>~O*va*E$K@v zA$=F<@+lyqKMu46IM38vB;kU8!O{*S-c6a=LBrb&B8J_&xvsB$JpHiTOSGZo0c^S? z^;^e!cQou%{c%>~HY>72C}NBp{Scnc<@cjp-`-F+sP4x#RqI%UET&n^QnYv+GArL4 zjX=l0+bxLb9Sr{Ofo7%zf=KOUW+5OazkW;_|86n-`WcrLiTsWFM&lC9zD5+UZ zCAiGY?vOnzVc2x8u#Ly^hgMnfyiHoyH6J)=p|I(D-tT)8x7Ho4{sOJLJ0EwP0tW>- z2R~=dkLU^+hB$c5Che+sDGuXLxK8vcocY6>X z_RgUCL8ucN2$}`itpiKbdd_x$l(p+ z+Ajs9=LU)|-FCP@6$6uj4$?BEAR7CdkEnE3mgBHxty-Nhx|D%#A0JeRt$DcmMLxqj zfdldN)t!hR6KVyUQPyZYHur(% z2pMKDo@FLxab72P{y`-5i`}Dj@i)=u&5!hj3SjGUf>up2#@{r%@qfIHp;$e^C%nln z6b+kluD@&gV88`S<~MTI){F#0Y#;b{l;8s#QM-!R;FQwcAeSN7r+&c^zmO@Bt4GU^ zq_bK|A;CY46H9WB?SPUtwuTdEbh03G%1jbnFzaQd9H(f;`TX~u6?=Oksgh4J{`N2S z{-)cKcJHCL>PQZD`Vq8(5S3qpJCT*iM|?&49)b4!;xEKeGQALV=K1)xV(dvl1l7AI zVypEu3*!BgdEs440cPqBe)?(P*3V+6g4mijJRaEQoD?yNq48C-;K=nyT!_t*ZIZGG zCk)qPhqSSWwV>urk{VeP-H9zYf42D`>aX~&Zw3~c&xZ{K&ra#eA=j4pumwy#Lvg)1 zd>$^~%8^Kxg`2G4prkF1rR!?Qiw@q{k~+M6Y{~QKX9=u`-p$|??ajhN2q&`eqSp#B z;AwHTdBwf~SBcpie$v@9A5xK{vTj0F2HHm3m)%CVI$>cJV&X81=8;fN23H7dW(vz! zozHQ7(=!#sN*cb;lY`uKx~WFv5!B`NZ~jSArF{?;Z;w9WkXrdvft7P>Ru08^N3IY_ zKPe(<$Sf_k(buvVQ^BC|@6;c#7$?=q!tUAWwaw@7v8k8EAk|448e5nSp4xlTa~gf; zDx_o^i7=R1iO3`n)eHm$zo1_8qeE#AEY;Xgs6af!zm_i8j0rvQRt*TPrz(8AMn#m=AMd`<6f< zAocRvJs9{-hp=LK>H09Z8)nmueCc*k?A|)bOnqn&k;Xio54=K*-GW z2iHW@S&9Ubcb=1PuFv=a`?s#F4rJ_`wt}SLwLb_x$C1Q_w5xaqaP%rx!blQcj}vvS zcF%t(Pa|hG>`psuG)!Pea+vkQ?KA4Uc?TPCFi8n1hb@-ZpQ+Z%OR-dCSFjbu@k^c` zDMKMf%s#+_U*7IFgBlAeZv#QtfBXfjWNhN#O{7I)WX*l()j5BX9nBf+M2uiPSUK^x z_+ai=GG?z7J~3nU@mo6Uu}PXlFYG$K{#RDUP_zY?)uB4WTDH)e(unmZJ^J6BQu2$i zf0EBG35P=d7J{9YVw*Be?Nbc?<1T@I*voh!O|`zKnEH4wa*h*uq;o9x5DACE%R&6a zL4WfAHavxI5!GS1TO1Zjhav(+ru=y9J*RBM;q0z&FPQsN{*Q98RL(8L5R&l15JW9n zNKmcEy3IMF78Y2(MgF_$AWaQo)#7`9t+R5%%YGk-)`YE{A?;z^C?jZfM!Ep6q#AQq zhMxXY%Uy2OZ;Hb>B zR~jwQYx^e}B*X66+@kD$KN-S^S@^QV{HJWJzbGKR=T z3oe+H)E2Xm6ee1-BbjP$X&lU5SCd5}9k5{1Xahf| zJ{1Oo2Kr6OJ5p|9{SMNk>vzt3(ZcDk!vJfPB*yg^*3OjGZ}1Az^-j3dRGx@wz#X{= zsc%_gA?yGf1f3aG<3ITL-M{JeM-nj$5RhatKZ?yk930TsbVa$0u~adQo!88?5Fc5& zXQ-{@j-6r6$B;z0y)?b&U5D|f^Sp+gr=V?D&aPnb|+D@eIB9=xlo(&*0HlWQmPNRxade>;48@k><537_k81j?z1} zZtND%frMTo0IPmG%Z|%vXKFujSa>PvPE?WmQwY6I;bD~4yR?eg4?B_9$8VCkEuMy_ zp7<9y|Hayzmfz zVmD=xtVk{698aRcI<|T?)^lQPSO|7ahc{?ku1W!#AQMK4h=gn-ROq7%o9+&@yG$oW z8pVmanHC22e8RJv+nv^Abeq7W1`MO+s89>+ptO|pCuOkQaqsgH6*j~bF54~`JF)N1 zd;nuJk>GPSnv*JQ3`+u9$2JKXEke3|(_{r2M|){ZgK{*8?|`8hlfcgjCdhAerACVH zjT4aW9bmzdlX~D|NY=M2;9%%aXX_8sDr}oV${}IHZ|9-q(LOb(TvhU{yfLTmyGh%z z&MGA_Lq7}5M>+3EoU}PCh-|?1koVjW%$%4~Vq`xjW0K|YMgB~=G&;BND(g8B2UqdY zT6F^s9@1Q^^%{o?@=ixXC|XChdUBGrb#pXJt7*&T(!$#xClG_e%1THUTT1^(YoiZ8UBbc6-~QBRIYIV&K)BGQl!a!u@vWIav@q0 zQHDkD?`mH~1Wb7_I!}jrt%`yl-C<;j8Tmt+r?OIDRgpMIY$Nw851D_+Etg@;3wrN`Z@GJPshXRtFg*IZ4NT(g!J831Kl#^>EizwePq8n=1 zEB(`JnD_%|eDh%!>E;*ZgiLW}z!C&BIiKVLRVHkt!%v!cG#Dk%bY9gDjj;R$^<&cA!NDt=g%;O3;l;Suu8RCtkM(vfJ^|m7iI`H;p%wrI@Flj= z=FRM98}%f5t+xi_Rg2bt=8?ch<}S^*20pNH zK_F*lbCjn8U$?oR@`TF#`jeOM&dF)*O5w=V6aQ^v`ZXprhK1f-#R~})r>LB zt*fKQ?IN9^H&o>v^QK=Hk>?+3hKacKP%0M8F>ZZHFYLoj6Sa`e& zPKdxiWa}{TW?U(H{{XrEt5ze7Z!SD0;zVIM9QHqkYOW}>L1oK>W-qL}Z?4P)$s=Aq zIhL$s-cC~LFX*k9bN+i_2hytidN<7Hu;!fsJtda;otuT>Wa~3SJ=<`Di5A~f&kvDm zR??JaHVHe+bJsNh{FwktlA*N7Yq&e#1jD%Fo7S}!6}dlE1rc9*`mW|j%Hw_&q;T#EI3 z_pAN>28+?8HS^qSL{o}%DP%{OS09yXf zMahX!(Y!@^%bYe&!S5D=Du|nD6_zpJ=Mhx>&mF>xl#d^THCs{>)|)tb63whA6}2Y3 zp35Bg6VOd*Y}xO_Ancoo=k;V*3lVXe<=Gsf;I8BLW{hHdU#coZFsU|H*as@?MpqG3tbx&MnZ0>!$p4u^NT(`*4s!dOx7*7f7^l^z4XFuR8d5aP4JZ^KxJ` z;01b6BKrj{9rdQcBu(Sji|56`(3g4tv{iWDz2i9l_lQl7zF}w0Dd(Wt2R>ozvVO@) zBO3)=BFLS>9GG7N?%iitryWTFYEk6QIuWpCuFN2&WY3Pv49Z5c#4V3Lw|pWFlE07% zTG3!jiLu&8+5u2KS_|=?4aR>}?=vvTWPLFaP*Ubi}*G9&9H3Lc{=vmV*P+9lqN}R#F7LmLH zOV%k?H4htO|NmZ{PsE(VA2JP>=`V-qiLNe<(BL7s!Bf;pMuk01;eSVhB9@vwnYm3& z8j(Q64SQ;UG&Nr9s%DdCV*ja>QXGez>niqm3>LaEtHeE(;ZeLTVHHq37}k{0?ElE4 zS}?}~m#Hh|zOyDPYZui3I$Lt6XKU0MujsxxcW4!z)rEe{a|Dae-B&1V3)q5`(Xs^| zVbo3{4&%>c59G}~lth@-0QYbKy4`wNqs_QCaGyoMDi`X;qQjnxN{E+knIFTkx8O zGBwSshdTIxfvG`{)ppkO+j~z3Xn`d;H$t4y=yU<)d+zCsj_20N8#TGKg`7@r`zJ%z zl+y*<>V1J76@gLr&QR`}h*r*@&Rl&ndMzi2YJG3G&)XD-`?=cZI;MF9NmuS(wie8< zWu^jD!%TGo0b)$@0+Kc$%x#p@sm;KN`EV%g3GTE`f^|OX-#rAJcpl@X}~qA zG~k*6tx%Jp0O(M!!=!LwI>;FvqAZDl+(6fnrM)n-Hz)u`N#^eR5Qv*g@E;*bE(YW} zO~CA>mfxZ=5_NgL4^j}P-O^W-%%Qha$&q>sW^^($I|nZj2x$@8MVE}|Vx;tg>WI;8 z&yL?$;QAcDc+2EFdw=uzmqu&ctOSxlTROXS^M6L`o4Y2AjEuiBOHxC6c>;VL#ap+JVC=k+{Dn* zYrSsNzysJE0k6l7^?P7H`z~KP=eM{(0fSfODC|-K@@ZV03!&I4GTS1_TtBw#)U7LM zD{yK*)Hkte;}}VMAAPLlz2iG!tZLxz;2~7~wWd%A(Q-(53qhVkkg3b}+r&=wcipj) zytD&59SZP&26RvwepzfqmoWxn(wC8-%o>48;_ds&}1*U0R)g4{V)APA=@Ra}Ff^9+*x8w?Nc=XOI#py$wU zgDr97`f=j%J0w1R2>K&iyRUoh%xbIB2*RN5)Q9pQIq)S&*Z!MmFRQC87aO}>SrE_O z`8NS;{8$eQBD*KqX8*vGv*|}HrF9SkSz|4jz-xbld)Z6{yV%LWJT#}mv-pWumBH1K z5VHJ%2VYi%uMUFso;a8mQHN01rxd{ankg*Rzaj57LYrSZnnvqkErs2TNFV2{&lG?P zaIlt68IlzSR6y3}N@v|on|Dm(+VexjEnVL3I6nB8h6Wn1%bYV`Mh{Z6kuzuZ$g%G7 zve#r31Br)W1&8OHs8bvq6cWvChB@_XTv^Yw9guz|7%MWP$8y^vxOV=a{~-vX!ejY> zHC>z|(6|IT>W32zJ#3bswe4y59|tld=CsO&)QflH&1NP8ibqR?y7vsy(FO;{G3kz{ zpl6a>$OL9Pggo1ixJb)SM_a7H0_|s)Z;b_)*MCfA2k+j;$tUuz$B#@60UJxGvg&5SD9erK* zeIf`^ME!28se=(xCS@}G#|WfSNDru!qq&vaI|;D`R<)@DQ)wsG(TLZ@GoU=700S4 zs*+8%1-4nz9eK9Vir9z&fKo9;@nspeXnsL#xE&bwUFeZr{xU{4r=ty#9hgLZ!I*2Bac8S24@BE-2v|=ide6kEx>Av@I@|*7F zrXsfhWktS+l;Y^PdI^LCy|DMK7kJw_@PVgl+Fkj8gr*LpN!+}LG{`7aVw5~I5?7+^RPR;{=?n-w3=9h zvGCi3lca#u8kVk$9<;>`CLefu5ZH>I?6B#)x(hX?HIC^|D-UN(KbwIa5L+Plm!o%m zrxsP?HWranJ2R77x~tB<`kHdS&_fE?m~|;yYK-w3Wx=aPJgC5XQs!&af zf>B~Ap*8MXsPk)hYzBF+i7H1e>9^V8e9o}PpWdpEa^0MOd=?$p?yKaLPH zg}0@_KZb!Ih!$KPJh_s>Ey=2(eXu6&Ao8v0B62{H9gR#zFH4NE_b~np3=WQ|9#>kMwBu1wvG6}jV52!n1#dXI5xZWe0R zV9>O^hKdtlcwLc0Gm;BIqTkfYm3ywFy6^jD9>T;71VELiwEj9r2aupok`a!>N2 zX~s+K6s=m{K3b0&uq2x^hl)H%OoH5rs1`}EjongMRkNhEAb9IY7^2Ufe*!i?aT}x= zMaIo}@b1qO{i>g%-uk;8*T4A-(uDCzHQzzzBaj9seG(|;M(Ww+AG2_V%HmP1Un-z- zkcBQ2QHz8ArX*l=HW3k7rP(r{Xei;2rbwXqbd^3655gLA#2_sc zP$;|bNh1%5dkq=)u02lc)LJ$AeE@qcpLt)G+oQqPLbH32`(c5{@CKVf9C$?$SdqjJ zZI3Md2CExer1!VfxVv_u-0}*=n0MeUW8e%Rd0s30D}llyXYWUHA(w(#0i>sOh?2zV z@5)DM*v*B~g5hB14SBPAR3_dl%?7tqGE_DLu#Jg@>_@OWd^UKX(xQ153R+Y z)zln<7@_c`T~zXJ`H*dctR9co-y~RW^tS1y)rw{&7tFubrsY2S4G@ z2z~`7r3^DE``gz&vv%;W%?WsXI0=~>!rEX3VSCq?e3I~MB)*p!qCR`wPY}y_6}78g zll=^W?}yBgf>Bi;hfLp?o$a^Opn z{?ah_-XpFmv@`gJKkI@6elmgsntn5;%CuDVmUUaRYz;$T4b*>#VLmsVOeDqG8ndWh`&rJP~olKGJvc-qU*vQKh40w-PX(E?dZZpaM$ zvS3(Qjbpghk1Jpt>rPDzMuHJ8EeiGRmfQl;bdU9cXp>j&hJt@#;3oHn1U2RYKu)^Ffg zTHwkBDU8IO#FdiD(o#UkZF1%9?R}0-H?oPx+C2Y&o;do-T9rWSk^Z+go`?I)v*5O$ zDt2Zc8~U=Rp82{R&`!Gt`!Ozb>kB5#-sss$PbDmqZVECiZXL^Lu{>dFReLjlXJc_h z2}A#T&ok{A>pu74YDami&v%%&Oa6m#L=+ub>qVP~AAMLcFJ))IxA{ES!1*MEfxm$G z#s1Fo92eOzaQLt9RIBmoP^Xp}fwu1cqv?vmBQBug3U2H(u$mvGH!eju`OS1#D$4q8 zq|R&qHDVbg>=y@(YFdZRIDqA-&P%+5n1G#IqGcO}3;&}M<=js(86buu?ZtlR3{3v- z1pfY^X5-|!Yey5>KWi@gmi~o6ozG#bA4|Jax<`RjH?Wt4wNX)GeGza-vuuFDAkg1$ zF>+1YX$_Cb-|tah<=`L>2h$?m~{+=qHwl8jX}dCN)RC06{?23Lgj;Hjrl=1Pbrgygrt<+xk}t8lpR#_@fM=MevNRpQ zOZu=f+S~i`Sz;(XXmk43^eX}*Do6LB))3D9rj0po@%G=|_IG=wV$s_;N$b*opI!gC zP82hZq)Vc7Osv8X$-2PrgbVAzvnmk&CTae`L=N-8?Ixyf!f$h5ujepo@00)gdE^51 z)%r4|rWj9Mn{4#vV$?kQB^2`kga1D4dKHPV_xTNY>tve`_0{b|P{ap$)bBtz@8~z+ z_VMJP#6JAGxo|r-LRcX?cRTY7t>K)K)cwf$yWV%3PMg)ZpBp!T*;WXi`+sTztIdjt z*(`9E!|6{*j$^ipgBcj>0E*5?;LM{^L(m#eSgPH4yOq4RdwBX2_oYpRUcRy8I>xeX z0Tk9B-4`Wd6}0?|xF;hz_q(uc?N}e!$e=UPzR7l``z5qae*Mg?$aepHi1fz5fyvD8 zZ2QY$6)UYslp(MNwrpuQYzD*9(o#w3KkSeKZvB}bh303dbB%<7FUj0kObWl1++2Qw zlol8;_!q2d1KvSgodZax&m4v8bXSoCL8-on;Lo+0fi$i~#l9`MWAZkGdJqajKtl#L917MPMfv7_Ro~ z_NUt81Yq5$$OZo&93+Vl2e6e+w=;+&SvTNZr=3{vhj%YfLdZBR5uo2(#Q)uydrNKK zS?od}3WwtLWcCnG4#PmI|= zlOijc3>!| zSNhl2ndc|^ul>J&_J+?gSrC6_4akI$4(o-a&F@Kjuze{oGhbz56e0<}8){d8d>G^5 z;w}I!ikO1!QQpyjqXUk(^A(`!qtxox6?1_Q4rga=DXg`6ExPY7P~sW7Fz5hvr~`2H z%d5rRe#y%Z9UpW|^X=qIx8f+6ga$4r)n#%e=L=Qc6lmg?_bE;5`){oWS8aeu&{9&R z=i=&`WS#d%RjJBzDo4YY@%VB=7)1efCHqrWYA9G7u64#6bpbo^4z7<;|280v-A{s_ z;aq&41@EFfFw+fxiw4~$74){iIGGde?9u%{pFuwiym?aEWDTq21GT6)XaNezoydDL{_?(gD_x1Z;Jvg)x+v{-2EbDR=f^XVI!p!JnUk$y{EtOzcz?F zZBeTx$27m7Q2Vk;_~R9}AKcs9v$W7{_nREp5|?j zZWLOmWKK_CH7*5@?%lihJ_{`~PAH=~XUIjnwi1~S`vqD;DAxN)%>OcoXQ>J?6zfF| zM?k($9?8gHnhsClDzGv~DEjD(-UiTVPFJ;x&7V0tsO%=K;a*dUL$JGGcE(?@ewueJ zb`F=j+Zbs2GR~0=1xW-^D5QVpr@e+c=KVls+K5VHlA7-$+~~uima)?i56^o-~$Yv7a;1G8e|dOT?k=UKejnvk2pGl)CssT2fN zc1d-P=CMahiR@D41#0R zhD*O(QrZ{q@vb47FX|^{Mcso9xfHeLTvM~St+tI@Q-l*^iU%Q6r)%`14xs(=lr{;4 zr>gg@0I8S*7twh;|ASk>vhjm(mu5Wv8ZLN(A>r`x@yY)|dlyCYw&PHZG zR!xu?#5`iE4%>6UodX8nzPr-&5kB>J-ImMt@T7G4`8Y=SFSs3dl`dwuPOx{r${eQ8 zG5OJ5%H&>s8Q zZY?kfxlgP;rMh46xUqx`H5GxF6E4<&z^2J4{pR`oGj?+`B9}D(3}|I#Xe^c}vJk|S zUCzW%aezc`>ps2i@{~cqVPuKg$qD-Nb8H#@R2Ro9pY#K4ArX8g=(BDsG5%+!6+kPi zXG)y`%dy1Y5m^zeaNjs#Qj)4$CrY4J$8Hh0t{a|YHV~(M(u%@&nV{y=utyZ>Fqc$Q>@huKxTzs){s0S4xdqN@kom~2YLUt(JSAu+T;QmjA z@djiaH5@-F=o4m_j9s&^Ri)7aZ}L0Ww{qo)4|Y+HO~C^7GA0GY!eHUsoY*vurmW); zZ*Ok}M9GS;RtE7NC>M>^Mj=Tg?}l(FO|F|b5n)NSSj3Wbm6Js}-Benz`9nkWJ^njI zXUf)#B5;HEX}Ak=leOe+mDP0&$nm4hx(fpR<21EMRutH-=}g3}mK7$M$`eXQc~rSq zu+%=OmoQiyRT!`&wOYuSA}B7^d7Vk5e_*Y%uA+GsE5y%6B#$)=dZd7~NFsQ^^b+<3u)DenOOyQSIME{*9ksR}wEa%#JWbD^n1OzZ z5>7hzA(UD6<8}8sihWb{rgjsu3o6dbx)6b?#6 zf7`AM5W&lev3>yIu8mr19ZGulYQU?U^x84&Yt&YT=c<#EmM@Sl8|#63q~m9ZG1j7gWM&ExV1~`ugv5bZ!~>J z(lvxh;MtUP)IIs5$n)15*|OrGP3!7o7k*lschYF}b_iZI5V|2eBDb34p@%t&p z+K45SSe=xPpW^xRaOM%w39mFk!&#{_+^;p@R+xn(d^@4Qwxgxh*`eyYq)NQZGT4n< zYZ`b*hbD@q$bKwHKwO=@8qpEwwFE=~)o?m+w8p>lD^?C1zo^)=a5%dhJlSG%)e@5SdD3}OyIc<@T(wg#C;UHBs3oXIzMT~ z9ZOl_Z2@G35+-UE_UJZD=aRlnThh-W!S@$8v53=4QExFFelv?3ay9UnjfbVE~bDhagcFy81x?Npb+|9 zt{dD26kJgV1&1f%fXjZsG|Il>88CTgFI04VPBd%hZ#OAT&70$`{<*8w(q}ThbNtCK z5+|`+gRJ%TCnB{s+@MX3c{EP=qVS7J+2>h1>zk*0;Z_J>S7!`k>ka?K-vXHrg$^ZQH}(uJh!|~ z)sxq)>?||S46|2!lrKxQicUL#*nGMUb;^?Gc~E$MkqFE(K*DlbC}Q}+iJE5Jb%uM{ zX7j8UH6}HJ2&`hK%rmI#8EVIuE1mGATvX39AT!_n0a;@+AZA4>#{NxE4rj^RQ(KQC z^9UpHe;4Lqb`OB*=ko@4X_#TAb1(Ao6^Xmw93(IqL z(oQcg7?xrWB|=NB_(y=#n0p@igl_H>USOiZ6kPBOM&vGWk8Fu zWK2KwjsIfdUK^asF`M{m5{6RzGJ}D$qhDEt?g#DbQ|2eR&SHjy(O>VR0Es9fc(?|S zfq8cj?D;j|aR3b{Yl%-VguzlVWah$__elOf%0Qm9@35F2qfodU6Zk*Lpu^{qPfmz$n8o{iJI3 z>fS@R1*+k3I+&Yly*+h`lBl|N4j+PY*aqY3fXNPvFg)R$i6BvbLE~))MR6hycjS1< zCV#~B3sweln)x0}hdyo$oLoG!9wa;wm|0n%^L@4!jZFNS6)71~8tH;oHW~L&DHL27 zSe77RPA8%tdU$+ykh*fXIUuse^_LGPHh3bKU5mlxy&e_SQ z!}{x$`7J`q)tdzVt_0N`HHTSc-nLrP=G3Tm&$^pjt6XPN0B;NtxA7=}>B>e*(?MSd zt@Hb+62mvQ!{1mCITmNOwsm{Z%4%s#*(J7o^j5{!C5yba%burpH-0xp@E844LnOqY z^nFgRJpm6$zy1A-d`7>fFRT$t!SV<6m;#Re%u%kHQn-HVc3um(@pjEz&MaHXSQNty zc&wNblrni574JIE14E%()ETd|$YpEwUlR27)lpfBzjs4tod*MR24-EUxcD*8w1Zt> zNSl#)x*3f3_!Sx+Iar6eI@H!(suXrVN=s3lp!i*%=eH?!5}5MOSyJgP8tMaZs^Q z7_apYfqqFHxbqTmoX#lhE23@lACEckhh5CY_gi4|nV?^R{TCZ-p>kyB&V>>`O{f`= zhx*N84q9|eFrYsW>TvlP(ywXqKT64hGu$=lwVg|VeW6wAGx{r9zPD^)A~)p6F@+}3 zF3X3(2X&AZ7vBO54LML)$oa@n^$Y1Fbr60w60BD>&=F|#UBu3`(u$Q5>SHLdoQSU8fL z4k{vc%2j`-$O{@~(}X*qt6Co2C2M>2y%@9>=IY8Rx2G@&Vv7Yh@fP5t#OTX!rD!#M z7dJ|n;8AJXxG=JRwY&YY54)T|HI5z)o=~bFoZTm*7ZbNS`^)GJ! ztD$Gj>m6#}P?E>rH{fbVKjIk}s7DrQ2OiJiZ2h+KxSmlYu0@hC(_YBiXu#yo&kd!7 z%a5k~6_TUY9|dyHaKo-GqYiqbF}V!r3{whtaY$H6pY19Y^NfsB*BWViKutdZap$!v z=RBdnI|c=b2h<1{Xaf*v9c>#H=hQ;0+uT>GYnn+HmyVtt^e$bvt@-Lm=e$$k=0mGK z%@(sE3CO!1uuI-w5Yq+bErPBQL0OrKK*)7L#1Txr6g<}f2Pj~DAR64=Zfy$%|51K0 z!x60km&r7i8PM>_9MxqaalkO6kGrpdo6Byb+OPX7Om>b0UN;&47foLs(B%7m{SZawJD{vA`Jq9bShm_5KurGMu$i`w+ooVvqhaML|aYYUYtAL77~XZ0rAr z2`i^2pU@XItQuF)t6c67Par_QHP(hbjATdaE^1_*aV*LxbbGjbyQ@s?;3bs zH;fyRw->UB6VoW`>&kywEs`ctlT+B*Z#g#PqdAlY}I35e>1NsGJ3Zx_CdD*@+3^XXZd!Ej(|5qCymVnV_dvb?L! z^3Rp?2bZZTd-1+CxY=Y71{aVdbL}2q+(X$9hFsLWV7Jq#rKX(&rq7mvxexm4e;UwS^EIM)dt_3o+Kd55We%Dm51)#mBm zWni}QuQ`=Oqi}{Yzf*(ZUJ--~?xPMfj{nqjwS7L{Rt#Xl-AR7vUp9rwHi^=jvw!xi zsjUNLqWVZUN@aGIy$z1_(pDdw{;CoEWV^i`1t;5VZTtH%Ge3N#GHgU{jSX`ZqHmzQ zHm=g(w4?z0hYT_p{kffFIzV=D!+=*gf5|SkE5Msd;B%ltS$^}R4orhiC z0e1+{b5CGMv>I;3^U zJ}-%2{^F$WFp5Zpyw!)KFA~mMbPGtOSU@hbvRP3PhJS!=2xnXZx=QLS)gW#6&gX-l z4seDC@ssPpjUA_ZKKecRSNRhLbNMRLkD>TV_mySx_)c1El{fd^$d|8+jlnU@BSCuy zyk^al<_qJnjf|vbCw81wr~o}U;8js-(Z9Wuw6nata*KDQ!@1>EI~cA`rh~u7T7w5p zz>nP62fGn~5k6h-=cD~K8g}k3nZ*f9c8|Fb9bS$eE!TbJz_oZ=rGZnQ^Ttej%Z_cP z89nx<7^Tly(Q6^0V352U3d~~3`oH{*60E@5RT2N~!uxYmn7BHvobQbf1hubhm168E$xZ+QI>feMcC=6}DCr`9 z37V+fU=QM5o3E99HoYCRx7kyDQ8E#TU_6C5Kscn9AQ5NxF|w_&{9Bf`s|h>80SrG; zSA=9-!Q<(toTXhq84fR=zE~E}bM+N*g4i-!vFkqbD=jff4w zneZu;L>HOVnonwW3OT;M3m_JGUG#&EuD*$P--9nX7tJ3`^5THvnqxNI#n&kVZ?JHd zKeIQBGxH%1&K_S$SoD$Hfp&1)X`Ch+ZQ7uJ6jL=&moAfXuvy=mn_I4?E(K6zH%O-U z`(Ha^)%C~f+K)ZVI_mL1d2-BOOrz$&?C%f`J)_92_byrY8!Q)1Ntr%cH|`N`Ld3-qdLV{@L$12 znW=IH0=shAY^yB_Rz!jPFTZ&$`d+Z)Se;^xX~n&#!J+t`bdt&zjw6#CCD>lJom{q6 z-;2TF*yP-o-zbW61O0~GaYz<`?y^eZP($U;y_f940rb8h z9c{C#T)>o2{+r0wLl!S!gJB5{t=lN^(cqrcPq)<$UE<0iDh!+*j%8dZn`{bQRL@MC z9r^j1qXT@|92~R)#k%TIq==>P^cKsk3G|?=XO0L%Ma@C_{iCy>;i~T%4!s^vN$O&0 zz&#Lp0{;Sj#sL{?Kqpsx??*O=(A3-m=1V1Fge)aYLVwd#?p*(Yapbg)w~2Z*jl!5w zAn<6l3L;|;T)Myw@(La&+>hVVM~q_897N9{usi#i1pVMr{pHCRNSnEMie1FyI*v5T z-v8!G-4Hk&ZnE>?T_cyH(T###8zB0YaDZlJ*K4sEB3tCF#0q9U=+hZw`%S)_o}VM#&olQAYaGS1bo!WDS2UYe#I8n8L%rm+63Hq(f;uKX-|vuvu#bKA5NJD zN(l`Pel77z$PucxYgp~W#^-f>71)iH#Z?u`m2a~l9QhA+!=Z`vK5*s$ylBHB4Jg(Dk>58VmTIu%ZpSbRk_GpDJCwKSMW+tHzyD4HOT3#gBba!|ds8SbXl#!m zkF&0$=s5seOv~=L^;0|jX=dZ%M?t0He;v8vZ|WzpjLo*=cf!V81EuFlKRvp#LOzaj zA?a3yE;nH)LQ^3B{ZFV)^1j9W)jR&Z2Zz%Z5MTMF<=bt zA`W}MntZUi@@XD4i};dJtRX-{-pyqr_1%w=dFRxVL#VrqgJiR3xd3fwcq2FW%H3}+ zv+eBKdSMCck~7;PlQ<3~EH7k-P}&KJFGrf7sD+h3gE=U5KY2;tylQ06|4>?JKE&_p zo3DSVV&MkiXga8D`S%7ocEHI|#i?cbS@0VSM6~RpO?E#1Vd-f$i@)jk_IeZyEd@%8 zjMohdzqD`o9fVXLhv==l@W8-Wyl^>l(@i7=qUZXjNMIGjkdh7;Zvt1|o`0`SgXGQT z*V(5^IrETvMBcFN!g5k(#=`yqqywJ*18FZ)JE+8$xPf7e5dU{B@!TYT2T=B$tg++M zt53w6kTjHfP^7`;#ut?qKSv-w+tiKz2jSpJAVQR7cRm9&)F_zYzjqs$M6lz(_J7~5 zTP|sP5?M^#bSrf(kvN8*zL>yNe0)XZ{p0CMyTaq+%^?NRk`=XTL;SS1p!icLJ@)6l z)k1Cl13WDIZC`b5f`Bzl(rl5v_NzOmMTN4IC?`*zxqqG4=nPQV%7OiCT9i(n;BoS| z3onS_{It7I?DO?be(zPk3e}9`mNtvtF&Fx@OZ9=LBL)Z%yNvcR^CIStw{)Dys&8n^9!VjnoQrU5+vmo*IYNkk*bnO7^7RINv&q6>O11k^}*tu`^5kZcA)go z_e+JsfU8LO8gPQ6TneOjJ_yFLb|CKAR@8ihoZNPYnC$#exLS5{`>Ufo+~uS7%z4E7 zQY{;c?7N(7f{e9sJ`c9lyhhEU-wb#w)dpTCpfV$Ck(AISUw5`Ea4xD*ceUi>K1H)y zUC#6S#CPE?GT}2R99MW(mxod*l^jq zoE#u<>N80r)Z;A6l_%X{^;@=i&L1p|Zt-s2%xA>$?r;p}eCo{kdVC3^+8Tn^drJ^D zzwTpnE2%^-)H769$xU$xBc$Ji@QFh0?T*zDdLMpOWrRIIQ$u7d{P*v+rM&0w;M`VX zTnlE(68#twfHND3$F+MihHz=o+01Rs+TRN<%OkJS`XD3`IQGd5{c8_b^3fWkm0?)Y z_eUv%V&R|NK;`XzP@3z+;bsu&=<*u!86wLfttme!Hgs-o4m3|4;N(KUrSTc1Uu(D% zAc1r1_LPJbm)*_sP`2MQo+Vvxjczt&JYUQ;oRoLP@M_uCgG;0GZ506vRV>>gmwLZa zAwG~>p^k=Al6?^Azbe{Lz z6V#Wh2HJWp1Q3YwP$B3HyXUiLlcA(+AG)>RIC6KL#Qvk6d7g zl?emN0MkuqxJE9ttg6MVQFh7jnL-Kxd@E2*0QOGv+fS9kK`{TOj_u}QrwhIGa=Uuk zvWnxk<3jU?SLGw4yS}bgM?ddzsxl*wbGqQ}$1h#8&x$uHf9*z(kV)3%W0EgvDKV&r zQb+OXc9BO@NVh8Hz&J$ky6!1m(an|kGD5ZxY=tbX)UJhoHCf$GE0AV=2H3(wmjLm` zo=klf%^el^CQPzzsedt{YX(!I-`q8>(op*K)w4$DM zlVCLsXJ~6$oM6Wx;f!lwmFWQE$EYcFJ~8x4L!f;@Lae#v`Sc&av;;;x|oMi~i&34w~ZM$W*Rt^r79@gfB!4oGq)|G3%Oxfc@@!4n|yMo-1(71?mv)8;iP})ndjDlu?%q{jB?3j0uqdM z5*+GEa_k~?R$^7DFFdJ@BIYsTbid7cA4)1D$vl#reI$t$*S<=5=}N90K7*{VHh0rP zuKJGwdSvAN>bOZW{9LJWNKh{;D+`f0W)znzwdLp_Y*J+oDIOsbY(WYi$pVX1TqWwD zy5dEE_Z)}FWfo1E;fSvB6{tZRIq`cqYO?q9|oDoR7&nlwOa>Beexj!~pc_%@J zJiu+uTqqw%)=mKy^zCH+k^}2NIC7&5XBGe zmx0Jf{F!6xi~buPlX3%T;x*3XgG0W~=}Z&d-8k`~Yb@8Ci`>wbTR2#)aH*D++#cZ0 zN~7E{_;ESz?L8SIrLg~tJRC@Riedz6N7pxOT&K&r?$&e6G9Y^E z^^Gcb(>&c*IQcAgk9>Vcg>M?W(R_s1BY{Pg!o__omtOQslqddg);8Hg}t+I@3 z2bUNg>YtmOhlDJeCpS;G-Uy>d{$Wj75G7NlCy>j?Kq*+#v)K0|t-Xf{Y4bj*9Zdms ztK$&jYI)!$+G)^eV`({@mp>}05F~MeE^9Eb|69qgkH5c5QD8O%Dfeiwhb~bJ0gj4@ zf*kz6bX98JU#&%*yqi4+aJ}u`eP56Bn`xrEP&M%sdqVDIipWS+$?b^zusi)+*C1aV ze#UoRYApQYeZ+(q{I}Xq%{~iH%Vs`rXZ|8NSEq*&o#;gJD!uoQyi2iFUyp`rW8_n) z`Hp=l4iY4GdPGM@x3#r}P&uXdQEJ>@+JV862(?Tsb*!Qk7U7_Q)(c5tqSc;I4uU*i z)FnnHXA86|SDdG66;NK(7j!MSl2E5b-G2D+VY)53)S@?khlb**w9XMb^YgE!vB0t| zArnxY`JYS!su+5?JfW;i;TmMgBhxTCz=bq?hh>LVsS?lTkoNR-9xeG_y;``jjb3JZdw`cqDH`Zama{r&qv(OV_h?-CV1WDM&=I`ZkMAxUh+8J0$ADz@*E zbc)Ee)9@-t{Aq9JB$P2C7jLQG*nET0As)^|F<33W$!oHHB(9F;N`Q?*ly08HN8JS4 z`0ffdZN<{KJ^xoU6!j0hm`6@EJcoaL*@lg8(NeNN?vhxDj;GQ=(8Rdd50u(Jmxzw3 z;`teNOG$}MfBib8Lkd?;ohWFgXWKla{`%q>c?gXNY5gcTnxS!bd5ChWFKZsqVI4`C zW2ZmRFa#|z)>FV=s)dqg-8WuxKOzL^t)ZqHJy-o{2am%W%?B5i!9#G#@PHpYjNk{TBto4;Ly z&yzBAr{xn1m_go{UW4x3_jkjM&msEHEVneMgktHW&S-o8KxOQQ;?p{ce_CdVrmHwL zp2>b9o@Q6|^3CMEcOlP9bY(v!Cres|F=2m&hVYyQlrwtVWJ0b}_`eLn@B-savyjVW z<#BWdveJQk?4%)D@PR+stXgi*bQv=9yJmW!T+35ExxZYVk?QP8&hqKOL8+#|p(L3* zXg@Csdt@S=mE9eo?c|g=bj{2aDz{EiV`<=p-gOfE&~l!W=B`wC!g5TokG0IHW$txi z=oU*FOJDBNevAI5u1-2yK~T)+_v>t1LaeNJ3nD%7pH!yPdcOvduI^;>ZF#9WbNR&M01Y+LC%12unA!Y%cKpPKjQSLqYr}NVf*=M#=yOlqA z^iXRM*z}{U$`cxL1!f}}D7sdQ7^_TzexYMK_#4!(JeI(kiCVhdo z$16422lBg>S5%ZqNU}t{vG=D^*iPI2d99tU#fH+M zK*8c7Di9^Uz>Z8D9uGnyg5}_+o`_9GUmLpb%AMiKoL12ZvCO0Vc29YG45;_`pb3um zF)jXP+W%$wv#uRhwj(d_|99xt9n$I$$HT&i;D;Q7v(s;jn3?mHqvy z=b_t}MAf}kfBBHK{QczE?9*i_q~__#Ti(N;^z4SKL|6@@NX@&vhPaxQ?I*oFE5($9I6kZkEj@hB8k`Au1ltu%y{^9)5-`O zf=EzkD9aQl0bq5A2^kB#*KZMd!v(Qxro(qn-k|M|IKBOT>LDXHg7wHk-X0lPx~SsA z!xA!@$%4=}r7$S8oIhxGV8vd{)PM-Ii+G+>n>}kqh>YiwW_b%O@1Yk+se; zUJIC<|Kf^02Isg?m-}50&S*N77)(k=9N%Q$oV{s+8KBeiv zi<|1Z=gu<6z>iH6=sgMrQM3VqGM(fe%6I~)u4o!%p2F}9g!Ej4$Q6e$ZP6r^wW$*= z-!o|_>e1vlTOo=&a{thGS3zXxztbNHj%@}I%%9v z`PEM_DCEHe^0uqKzUJL)qua)Y)sC7J@gHQ!z}%!H3a=;Bqzq-yJ4X2NDRQSjpf0i- zlUb`o-oB>=GJc>p4bZE{$Hj@m{QAt>d(>*@iTxi~PK&z!8zV#WwB?aXvjSt{>#jN6 zL5xNlBxWd%+|@Pw4CoO))F!y}TgJM4Di-Ei>_9{=Rej5=1C-rMl<|z>Qh5YZ*|d#U zIp*~F=Vz%Egxq$dDuNI3YKw<}jpB-m6L(-){lnX((Ma6&2>Hg3{6fcAN=ApSQwx-^ z++ODH7BHrc)(hPxW8h#3Dbi5t4FT_ul}$%du;K~z5d2$sg)cmEY`xXAdt8LRbJulZ zmzlqlO!Wl58Yp_VO~CLPq7b|UaAo80MLI1iO1I5St1}tJbw=Rsmy-={AH-Z zLy(<{ve2r57o9q}s)rO<84%iA8uSX%$?&c@sR=7IJ0IPL3|YF!-*@EICQ+3P1+MY) z{{B*ePi)ejCl{BNTEobglM89aTu{dEs9oHCF-PwfO=S~h?t-996R9~As?_Namb*_! z5eLzG)G4rB;X_G>0Cx7NEb3ok-y^MSewEkNJuQh(IH#(EUs?+3G7p?Tl|Kw$w;wic zckyoY=}KmvY}vmxgIpO|{Wfw1#i2E`Uw*M_QQ64bu7N-rhpr~Xs&^hnWap?` z)o7!~*NY8|EA6i(_6K|Itc*)OzADtl)k~T0i}7>YB{u~<87h-aDbNyi6=#HLcMVc(|9!8HUPDwGTgMtJ^bJ|OEn<}2vRzIm|^0rqQRq&a!ZWmhAw(2*lwjBdd6`i&cACHys}@XTBPeQfhmUY+;cHfz+P-OF949t2u% z{4dNsbyDL};7b!e>|})~oP?FP(lG3r_-+KNtkEK0J{v7-dv9m#bdwuvhs!~~Rq2T? ziNg0y$aMdylZd^?uIBiDqUDgo`MF32t$fuwvFYXFQbqng)rGDX^qr$bJkTYwjZ)2~Wm2#Hbja zy2q@dtzev$n(aVeE3R-|d={;Xm>mYz1#ettAPSlA@?fnwRDvR+8AyG;KYls`sOg1G zfl6ublZa%$By;@x;_R~35;tyur#$4?)rx2q9XLcO(EGxK&GV+coBYaeh5=cIm1Nze zoASQrHo+dTgd5*l1P$&_i1|M$3Lt~j z`Ug)AtAd0)i1L4B>$|(1EbUWSpW&+XG3xmNCj9}>puAf=GA#5rUd;YtnF8k|AhQ5@ z@_SgTIgFjtYT)#~!(kq{JKzipMM9aX7)HX;Ntc7U3@Y^srimxXuoTaJTaOtY9-dhq zt-hQ47x z>6@`f%njJf8gf_%F5kC^mLGtTS^T>c6RC7-U8+TOuVi`CIr5`78uB^ z1V#7F7*>DyLd!O;ik*2L8Zq%45FC7l2-3zL266ikf1<&Tif+RPD&SDZ4KFa2zcV3j>X{&yktPR zcN3V_q;k4m_T_iL7SMjLO9K-Uy+omz3mJ9Q2*}o#i9L!WeCa;%edoPY6$XbV0_B)Wj@qoE9Q@^DI+b2~7Ljj$5Cr>~ zcz0F`<0z@=WFJ_1b@1GKGAeW{^l~O!UvDoSKC|{Sv$HJSqSiut%{+ogz;zqmmR-y` z@k4fx`}IM$go#~Hah-7I4aT05i?e#NrHdvHFx(YnOQ=DevUAX%`ege8=^Th!pl=H} z%&s+Duu#K0bP8dIHVt^|y6~sGhoHD(D#C+^_W67NcqBcM-AJ5HFK1!A!1UADBB6X- zB0ecJujR`#t@rkBZcSF7i#?1_$L~i`Ko5K8EOMr_6u~gWz9Ovfavox3#v8x53wrzn zJL{A059=mS3M-qwtELTmK+1{4CTuWT&}1YVyS`2>boRNSy6R%K#k~AbQNF~jLkb8S zK4S#ZAXkw*F5ho0UDn^TcX;+sTS$Rs$9ZUE@#s!pVMg-noANWO<4Lma!Aw%|qNGA& z&dj2NO_Nx}P|&;2mwta}^?2(mTKC0mGl5VbDe;#X^zAX1&>7w$+@fzR)99;M=?#GJ zV#naKAv9FqPjQwRLvBIfB4)C2HJ(e2ikq6)<7`xTDIq}_-|b!U)X+ZQ$8jXVnE^2F zgVnjZC9|YxGg~=G9EgXM1u@b0E%#SyTt@x+t!(y4Ja)2wSCcE;2=QI28K6&U+O+MH zmlnFQGb-xjaU~}2C>@aopKc*Jt(ixINmMfaGP<_Qf}MG4v#)oP{A z7a+`D`SOpmssbf8)K>V|^X8Ut7XbgvX>pA{=(avpe=Eq^_}DM{fuqf>c!`l0(#$Ey zz*kHD0|;wlja_O?=Ye=jF)3LV^W*0X#9q^qm<)th8;$lfM(Vr`NhhM&g@2YC+h&T! zUeN8;iaj+FEm$2D6$KG82)dp8vB_=c7+7d78`7}`Xr^_|?LQD6Ps!`-uZIRbEgONn z6*{$(&4AqKqY5iP))EsOGFMn=ROaXfX@Q|DEIZL*GTVp5-^ zMMboLka$*ipmk!s^Il%HVC0Zs5sANh-qF6ro>P~x!bYc*>B;gG=Bn=TqbSOI@KbTI z6mIInH*cZR&sPaxTUXb*rBAs8ZyoMRZ9dfbeYt={Vjx8t=AnBVcgO3l=$qUqexD;g zPFi-kcuK$z{M=f^_rZDD`tNV5VDZ=BHxq{TY_s%0R-5 zS8k}j;_Q1^cfHWXW6|)vPD#%-GR}P^Y+p3u88_gK*rMD)>`SM48R*O09KL0%k2m|Z@#$o>X;zbt%!u4%>$)fdVQa9P1?IB%FOAL>zkoTqUd=|qPLLt?io$&I%saR`w{k9<5rsY~&ew-0BUf)`o?{S$~8vI7*ASBe5n@DGn zbA2yD35Z1D#R3XX@dT!+3*<6YL7rvy6@P-J8H4MGj74Lmf*UvXx0C-SG1RFZjbD=G zHRmvDq~anP?0~lSI_x`-$oJ59Wuy>xdCyNiX4`C09f#7a zN8Ou*W1t&!4y6D|U}dN3Jc0*dQ~PL^<9b6nk@WbJhSy6ix>b7my;1!5TWp26C1O&2Fp_yZeoRFWfO)J)u!rx+&NjpQMSl+ zT0^or?`6<_UsTjxT}1l~Xx1WyPYpSH6=cHJ9YH=fi7$3Z0p2qSmeR$AnRm4jZ4#}o zkt9R@F!x4rASE$O{fD$paF8&u%`}|%h`=XZ7xDK)l703CpvNDPH(6^JT0=!y)noqF z`)|Q(L?o+?R&!nEOEd1XQR@UD%bRbk|rbmTHqfdzf_W8ax8t#37Oii* z(=;fU6=vm?hA@2()G9Y&>9c6p(LJ8HexyC&;p0-RjG_+3!lar6gDo5sMeV)26sotg zJSuK$>+vR=GrjCjK*aDGZgb^-$pKsOzq38LUI2LTQZENyFg?boXN3lh*Q}uN z(XqSb^q~~{g=f$1q76O^F;aPNh=8O)1GJ?4uVS%DToLqevzh3quYWT%Uk?pE2CX<% zpp^l*KAqE_V@omNkcZSu2eHSG?pJ>`!1O+v$&1g^HhGorY`kN@KVNB@7EW+>6s1p7!-IJ$*v3_^bQC=QOxsk z%0}+D&O3IIg~Y$#gtBus|2X=jF>qI$?~~JF0?=k~Ypx!n0}fA>;$Nt<3)|z`b-rhR zxMtp$^S16D`UXdU^I)O%i`}*`dO(L_}aH-B*Z`Df3 zeTQb~gAX;O^o=$nW&=8`c(AVf%vcSs1~HzD+%C4eOmDgnTot|SJ5y51OQ(x?xa~Ai z6o+h3W6w$;1g>GEg@;=kRbqPSF6O|e#dc3v3RYxK72QTsqjHCzMjJE+NQEX6;w>Q>Vylf3eo1K;Jb{n2nNpO5G z=ktgLbV#MneVnNlt|r_JYOOJp5okn!PJuS8K3R-FtHHaw6JMyGyltBExb>9Y_v4@) zN@9o!*2Jdn?(1YMnKw(r5TH*I#%uq-(qCYAu3v3qtI)geW{K2Qs|S;~KY!FV@*U+Y zeAXj(skJraUqvrqsH|Dh4|d)2?-mJO_{v%mP;frPec5XZhMi3i94xbQa%JRRbxW+@ zbAA1dxP^+44fb{}!Y2&5^7H3~%L3sb8AFz()qBX9Qdveg!^9xT;}S5hP#S$KW_XrmeO0??hRBxs=rRM!!fy zcyeBrjdoK7;oKM4O_RxgMe3gR)9CCMPv)18U1yku`R5s>EZu6Ej9eZ8=YMv(vW&(gbS?cCEnrg~NY(ki(}X<-q9dU9x=N8qThe>wVZe z=Ti&2Xo!Sm{&&6OSuX`>OdO!Zeoya@e+)%Z+=Nkn4p@tNIosD_+APCrH<$~sUMz=U zFO(*@4_a1C|MT10kVP? zG0GRueDK>Z(;93H_(l8vmJ&~~y(GW8K|{3KAq75-G)gmf?$jpOj!`4BY2@@C9L$2j z^xH~`(Elwtt~CZ7&q2E+kg*dlQ!&8)jq;3>_P3x{F^On&+|3JE5phStKXSU;r!3 zwLsu7US~`T#(an#CAz=^#=Qqys5{UalK1op__s7r#P2Bs_0J^ubGs=hhc33YN+c=FS)d zHbfmpSSv&67Q&lcc?^ByOIQaLb&lI4!1Yi66zk!9R+&cXuL_4}KmjVo16h-6|rNj{b_Uak)+s*?hVF`%>D%@tK0j7$&?>4%-By>2@dus*JjKjZ*6oO8ois~=IRG>Dqqfj zh>MF86)ieR-Ftgzq(=i2Y>k216VxN7zVA>8{xT^A>89aIOO{{sKr59NqQ)gbP^86eRaX&Bb_rkQTCgVe0@Ccu|?$C`p^*PBreF@&UNi?@WoTm z(2QK&!9x1_^ICkMhL)(V(&TlL1S=$z#M`y@FzUc29*Ok7tPUj?7%719Tf?!YmEF&! zQsCwCVdg~!)6NMjGaH_C#Pdbje_bNNDRYEG=p^b#!7Kv_$6C1s_#xXm#OC;Q*S}Hv zTY+BjAF^LtaQ-R85OQbeQ5C2DdK)7WL{a_1fF$`7Q}-3LGpxd1`_0t3?|re# zq>Z+*J$8(^IVN|UCT_pn<|Y0Puh2<+i9XedTAL^~Imcw(=AT-3)G{=^VdkXU`l)wF zbCW(>xeJPrZ7{V2@lug{1K-!ceM$uQb@)b4AM{|~y++2{=lpB2b*+v(C+-|RDo4Y2 z#JVFyl=Y{~G$*zT;)@Rr_ShIg$-KpTGm^N6Isz?GILZ?)7OP;0C^;{UxN#-Ixl zN=u1%bd~nph1rWNcv^dL@j0M&v%7U>n=pJgSVMkK?dS()0<`d%shq7dGv%L5xKe1s za>}k?2&g<++rk&#Ieu`w+X0YyeH=?FTsJaaO@+Rsw*Bh;0IPL8TV8daDU?Tnz^lTC!u7DMA4QkE1A-&|zx~On) zj}xqy^!v8Kz>7*^6cZ9OYV4+v6`-Cg-#==lt=&|j(kFcA2u&0Fd@5URxNG2m+{ln% zPS!Q=A?Qcg-rjx!qmp$`IA|v)HA&ukzl-F-FOhwI08@-6i=dzhNn@kUqw?Wl**gP{ zE-p6~ZN$MI3S-y)Ne*J?h}00~AROQJC*k=aUoU@yg>CRvBciA;KLPd50S%3<)FzD| z#einq0sF;^kCpU99Rn>YSdlPWz)L8^U>oHB@44QnXC+mkmoSxoPFOC*bj^taEtXm5`+s4Ud-s6}d|JC<3zw&fF+l-=a!r=YGQZ$}B_@4N>*3MNfWMo)2e)eWYRC0Gf{arQ| zF}uKUXrcRgRtDlMYy*wEs1SqkV4Y0QnR!RJmhQOLmPQV+zKuB55O?rx<#k(Ek6&SY zeE&}F#;ouXAh_2)m~-^@ZWyUpbNk3&`ibJLrVlOAo~K$Tzk($!)Mnz$OfL-2c9XZE zTgmodu8eJ@oi7)0I3+LBC@1q>CzXQr$}x4dACUC&Xl$jSLl|ZK$)L>ehkFsJbz5-J z!JgowH@wJ~fjET4K_1gDeT>9KdME()UBp~YYk7Wu9!W`0oX-4B7yFlvyTNmzwrMP; z_hPL{=!*5KI1Ctt^D^aoalbzv*7jOF_EwLHA~Pi_0^Uysb%2EAKl0@0>k_GpbG0`3QT3d;J zd>UKPFB#%=q5MPfEk_h1vp1mw7q6;$udHKl?~uzvZ( z(;-Bf43);b2=Yp0QbzA|B0#;{06tEn!kf~|NrH@CiX;-KFF?7B)s|?DPTjf=R6Ol+3>tY!`E^>_f8eg6)kv zu@>FiLx&5XIn}AxD0sJbAG{ID_Rp6mE^VBBn=u&bUXZ{gS&;DYcbPN;3*~@a0ms5YaES!Y+N3v9-;fK6R4RRMS4M86Wwf z^&h}i3}l_Z$xOnbV8sE|cFM$^%w;0M_}V4fw;9hYEqeoj=2#%F&lC8DImZ6^^Wx3j zW4jT_p67C2Y$@r>9V=_ejvtD;qMz>%jJAKUix@wUM=lQ=7ZZ+dy0rI~3G!F$jDzo9 zl79tqS|bQrIY~kE7wedOpksJ5)Ji4a$o{pri+kV-oo6F5WVB&-I4%z{{)R2wGb7x# z;G^1>!0V4)u>2AM%iqTD5)zI6b6vT<%V!5 zwXs4!$Ce*^owBk+1KsiC~^hE%d^HBLdp3&sREac9Q|^2MEVRCA$CY7KI{G@fJ?cXlu<|_;(O)F?*YA^dFf^hd&X-;H-;6c3*rq{!r6M5l!7iT``f9LSZk44VTzcZh}CiShTP{(T$wc4$vh!I?7U zNPByNt3}|2kK%vCss!?D#fK` zIG-gx9C*&AQ6}+N#iRg#OK98xZ!keV^NJC0=^-!HbSzLQ9M@Z1z0^0Nk+j7%ykE5U zxH@|I_+kB(3(>C|i?+wrTrCmvlm`qEWX!JF97q_w1iRo8@HG5B6nOYw$e?WshDtt& zX-E%K1s$1SM|+v59twS#DC=Iw@RK=VyIh!sg!9YwiFIO6nI-qVYdj~ZN_ZaqPX zdYeg~YIn$ie&9i;$ARNUYZfF6$)y%ZyHLDn8qQE6-_Ej3nZ}g8gd7 zJQnl+($BpYNU;#KiaW-+ZwzaChMxn>fDu~cK>qvVQpe|Os%sYzv2&BCx_gryP~c`2 zeY)^2g~^C;DA!}Mjh$x>aI7$!7;DQ@W4}g>Ih&5fnvT7e6xfM#*2{@u#ixi*g5vpc zhmum@(BRyL)Ni~x77aZ+Ho>yhGFVI@EnZ|Vun?5ZE-{zAO`UXp4Nk_;-K=t;k0{x|_6m0hwqxKhWr87aj`y6-P3Zy9p# z>8Uu@-38qoKWmpGQu}Jf9cL~@k({+>(;#Vf5GMz%+R7_$AE3rzC`6)5_GhcMER`H znCXeg>aRRDAFsD0|^)huU`a z0%+ek=AL|_P?R_Hh0ZHwmfSBpoJv~{8@eYgmQl+R_{F~Fn#H=ZP$L&7xCEs;wfGnx z37A8=Ru>@NBBCNpi6{(N>F9N7iir5YLl?9s#&L5}(-~Jdr4IOW z{O6N|qy(uq>oonZ|HUq1roX_#Zn;=BA9)hxzvpm5UgF^4G>^;3UYX#SiL%h5Yp-X& zPJBtTe)XorDnG(-{*LVhg?#|o9Lmth;%a8#_Damkwg@|V+!N4j46ev$az05vzpC7a z8sH;h#{qdqm602(gCj0|>u6TrOHcur^L1$Pz@RFrJipqh{|S$-($*2Unt2 z+!|(Yc(JI`gaRjGbDI8$!FJZEbsp-z(2zoK>?=uQj~QV#9H@|Ft8Vh{cb&B;%r#uw z{u*Dmt=BM)pR_RypDeYp0-oY^NmL4jRZ)ocT`+#I21^a-QX068!|=QL{5T+?4nA4G zK6kdK^ue441jrQS{Q}cJ#QFgbMUH*o%T%gEEoAw8K4fpn9nGD4 zfEQ`VO z@nDtLBz^rz;=C?RjW@BZ(uY(vIAV@|l0aKNh5^3Ee_Y)MG_%{pvy6A-A)q@Ke7EA| zyq2i_rqreW!m`fx2$zY13J%bb^yx-23EvSc+LNCk$#OSRwAGW>%PKmi;}pQVc^L%5 zuOLie1RnFF{;O+F@}Osj>76Li8cL2jws6Wgs{!(&8kOD1l6%WV!&c`l{xHumop6y` z=WUv^4+hIxKzozhl!bRm-iXDz*%h4wyU*4{OU@^JYIiPt50d5C$9T>G!qs-peNb!# zwyhk&^+QwRpnN=G2UcH#PafP`)yQ~8YQ`Kie^!ES+PhA$sMz>@DftAZft698ypG3- z;)cL`Xej}l*3Sf4D`7~CQT22u6my_zm4mFJ$UFtDeFy)3dt%6=M%@8Dvb%ZGx=qhoSXNdzX-PXW!U}ROSSmE?8@sD%r1u9WmF?2^Ybo1ebO=TTp_W2%`cJ=yeA&kbeK=V3MzBO zDV_S`D4Q1P$j;>~l1UB~E<@~p9uSDy3nAtMDKO4F3vws-lZ6Y0Fp(`YTWsM0LcLq` zT5jjKwpK>0tod}&%H{v;i|>>Ey${c{q$^zY~L=J#Lz$vP+S5 zNTp2k2zx{H*VHU3!ovmb}J{r*~D0(_U?Y_ZXZdJugEy z>*~Afo^lyxjVCrALlnY)Y3*DC3c}S4^RGm3*GV+ zyjVuB&HxA2<6f2VKK-C6LXO_do!38EcTqR;sW9u6#$(rqVt$1mU=x`Q#RP3twLSZK zmy_Ymn;l$U(UEU&MWjDW!~A22vI6-Q7-)(i;^|I>H#2Sq?c}JT>Pfhhvc!w#;mHF3 z_*M`hSOETG8!ST$gRKuVYkrh7ZqsmfaL^&86jT&d*{rV(m|i?!6sPjnPfE7%XXX2< z>%u3GcqJW*kZl~ybqG3}Nj78otyJDLZ zE8g?k7$YkD_Np0#N1a=W528M~gTbhvMy|RBV7+kxW-=8ul{-!b>C-jM+v0NFjF43$ zOb4`V0~mpwq2O67Oo8Lg$ikk5UU?U3fzhP>L#x>IRoiL!~z4 z4LjNgF-KwKz;o)Q0bX$`4!aI|;;w+D8MTx0@`vvZ;)k0WLbWP>U;zya$6)rkwA98! zs*5ZqbK0df)l3ENQbCQI?W6qf?C&Gw_K9go|NM3>t^HwhfaU0 z9#+l000_xWo^;Is5x%W_e0;7u-4A$)*yAEfp4>=_`5?L7arSI7^|grS0noC!W3fZtsv?EZ+5?B+(Es2KT`uf6_bRo7k{JBP#8UCoWI#Ff>roig%; z_+PjP?ZcKwq{*}u(7aR*Ai9AjcXRH(u}IO4h%TidD)^uQ7$70i;2{B$8C zSHmd8@1Kor4qjcGcqYFe#QzQ6!~QBQD$4tFjVMMt^QrlmUOp{Z?el#x9L4=C?njtm zy#{XlEZ_W#6LE$tuf@}u%}<7^K>NS%AH5~X zo_00u1fHO`o=*)G1dg%rYPqzpVvUV_dHZ|4{4L{OgEZO=Pr)Kw!0VMLqC(W>3J!1h zpYlhN)DN>BP6j9}Ub^k)Hf{^%6k>8W39#s8g>+;eGX0`T=NfWX-$t^RG+b+UrM~fN zA2HgUYKQ$@H<&vwm;)&l@664|T-uab%z`O~ce1(GL1sfYXj&ew&FZ9`Gv0pAG0KJ( z{?j6lkF33#Zu%?U!Ht7sEgUB=C~lisyCA<{{wTQf4=DQdQJwdw1lqpk*|TRhbHDIk z_CJ6CUzx_%I@#Ir_)~_guWBK-bF7V@Uj@5?&R{mg_qiRdGim<0)cIDa-hesuZhs9> z@x(=@1AvJ6^DoWF;zcq?zvpvzXx?bTLB>D>vcZQUe<0q%0BK?J-MVh2V^CM;664Jj z$*1wg#)ELn>Qe{A@6zj`*d z>bh-mP5W~G&hOtTa*StS0+LNo(CBFz>5&?C=VT8xn87-m%-30~(u+R{^N$*|#vnZS zl2K6>wRNG)D(}0`-|oDFBmt|cY=F{}X8c%)Vs6Dc*;0pIuM0G6p0cSlYy`ivRByd@ zHq1ZLqFe=Q;VA^`qxy{b&%%e^Q>Y}`gK&rom@$YqB_;kR^yUYLhR`UB;Ry=52`E5_ z_k<%$@8;sugjkS2xT#$=ZMQ`fckO^f?ZK+i5sYzG#t!ypJ+ zYJs3xThH)S;DFMidh%*Gbh{uf5=7-`f>E_WT*XWlHT)Z0F1fv%cS5Y8_Mih_hyYZ4 z^9ug7an~I=VbsM9^fwE}?y_uwo%dR{zCZ9)htvAL(58ExDLRl7c1!C@!b1I~BkBv5 zWVoqmHQ`7xu7bV!z7xb>ZdVmk`tieW|N2eHRrx$Xf?S?X-WN_1Oe=V3{lK zY+u7#C#X6H(18_^AjS$7<^M+nFrpRo=2$djVhKK{T!>Qo*SqCu4+_pyx(Uc~$QQ3< zbmt1(D3d6O9C^KDnPc3Ln=+A$i>dmZ?Y>lIG@%u;qXF5&|box-+F$74yUr4_LSmfgkJ0ydom%t_hU z-Qq!eSV!NNTfK!8^RzS?`cNad*Mr5zFhcA}inJ2T2?*Rb-F*h2_D|vl>6hR|PPMfY zZ!DT`=h5l%PBfR#;SK;4EaqDLB#}168VyFuK$FbW-9%&Lq?CMb|LNuT0ffbIJ;$-q z-UxC`r))*_J^WIl!&1gm>A7JVp6u%Dce=oS=05q$D`$$VXP{=;Rjo^1ZSSB-B7O0T z)KJR-(_1~{%|YCX>u=4&hL_B>dx6b}P&ng7tCTd~*-stWWC_XLn<|NVkq9Xp?jP^6oPK$2gsB9ERiN*Ed#4PzVj62Ur3>GgK)yxI z@Ti#sTa-GQ=Fi;v@`65NUrnC;N@v~9lkP4=nzxaeu{DI{O8ov4`To*1wu*F1?O!Nk zvI7`bfuf-Ups9;C4Lro@MaeKeI2{j91jTzj6QHQ-@XTgV|2<|8>`QQTujH#hh50YI z;~>fw4^ET{fv$o?;n6)NYF<+EeV!Q!uYRLgSZK0Z+WU3suB40W+tz4X{j%}N_oHRa zYu(OS))>9_Q`n0&(b;L^W6I-aV?|Sbr2LZPMLB*pLe1n;mAFm>iw*c**Au<2 zF+c|8xt2ozxG60m9q>QKUO zsRA=L^zbPXbJ6TL6q6zlQ=2e!#&I1ZdsT3eLSeeJoG=0>DvL>S)d!RJ;bnTxqAppo9AH&M*2T56?rwX>Cbp z%e27D9xyz)*a8b4CfO8dD5}t}uS*ahCH}^yuTEOPFxJxvtcLzlZh}`OUo%IY+#^AY zJWSG~!fs+9HaR*-A7;?y!@AXPJl@^Wx$_q_?GIR+pG%p^T@~6P*d`2x!`l&;kfDpz z(O&-prCkYGxTcZ(?f}fGa0RQX1BB9qRRL}0e{l6V0QDvE3Y=OzRFvcR94Zf}p@U40F|Ol;IPUPp0Qy-wAnr8@k940g?y6`)*ah1 zN(;ceD*k59qRnCK-S|%B{h{k@X;!98AKs(g)#tp2bTf4QM?wkV5`!vp zIieX8)|xjTT?3ZxfyL-@Y`2e@k6F}Rn-S%k-U%PeT_6QeAVTU&mG(WDNW-m9&cSN| zXBoKdmdTC%H2S1*LL?#iu6?kor$soB=DuZ3!SF2LD2iqoR6X<2v9*{gSD6J!Zww3Z zt^3#UnI~vvP(4mfb7{eY;6cH}>}6i3c`8{!ZT+$NB~9G^zb{z0SVhu>nA=^y5X%+EY_YiY*^1V~!5x zb^Fa{k#`)xDi=>SBkKv>*G0RjXe$1|s;kn3&kpD)gPRkJzdeMvLz$0#elWZn>3uyS z&)GhwIZHMhXWzq|gpw;b49a@XikB<9Y+3Rp83(dezJFuFSV$^wZ^ucRZOS)^O=92ijm zTLrl7Oxg$l?nACU(-rzQNnSPc`CA>`G!%3wk6vgznF4q2YpD34?STn`s=dxh^5%sv z7kbbL-<(Kl-CKad!!JPlAM)EQPb<;NKGQ!^$?qztEnw)d?QJ--Zq}|#7Lnf}i&63W zQ7HE?B7g@IG~Wa~%o=POyxtS=4hflDuFGRC{ku<{TkKj-FVdI-lR_@QQEV%a3U~FN z?J&(!+?`1=Okb|I+I&rwKUYYL*cQ&XxjJVt0=EV58sqM<=H~#nO+O)IOP*X!EqsTw z?UCLtzp}M}2Ss=(??-jCML4hoRzdAM4e9T(%Vp`%(V#(vTSpVC#tqCY;Na=3Q=p;m z`b2EXw`q9a9;lnvVnv*Udob;w3;xE}k^aBOp$M@9ms)!JY1S40;*@rZT60iAQ@3p4 zT5Su0_$DaB@!?d>2cWp^c(x4A?bdOmS?S6?ZKVC`AAMJ)4d&pd{`)K;P6n)c7uZ71 zUv0&#uqZ&nzHt(qIlFHP=wQKq+G=;nr`(1YqR6!1JVS1#@xaxqjZ6r4ZGv(`yfl0c z5&3sPSTg2+0zR%4R2=j(43dd1s2fVN=!bB+XAf<*C@^U|J)P@-k>m(b0ccGWoo$W% z$2`~mXdoG>|9YXc6_S%fUSCcMa#A8gAbStnbIFP#mEWP7$dj=mUL^RB|LbpR7h!96 zy^b+6i8H!0BWj&YybM>-Om=U3-U^8aSL<)U`X~q}ZBDO~(th@FoCAkUj7{uOg89&Q z-tHDhgmYQh#k~!wOwSM2^0GocRr_aQ72+Q^{$H@09|Lnh|u2M6BW z`1i)I;&gqkef%R}jClC|dP)+K&VW!!``MACrw+l+Oh`v8hre?^jp4GO0A#q$y<~Id zUk1TR%S{#JlbiQKDAWncS2(qrVH zxIj=jiRtU%U418HPaw`a=bGnJk*UXZ@Y&{L(FgwBsIt2i2*6(1%q3rEka;TbJ9@u1 z^BY#dV4j-iI%Rcb9mwOu5AWy4GXB^+O>ytE42kJ-Gjj6#p5WWO^$cTO znf4ENO(4tZD&7KQ5hNYH3z?*&av%!yI^rWAIp!+35D)KN+J^+i8QC*bKaFaUgb}CX zk8lQT<7gix#4Q+3Ji_^}UcEkyQ690J*in!Ad@T3^A2L-h9envmsQ9B6B#@}XA%koA zCN1!e;iS>Larpx_MC!yZNY%f97_y!a5mizFu z7GlRMsiiXYR5}y9}GnGxqeR)ztV#wZ$EJ|>%M<}J*Eikr9{PDAOy zDly>&l#ZJSl<}5vlN+Xu!0yo`ST5#5idPue{w^|Ex||a-56H1Xv{QKZG4QcM0wT5j zl*wPakXP9?>d1d&n}L6g=*tyhG~eeAv2*-Z-PLRdABYQN=jO8*Ui!T2oE+ziLWcC$ z%nUh$Y-DN17W=pGYTLu@D1*gW9HJkyxptGzvkQ4u->GJ&ucF|qOy|3RB8_czl2{oX zAIZV?O53kQK$N`)Y5#~nD2}~EA#p0~-UpDc+))hLKE!`t)@haaCu<_iKJ>XB2w~Wk zu8o+sml`Wz6u)8fn0GS!l0nBqIH#63IE9AT1ioys%L{lA0q6tMIOV%$ejE9I-hi#= zQ~_zL3>Pp|O<8TZ_?`z%`D$A3_6^eM-F*+-DLiy)7mI4kBMiD;Fr3Q#W5c8o_TADM z6imS!7sM;u?kzh*F<|6<(tGd1*TwPfuWDNl*Fi)=iS+@T8z&30X_rP5&{jI>ZgKM8 zw%b>e2Yp1Q?Wdop@7<$?tzMsT`Za}RwTjy>_-!94!9k_-J1m6_$n;xqlofK4V;0 z$@o2Uw|MZY^;)Vt`O860JA`z888U5WUPVf*_Oh%_zoq`Wj>wzS??#?jXtc&GIi3k( z3YIPFYGVlIfT#)26EAf!`SS3j9!O)*)lv8@k1&4|ggoUObi%}7!y5xA?GG<`kUfqC z(LJn>FF^g6C;ce6pw7LKh6)h5%+#yDz=M3x+(B7>-$sjLln2rOhJ7%a_~KwRSbGtK z@V@RK-PoTJszGn9xOW`YWyr!TlsSk(W?!s6fJMgZkRw%Q5a*v5nEDUs?-+dBB;a51 z`;%c!LFM>yL29UM1{>SEuA)Vw-|y87DV2-vea!Iu87)8f0!z1U1uc|@I+j}{Y5=>k zex>FrGAS1z*yKTzSN`A|U`dFcZn@+k0;li!!F(WUajL)0U8V_Wg_fI7p%J@@0oDEp zVgXaH@XZrW8gZ@(Za2BK<(|4`|3EE-U@cd4supL1Qt1s8iwZbTomjuL2wNGyW_t9Q zPUsr$hX8%NNDV~O8d8m(CJ}N@GX{I;SK2yA+}S;K?HoDYHPOwSOFR0h$k;gd^J9<3 zV;fg+3JtE$9B@$WSiOGWPUC?A6_+K*&v4KUMy-xhMShK*^@zQxy_cKwjjq}d^C(l4C z$4_#dU$^ldcA)8#93{b_$u|)Csrr{<^Jx%9+R`lRAoL#*_tR)ZS?o|s)pDoQ@XG5;6DCqDufy;bDH`PjTkN<&%Ac`F~ zlz&)LU@4vK>#qBn)~8sCBJ71MX0@AcMMrtpSEgQ3q9z_MxK)ki6g&3z0n6#MAibY1`Vmfq{AQ7a=CjTf?%SdBJRMEecpy+D*j`pES+=Texa_*Yq?~@GI{M zefkSh$%0o%X{!O}OA@hc3^85;reual|&UWK}h$!`L8SP_<=3pV~l z`RR>*Fxr3X``en-^YCC7<>1xRj~a;b@-ov9KW>>?NK%}!xJSiJ>BZa2W{?PMSv<9vl@5RWzL{dbCJj zkrP`rp^as(#8WFPf25k)s*F>fE;AtIr%KL_jT6FL*^U%=lbX8kVXmcdAcFOwj6g8J zsBRmb^|-A{h<>1u$s1HX6|E!(Ra)DS;U{f*~00cRO zNZli3l{4g+|GNJWeEt1m)@Im2Z>RWwDuwvXQUps#!iAjciIxl~VPUM2YASrS1ff>b_~rTC{;@}= z@!Y}xLxMxX{+#ppMnYYF7I*N5Iy{4oa{k1O`5lXzl&pIx<^EhkqryW&51s^a@E{wI>V`cA76 zxIi*6$jkW0(jG7)*v3bTyk(er?X%UH zgPk^v`2xL68XkfoUI_?2+qvLIA;dtcF;$Smu>jcNRfh@j4Lw@(^@Vf~fB{oT7bw;Q zD(gFGyAW={Q(Q$pC%@aA^}Sgamj?M>pAOgDAnNAdxbCjZgXnkt_fqjD6Ypp%HQEdb zzpK{_=AwGSRISt~Z>gDG@7SUCL-LKl`;Zm%Bsg;0_xIETN};{a(pz7X$qz!Ddwftf~Jkm@5x`0|!r5nxc)u zSJ3ScdMNz)>j}@AtW*-$3hnX@$^BZTJ=~d)JPEqOVOBET-?s55<92oP`J2#r-w`*{ z8`L($1zJIkidLD&C{l)^k9JJes3|RDmd-VtC|BEV#j{?igX;6W5xAxgrUbC@7!k=>#XiY~U!y1ea+)vB~`|_EB zYkQ4g+N85)AxCNaiz%sNSp=;~f*^P&MuTg6_T0HD? ztR1+Q)lbX$hYO0Z4oD|{C!t*+)hGs{Q%en)N*N*|R&LXehX;DLlW*FcKIVJEn=q8s z^qM;S-U$`E=t%T*FsdHOF&sp9K>|&<6j<-*JXM-JUL+b&PhS*n1x7fL1wvH!An?*C z;BbPEl$J}sf#Do_T%GI}sSJrpaHa!oW+ofxjKwOuySHw_`~=fGH?rQ(m)^8a%CDsM zjEq+9b9F72F>afD^m|hessZ?u3zJ<%uNg5qL8~_D*$3^l@+2d{2!Mn?}pF~c+iAZk3py#$=B zAEf>FYV)3h#~|b#6s2nLo*~B`Tk=ZT+?zpL;ms=%inv)|k&&+=B-Z$rGTd9%wq@dt zn^w|6Inoo0=^cM1*`!Bpx(!2kbr3x~8M2jZE^#m5s;?|yKHk&ch7lEu67_}~5EZ`; zUQR}Xx@Y!S#}70qLssNm)?w`Y{d|XFp~R18bxlw96?>)e=DUDTzCpEvKukiL{(ix0 za=i7o&ZI!%MmJj9A|w%ydGZ_PSO#Ppn%{v--!9oOaTG?)zpda$nkGr=S&SAe-o|lD z-t+!`IzDH0d@ZOkZT7YnO53BdE9JK}goX~gIXhV?lmM442%`*t+-~yG*1R4DLr$WY zaS}nU6>LLVb|CnlxgM-|a^Hn}6byiP84D960$N}J<4DrW)if;l+-bUS-Q;k5U!ogM zIRBNj_bKDbXInY%q6|k?dPe?K9vKc0Gj&PXvZ!MI7*#5KjT}?(5}I$&6YAV}KyMFn zr_NB)bdteZ_$EeYVDle{mqoGp8Mx9k2r3V=R8`uDJ8DF?4k+t-)9qWQiZ$X~8pwSL zd4~3mzm`mESasU$JwMy8CYo}KCCYR)cqHjpy9U<#{J-T%E~zqJc<_1>2U?sDHbMEO z3RJ`v2*4xh^1J{1pQAa()R+~VCp0L>;0>PQDa{0zHS!@ znye_UD5&^hYIWj!u&XD$!048F&#R9*iF55SwF`z$rzVy#V=}Mr)Dn_|f?RQ8>Kit(&Ys1FwU;U0N zm1c6I;P${XFJ=N$DTm)u)6SF2)^7hZ0j9mH!qJVgFr*K)>RP`#Bx67BMeY-$?S)eJ zY{0IDBl%8|cMYl~)IaH)))*(HEo9C7?F}@&qvp(`^Rx0VR~Wq+aVh0GoE%-Ggcnb{ z)8yq!z|WfmvHO}|=()Lw;U341y^SCi>M*EL-68+eE|`sDeHf-Yi^W!Q6F+rHNSt%jFe{N_@43_SXt+1(gf*!^~?`gjWDQlpvOfjqNyEBM;! zMnz9&{_qm&anJ74zmA<+%^%YB{V~}Di(hta_?Nf{QwxvBz4Dp$PH-UGN?X8Yki4}U z+tAzyfD;Vah3sW~_YC5^CH{Bz{m<@Gy9d|12`s{401rB0*?D((NuwB!eN)@}rLbZ! z$)!lyCqjqtzH|ZKOtkL_G#!``@u_;2Vi?i(b;BptgWQ&PTA4neYEtrM{3H$y^B`%a z$>1{-l$RX-yNJ@(O!>;93l-D172Mhk+=5y#5tZG-!GuBbdJ_Bfy9u>B`;uDbG~*ky zJ{Eo2+c^bnms~C9e|%)tS=I_Gy%3|b@pQ4`$GlEQ#ZP@@abM>{*7q*|Ig-o#GBWC5 z_Z#sq5|R%OB|JOSbCl)F8*vuH6GCqeSp^$*A4z7sdS5QF_51a!U$2+5op{$C*2<9o zTv(0i%^8&wqKg%>m0wVvDwP#AWJml~A{I3^6=1W~_G__X%T!|~MYvOp@VwHwn=p<2 zOFmH25l@^#J)=B(B=gimdfe*Y1{8&L3I8ZqSX`WMv#Q$GJYC^-Gv#ze`k)=pDkg@X0QOD3{Kzv-QE?8Ok%3d$ z9?Qi~UGk=$>Us;vAyjm=OfR6e=TLGcC{l;Uk)uB>hgHtTwY;y)YyWbrL}Gef^R^+; zkzDKTuBo6o)Sc_O&?M4-vMEg5dOJQsP-;}4z7dd%^$B{BuiMgGr*-*O?}$j6*ABOW z__ebG>2niPKVu#4-8&;ID=MfZAP~QaPy5A{(J(VTJ$;%>n>}<56YFg_PRZnMQS-J- zx20mz+8x`P5*Okfhz+;2N&{13G&KGa3o*4~v8Mc!k&(wI0za3dM`cp){%YF49pn#y zdS3?r5=iXaBIDnpuYiHk(OdFcfS{S&^t5(LBYYpX#w8#>ou)Uv)^`JVd~v@TIZnlN zgqzRDT-g>ZA%s8G+LzCk!4$=jk}3mH9M@r)WN;~8QnpJ?3>7U`1jzAiJ2=v6;NMvd zoH;9Z@PZP@1I32>o-+7ERBp1jP-oa~XFD;2prqw~7rhbBgvqMB(*}d;)1fcl&UnaN zy<{@Fbq;gw?<#P>+zSf9h|$fu>#5&^D?WXCL8npiw)-_~>A`ES*nzmlU(sg9~wxVSKkW#Fzs7TP*!Bzn9?3`3*=^J0c z1#c$ib6TF%B(SV1xptvr$4RAX6ocGI``I1@7ythyjNu0``u&s8g&xBvX@T^zp;@M zCDO8+O4vbPRR`+dj=N%N$9(GV5UE@8Gn35|8A{?yU_yIp7OiR0HuIT(=OuSS)p^?eMfEB$ z^HeKA`qSpO)dz>D$3jusvqy>At4+N{zxi_TIeL9Pnbg`B%`sM9?Qk1dT%YOyo84m; z@GhH*7rhOdE~Tx4g8D$^mjjHq-#oFMK2BBZ3n5BU?%P#d2$#&iS4Jwm*Bs);*=N2U zub$!CbOd-r76j8}UE`JUbt&D%PZuvbJQB2N&_9m*zP-i zM(VP?)H(#t31R|2Wxy=)q>?U7f&-!4Yi^=8C@{4acKPQE(T`*+gp3!4xB|hTjn7~W zB;>7MZeh?Db$WKd>et!6v3FLvEwk57SgjPfNV>+4F$8Jf+D0F)d=5;XwD#{7gyXj0 zyu7~0{qf6LWveIaGuQ6TQ)V-(w)flZ33bW8!O#?`3b1Rx&!Eu}%*syaEwdyYds#W% zgsnyFE2qb$iZNoE&ESyGSQCn{u%KAvaWg29A2AH#9U1cMw;nTV}QQpT`816I5ulr6z((Z?D)i zu2W^yZ|3G=zb*mFME?GvI@%J)4q)g9WCoDta@n3pc$6iAgx;>J@X>rwaW*+@teNnq z#*wUc^4Rg-hgK0!#It$J%}(s!7LXhiRz>Je`=Mv&OZdW%KG{_9IhW1xgx5$=w1~QJzgs&-HxE z0%WQid*cpGZ>JrDb2Fk2l)Z32Gj+K%gNCBb7X%U~`6KAcD~1-1JwWZL{h(We%3u10>9UUCGEFCg56fv&E!DG{G^MZlD+g9){l z;hb$HzwXDrkLGnNu80#6_oVkowA+M}l1~#}dTW&!bPY=_PFcC1zXa;<5kt;}7hFAgjy|V{gx2mC?RDqymx}6crCa zOl=?qH<&XVw)d0&H}%WPj27@~Wzjdw}uSv|XEG2fu7#Pz*q7#GEF z{ePQ<;*4`zJg@6QLgE*wg(@_llCA5$^QNY8uYOkeK5e_8y0IXP<@ zLm|MSYIFDb%2YUcD_1DN`R@`qq&NY*1W)Y=FW7ue-su`*+xjx=X@vt)eU!4)T|{yfb(dWvs2ID~AXJo#{MI8nO4lR?9Ogfg(!Aqe);L zqs51?rB`z;6Ro0`wD`#e;oQ|q*Ziizxi#apQuipi%5}@$P^T2XtoPUYl=n53PhRLdxFw( zf;MJvEK-`{@Gf4u!3IG#5y1 zb_o;OQ_0C4b!?_iecnwktDr+r{+PvD-}^U`wr4P3-cN2B*t5Zet1AQBdY5|{^pCm( zt#Ib2~vo&cg?@}TL$hfPmy=^_!=z%e9D{Ar4)u9dir+fvu zODQ$aUB9tVC2r_8mW!Iti>RVZe`lJV6?xV724C)Lj9q4k{vpAy8!YeW#CAG+3sLPraH*v5rZa;-IXh}Zd|1;wfz1)yd6{9ExLLxf?u?zmSidEOUrcix|ENF{qOu{ z^Q@kRV%-G(V_=dMs?Ilu7tX|&GmSl|>y6jAW)RbsFyogJzx?a7tkR_l^+bOo--TU7 z6WeX|ArW!%+ePZuPvaS(&tcyA+-vc3tJ^v^{x^nn%3|5Uf_MwHX;%??Drk}- zAka{$pZsKTq;3|&cHkOqwSAYH!xCs7DmjafsHP2}0nKryOQ9OXvS*u@w_jyjlxk<2M4~m%4)&+cIr|;tq220*1~@u zb&rB4YiZ}jLur>AI<6&yk7iZb>1a1bX1cpZwzARZ{RFDk?tz%S6kK!&XmgL&oSdqe zX&ggx2d(~)#BN6a+*{6WFj#8g{X%bf-_4==apK7Q+q=ci1U+{^PDz$O zX<4EbCo9o<8(o9t-{lI$j`BeEDWRzYlrc8+8_y!$IV!3ZSI1YCDFFXG+$)YCC09<7 z*f${<8E6Zk63kpiHoI8>N=eF6@Uqa$YPdc27mAli?!3xeV{SF9sT^F@DvUEJ<4jwd z{?^{ZO&}*81DjQYqBn7S6FJY8fU_@pFNz!eGch|@m4?|-nfeykP8y-IVScB2U$q<4lqJhZgtfomes^h%#K+MhJnB8?^X?rLw)UjpZK zM+25F?GC#nvT$B6Dij_9p1*$~N?O>FmSU>=bV%+FeMF)2>ZJljN59cSJ zcnH$WtfM4$(oR4ZbEUDwPr7XUg5!s(#%*yOI6sP$m{KT{CDjB zHRHox6K~XN$?e&`4^je;OdnCoQn|PD?!2g4*R*IR<@3Lwop#k2C7yK;i>;N_xig+w zZD54(Zt`gNpB;4QyKW3^nQ^Gh=ka+fGLeTOVtmsdNVVde1Vqu^$w>GE`Uges41tDk zt*z1iTO(VmApBx7kTWGoU?um|ZvPS97!5$*g8SH;eV6hhDq%@=6X&VcpfC^W9s#{+ zN;^;1;fs@q-P>#Oj%iokKFP_?OD<)ttK3lecJjvKZhN8YgZ0vs)VaX+jf~2t;cXR_ z)|*DUHmbLbTeA-WCl;9Th_s7MP{Kd!2wkpE5ab-oi%qO^+^rknED>!Qd1<7$qC%}~ zpIh@1aHC!0aA$l~u%J`FOj{D0)c3lac0k>s@I2IyOJZ0_#Z)xzBP_WsfUi9JVB_j3 zRx${@(+^_co|0n&X_IN>IIuT!IZ?v`g4`3C`=N(Xo$lO}vd5=(TDBDK>wCXG@bn{Q!#Z-M24nC7_n(?h^d$DmawhDO zXuDeaJ!I$d6kcItyR;9SI~Z-R>ah{x#3IvyaNNX#@HI@L$ocJV*CDlaGF}g*Wr&Ao z=S<+~2g`2lmw(&@gF;xzi(!k<%Xq$jTh1yx?GqqBgefmDj+E8}nu6rc)0&E@g(rmA zv@wOh^j$libK400O7iz2XBS95&sdPjSrfe;D3z-o604Vlt&SvKx6oPg-6(gyS@zmh z$PgQIDkJ7+?a$AB(+A#Du3ZSg+GF5MA(Ho^KA-YhKzQ>^<>f z^gfZ0A<6qF;h?%C6n`9_j>VPH8fZ9V6E_d0Pr|(D7SUKrj5YKC`B;=r`>RTvbtKD> zysoB5xy_F8E8gkm6F1m)<_W9Z$=_=zdceW+?aB)Krdk@y)bY+YK^I=w)5=Da(t;B2 z{I!ow7{^(YT-0r(s{-2scRF58<6@2m(?|8C9|rSK*vAq|M*X`XfjR)SO1s#U`gZU! z@q-zctNM4!aAKPNS;{IKt@SXT6MNJdjw|X1IR+|`o%oSS&w=OA`V+ZoA3!>G(1c-Y z;Ri-FzC&fg#>y%Xy$T1m`IFoEX+QV`Yp`f&oCtk?H5~+2Piaz-%?w2kR5Q#orn!YW zJDeV=8muwJ-TZUrrhTV%Sas>??4`=;kGnn$2Bm##_mWWxES+9@+WxR}CeSYJI7(@x z>iSwmx~%I$JNYBAD`6b`^}|g6%pvp-YI<+m(nCH-u-l=hyIPg!4z_Vi=Ac$NfN`PW zqRh!qt);u5i4^Us5mOne)W=Kt?nbbJ=99?V>Iu!q*zJ> zO|i*fY3yeY+I-${r9@=@8L8SLJ%ndc@I~-JInkS6X_!LudC(8Mp(7=#Glg^FL-6k| zKAsz&eVlhySgd&Z^v5S}bpsT2G_#j_)^&)-`^NL%2l8Csd&m20fd;!V(TNGh9zfFS z@o7TN^)1~y%_|K#vJzV#pV`K$)yB6hzeYhMs&-aFVD{;A&A2#GRfbvx=`9!fAQ!(r zSL41<{?igK|2{O7g~k8r0`|U1lipsRH%^{Zlq6Is;i_F%_`kk>ZDczr*b5G}K){_# z4xGuS{cg(2$>w$C#P@VgyjA}K%F4@MrI`!^Q}I4LcDA~@YAtGTVB~j70>;UC0XO;+ z=&30V>?Psb{ZK`ahRNxXvY zT{ww|bL>tp-m>1*%;lfgL=A9yyo zGef~Nk9_W{IR`3=X`=nGuH6ZdJ=?#U7~Ezzz~Z8=TuYvM)z4us|LsWifXxqgNAQG+ z(5Ug<`lw!p!{~~tYsbw^QVE&Z1DD5BWo42L zXIfJT@qPO?MwUK`dGdd`p<7m2spxACClpKDzN5

vr80}oM`2d@f!3_JHYWA7I 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ð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 literal 35505 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 h { const [result, setResult] = useState(null); useEffect(() => { - test.ping().then(r => setResult(r)); + test.ping().then(r => setResult(r), () => setResult({ data: "API error"})); }, []); - return result &&

Backend answered: { result.data }

+ return result ?

Backend answered: { result.data }

:

Backend did not answer

} export default RestTest; \ No newline at end of file diff --git a/applications/samples/frontend/webpack.config.dev.js b/applications/samples/frontend/webpack.config.dev.js index 5a5880c0..a36b5bd5 100644 --- a/applications/samples/frontend/webpack.config.dev.js +++ b/applications/samples/frontend/webpack.config.dev.js @@ -13,17 +13,20 @@ module.exports = env => { console.log('Dev server address: ', theDomain); const proxyTarget = theDomain; - const replaceHost = (uri, appName) => (uri.includes("__APP_NAME__") && uri.replace("__APP_NAME__", appName + '.' + theDomain)) || uri; + const replaceHost = (uri, appName) => (uri.includes("samples") && uri.replace("samples", appName + '.' + theDomain)) || uri; if (!env.port) { env.devPort = PORT; } const devServer = { - contentBase: path.join(__dirname, 'dist'), + static: [{ + directory: path.resolve(__dirname, 'dist'), + publicPath: '/', + }], compress: true, + https: env.DOMAIN.includes("https"), port: Number(env.devPort), - disableHostCheck: true, historyApiFallback: true, proxy: { '/api/': { diff --git a/applications/samples/frontend/webpack.config.js b/applications/samples/frontend/webpack.config.js index 898391f0..ad5ee556 100644 --- a/applications/samples/frontend/webpack.config.js +++ b/applications/samples/frontend/webpack.config.js @@ -1,11 +1,11 @@ -const path = require('path'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const CompressionPlugin = require('compression-webpack-plugin'); -const { CleanWebpackPlugin } = require('clean-webpack-plugin'); -const CopyWebpackPlugin = require('copy-webpack-plugin'); +const path = require("path"); +const HtmlWebpackPlugin = require("html-webpack-plugin"); +const CompressionPlugin = require("compression-webpack-plugin"); +const { CleanWebpackPlugin } = require("clean-webpack-plugin"); +const CopyWebpackPlugin = require("copy-webpack-plugin"); const copyPaths = [ - { from: path.resolve(__dirname, "src/assets"), to: 'assets' }, + { from: path.resolve(__dirname, "src/assets"), to: "assets" }, ]; module.exports = function webpacking(envVariables) { @@ -14,24 +14,23 @@ module.exports = function webpacking(envVariables) { env = {}; } if (!env.mode) { - env.mode = 'production'; + env.mode = "production"; } - - console.log('####################'); - console.log('####################'); - console.log('BUILD bundle with parameters:'); - console.log( env); - console.log('####################'); - console.log('####################'); + console.log("####################"); + console.log("####################"); + console.log("BUILD bundle with parameters:"); + console.log(env); + console.log("####################"); + console.log("####################"); const { mode } = env; - const devtool = env.mode === 'source-map'; - + const devtool = "source-map"; const output = { - path: path.resolve(__dirname, 'dist'), - filename: 'js/[name].[contenthash].js' + path: path.resolve(__dirname, "dist"), + filename: "[name].[contenthash].js", + publicPath: "/" }; const module = { @@ -39,11 +38,19 @@ module.exports = function webpacking(envVariables) { { test: /\.(js|jsx)$/, exclude: /node_modules/, - loader: 'babel-loader' + loader: "babel-loader", }, { - test: /\.ts|tsx?$/, - loader: "awesome-typescript-loader" + test: /\.ts(x?)$/, + include: path.resolve(__dirname, 'src'), + use: [ + { + loader: "ts-loader", + options: { + transpileOnly: true, + }, + } + ] }, { test: /\.(css)$/, @@ -53,7 +60,8 @@ module.exports = function webpacking(envVariables) { }, { loader: "css-loader", - }], + }, + ], }, { test: /\.less$/, @@ -76,27 +84,33 @@ module.exports = function webpacking(envVariables) { }, { test: /\.(png|jpg|gif|eot|woff|woff2|svg|ttf)$/, - loader: 'file-loader' + use: [ + "file-loader", + { + loader: "image-webpack-loader", + options: { + bypassOnDebug: true, // webpack@1.x + disable: true, // webpack@2.x and newer + }, + }, + ], }, - - ] + ], }; const resolve = { - extensions: ['*', '.js', '.json', '.ts', '.tsx', '.jsx'], - symlinks: false + extensions: ["*", ".js", ".json", ".ts", ".tsx", ".jsx"], + symlinks: false, }; - - const plugins = [ new CleanWebpackPlugin(), new CopyWebpackPlugin({ patterns: copyPaths }), new CompressionPlugin(), new HtmlWebpackPlugin({ - template: 'src/index.ejs', - favicon: path.join(__dirname, 'src/assets/icon.png') - }) + template: "src/index.ejs", + favicon: path.join(__dirname, "src/assets/icon.png"), + }), ]; return { @@ -105,6 +119,6 @@ module.exports = function webpacking(envVariables) { output, module, resolve, - plugins + plugins, }; }; diff --git a/applications/samples/frontend/yarn.lock b/applications/samples/frontend/yarn.lock new file mode 100644 index 00000000..06a9b00c --- /dev/null +++ b/applications/samples/frontend/yarn.lock @@ -0,0 +1,7363 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" + +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== + +"@babel/core@^7.8.3": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.7.tgz#4d8016e06a14b5f92530a13ed0561730b5c6483f" + integrity sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.7" + "@babel/parser" "^7.23.6" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.7" + "@babel/types" "^7.23.6" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== + dependencies: + "@babel/types" "^7.23.6" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" + integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.15": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.7.tgz#b2e6826e0e20d337143655198b79d58fdc9bd43d" + integrity sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + regexpu-core "^5.3.1" + semver "^6.3.1" + +"@babel/helper-define-polyfill-provider@^0.4.4": + version "0.4.4" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz#64df615451cb30e94b59a9696022cffac9a10088" + integrity sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-define-polyfill-provider@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz#465805b7361f461e86c680f1de21eaf88c25901b" + integrity sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q== + dependencies: + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== + dependencies: + "@babel/types" "^7.23.0" + +"@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-remap-async-to-generator@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" + +"@babel/helper-replace-supers@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" + integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + +"@babel/helper-wrap-function@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" + integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== + dependencies: + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/types" "^7.22.19" + +"@babel/helpers@^7.23.7": + version "7.23.8" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.8.tgz#fc6b2d65b16847fd50adddbd4232c76378959e34" + integrity sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ== + dependencies: + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.7" + "@babel/types" "^7.23.6" + +"@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + +"@babel/parser@^7.22.15", "@babel/parser@^7.23.6", "@babel/parser@^7.7.0": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" + integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" + integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" + integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.23.3" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.7": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz#516462a95d10a9618f197d39ad291a9b47ae1d7b" + integrity sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-proposal-class-properties@^7.8.3": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" + integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-attributes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06" + integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-meta@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" + integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" + integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-async-generator-functions@^7.23.7": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.7.tgz#3aa0b4f2fa3788b5226ef9346cf6d16ec61f99cd" + integrity sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-transform-async-to-generator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" + integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== + dependencies: + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" + +"@babel/plugin-transform-block-scoped-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" + integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-block-scoping@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" + integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48" + integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-static-block@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5" + integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-classes@^7.23.8": + version "7.23.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz#d08ae096c240347badd68cdf1b6d1624a6435d92" + integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-split-export-declaration" "^7.22.6" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" + integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/template" "^7.22.15" + +"@babel/plugin-transform-destructuring@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" + integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dotall-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" + integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-duplicate-keys@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" + integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dynamic-import@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143" + integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-transform-exponentiation-operator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" + integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-export-namespace-from@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191" + integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e" + integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-function-name@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" + integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== + dependencies: + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-json-strings@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d" + integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-transform-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" + integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-logical-assignment-operators@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5" + integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" + integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-amd@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" + integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-commonjs@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" + integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + +"@babel/plugin-transform-modules-systemjs@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz#fa7e62248931cb15b9404f8052581c302dd9de81" + integrity sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ== + dependencies: + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/plugin-transform-modules-umd@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" + integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== + dependencies: + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-new-target@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" + integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e" + integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-transform-numeric-separator@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29" + integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-transform-object-rest-spread@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83" + integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== + dependencies: + "@babel/compat-data" "^7.23.3" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.23.3" + +"@babel/plugin-transform-object-super@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" + integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + +"@babel/plugin-transform-optional-catch-binding@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017" + integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" + integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-transform-parameters@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" + integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-methods@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4" + integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-property-in-object@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5" + integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" + integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-display-name@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" + integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-react-jsx-development@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz#e716b6edbef972a92165cd69d92f1255f7e73e87" + integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.22.5" + +"@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" + integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/types" "^7.23.4" + +"@babel/plugin-transform-react-pure-annotations@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz#fabedbdb8ee40edf5da96f3ecfc6958e3783b93c" + integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-regenerator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" + integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" + integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-shorthand-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" + integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-spread@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" + integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" + integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-template-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" + integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typeof-symbol@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" + integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-escapes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" + integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-property-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad" + integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" + integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-sets-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e" + integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/preset-env@^7.8.3": + version "7.23.8" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.8.tgz#7d6f8171ea7c221ecd28059e65ad37c20e441e3e" + integrity sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.23.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.7" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.23.3" + "@babel/plugin-syntax-import-attributes" "^7.23.3" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.23.3" + "@babel/plugin-transform-async-generator-functions" "^7.23.7" + "@babel/plugin-transform-async-to-generator" "^7.23.3" + "@babel/plugin-transform-block-scoped-functions" "^7.23.3" + "@babel/plugin-transform-block-scoping" "^7.23.4" + "@babel/plugin-transform-class-properties" "^7.23.3" + "@babel/plugin-transform-class-static-block" "^7.23.4" + "@babel/plugin-transform-classes" "^7.23.8" + "@babel/plugin-transform-computed-properties" "^7.23.3" + "@babel/plugin-transform-destructuring" "^7.23.3" + "@babel/plugin-transform-dotall-regex" "^7.23.3" + "@babel/plugin-transform-duplicate-keys" "^7.23.3" + "@babel/plugin-transform-dynamic-import" "^7.23.4" + "@babel/plugin-transform-exponentiation-operator" "^7.23.3" + "@babel/plugin-transform-export-namespace-from" "^7.23.4" + "@babel/plugin-transform-for-of" "^7.23.6" + "@babel/plugin-transform-function-name" "^7.23.3" + "@babel/plugin-transform-json-strings" "^7.23.4" + "@babel/plugin-transform-literals" "^7.23.3" + "@babel/plugin-transform-logical-assignment-operators" "^7.23.4" + "@babel/plugin-transform-member-expression-literals" "^7.23.3" + "@babel/plugin-transform-modules-amd" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-modules-systemjs" "^7.23.3" + "@babel/plugin-transform-modules-umd" "^7.23.3" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.23.3" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4" + "@babel/plugin-transform-numeric-separator" "^7.23.4" + "@babel/plugin-transform-object-rest-spread" "^7.23.4" + "@babel/plugin-transform-object-super" "^7.23.3" + "@babel/plugin-transform-optional-catch-binding" "^7.23.4" + "@babel/plugin-transform-optional-chaining" "^7.23.4" + "@babel/plugin-transform-parameters" "^7.23.3" + "@babel/plugin-transform-private-methods" "^7.23.3" + "@babel/plugin-transform-private-property-in-object" "^7.23.4" + "@babel/plugin-transform-property-literals" "^7.23.3" + "@babel/plugin-transform-regenerator" "^7.23.3" + "@babel/plugin-transform-reserved-words" "^7.23.3" + "@babel/plugin-transform-shorthand-properties" "^7.23.3" + "@babel/plugin-transform-spread" "^7.23.3" + "@babel/plugin-transform-sticky-regex" "^7.23.3" + "@babel/plugin-transform-template-literals" "^7.23.3" + "@babel/plugin-transform-typeof-symbol" "^7.23.3" + "@babel/plugin-transform-unicode-escapes" "^7.23.3" + "@babel/plugin-transform-unicode-property-regex" "^7.23.3" + "@babel/plugin-transform-unicode-regex" "^7.23.3" + "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.7" + babel-plugin-polyfill-corejs3 "^0.8.7" + babel-plugin-polyfill-regenerator "^0.5.4" + core-js-compat "^3.31.0" + semver "^6.3.1" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@^7.8.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.23.3.tgz#f73ca07e7590f977db07eb54dbe46538cc015709" + integrity sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-transform-react-display-name" "^7.23.3" + "@babel/plugin-transform-react-jsx" "^7.22.15" + "@babel/plugin-transform-react-jsx-development" "^7.22.5" + "@babel/plugin-transform-react-pure-annotations" "^7.23.3" + +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + +"@babel/runtime@^7.1.2", "@babel/runtime@^7.12.13", "@babel/runtime@^7.8.4": + version "7.23.8" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.8.tgz#8ee6fe1ac47add7122902f257b8ddf55c898f650" + integrity sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/template@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" + +"@babel/traverse@^7.23.7", "@babel/traverse@^7.7.0": + version "7.23.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.7.tgz#9a7bf285c928cb99b5ead19c3b1ce5b310c9c305" + integrity sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.6" + "@babel/types" "^7.23.6" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd" + integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + +"@discoveryjs/json-ext@^0.5.0": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@gar/promisify@^1.0.1": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" + integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== + +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.3": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" + integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.21" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.21.tgz#5dc1df7b3dc4a6209e503a924e1ca56097a2bb15" + integrity sha512-SRfKmRe1KvYnxjEMtxEr+J4HIeMX5YBg/qhRHpxEIGjhX1rshcHlnFUE9K0GazhVKWM7B+nARSkV8LuvJdJ5/g== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" + integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@npmcli/fs@^1.0.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257" + integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== + dependencies: + "@gar/promisify" "^1.0.1" + semver "^7.3.5" + +"@npmcli/move-file@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" + integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@sindresorhus/is@^0.7.0": + version "0.7.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" + integrity sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow== + +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + +"@types/body-parser@*": + version "1.19.5" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" + integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/bonjour@^3.5.9": + version "3.5.13" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956" + integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== + dependencies: + "@types/node" "*" + +"@types/connect-history-api-fallback@^1.3.5": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3" + integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.38" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== + dependencies: + "@types/node" "*" + +"@types/eslint-scope@^3.7.3": + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*": + version "8.56.2" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.2.tgz#1c72a9b794aa26a8b94ad26d5b9aa51c8a6384bb" + integrity sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.0": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": + version "4.17.41" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz#5077defa630c2e8d28aa9ffc2c01c157c305bef6" + integrity sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@*", "@types/express@^4.17.13": + version "4.17.21" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" + integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.33" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/glob@^7.1.1": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/html-minifier-terser@^6.0.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" + integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== + +"@types/http-errors@*": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" + integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== + +"@types/http-proxy@^1.17.8": + version "1.17.14" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.14.tgz#57f8ccaa1c1c3780644f8a94f9c6b5000b5e2eec" + integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== + dependencies: + "@types/node" "*" + +"@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/mime@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.4.tgz#2198ac274de6017b44d941e00261d5bc6a0e0a45" + integrity sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw== + +"@types/mime@^1": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" + integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== + +"@types/minimatch@*": + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" + integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== + +"@types/node-forge@^1.3.0": + version "1.3.11" + resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.11.tgz#0972ea538ddb0f4d9c2fa0ec5db5724773a604da" + integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== + dependencies: + "@types/node" "*" + +"@types/node@*": + version "20.11.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.5.tgz#be10c622ca7fcaa3cf226cf80166abc31389d86e" + integrity sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w== + dependencies: + undici-types "~5.26.4" + +"@types/qs@*": + version "6.9.11" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.11.tgz#208d8a30bc507bd82e03ada29e4732ea46a6bbda" + integrity sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ== + +"@types/range-parser@*": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" + integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== + +"@types/retry@0.12.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== + +"@types/send@*": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" + integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/serve-index@^1.9.1": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898" + integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== + dependencies: + "@types/express" "*" + +"@types/serve-static@*", "@types/serve-static@^1.13.10": + version "1.15.5" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.5.tgz#15e67500ec40789a1e8c9defc2d32a896f05b033" + integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ== + dependencies: + "@types/http-errors" "*" + "@types/mime" "*" + "@types/node" "*" + +"@types/sockjs@^0.3.33": + version "0.3.36" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" + integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== + dependencies: + "@types/node" "*" + +"@types/source-list-map@*": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.6.tgz#164e169dd061795b50b83c19e4d3be09f8d3a454" + integrity sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g== + +"@types/tapable@^1": + version "1.0.12" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.12.tgz#bc2cab12e87978eee89fb21576b670350d6d86ab" + integrity sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q== + +"@types/uglify-js@*": + version "3.17.4" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.17.4.tgz#3c70021f08023e5a760ce133d22966f200e1d31c" + integrity sha512-Hm/T0kV3ywpJyMGNbsItdivRhYNCQQf1IIsYsXnoVPES4t+FMLyDe0/K+Ea7ahWtMtSNb22ZdY7MIyoD9rqARg== + dependencies: + source-map "^0.6.1" + +"@types/webpack-sources@*": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.3.tgz#b667bd13e9fa15a9c26603dce502c7985418c3d8" + integrity sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw== + dependencies: + "@types/node" "*" + "@types/source-list-map" "*" + source-map "^0.7.3" + +"@types/webpack@^4.4.31": + version "4.41.38" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.38.tgz#5a40ac81bdd052bf405e8bdcf3e1236f6db6dc26" + integrity sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw== + dependencies: + "@types/node" "*" + "@types/tapable" "^1" + "@types/uglify-js" "*" + "@types/webpack-sources" "*" + anymatch "^3.0.0" + source-map "^0.6.0" + +"@types/ws@^8.5.5": + version "8.5.10" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" + integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== + dependencies: + "@types/node" "*" + +"@typescript-eslint/experimental-utils@^2.5.0": + version "2.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" + integrity sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "2.34.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/typescript-estree@2.34.0": + version "2.34.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" + integrity sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg== + dependencies: + debug "^4.1.1" + eslint-visitor-keys "^1.1.0" + glob "^7.1.6" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + +"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" + integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== + +"@webassemblyjs/helper-wasm-section@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-opt" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/wast-printer" "1.11.6" + +"@webassemblyjs/wasm-gen@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" + integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + +"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webpack-cli/configtest@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.2.0.tgz#7b20ce1c12533912c3b217ea68262365fa29a6f5" + integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== + +"@webpack-cli/info@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.5.0.tgz#6c78c13c5874852d6e2dd17f08a41f3fe4c261b1" + integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== + dependencies: + envinfo "^7.7.3" + +"@webpack-cli/serve@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.7.0.tgz#e1993689ac42d2b16e9194376cfb6753f6254db1" + integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== + +acorn-jsx@^5.0.0: + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn@^6.0.7: + version "6.4.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" + integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== + +acorn@^8.7.1, acorn@^8.8.2: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.10.2, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0, ajv@^8.9.0: + version "8.12.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-escapes@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + +ansi-regex@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== + +ansi-regex@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" + integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@^3.0.0, anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arch@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" + integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== + +archive-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/archive-type/-/archive-type-4.0.0.tgz#f92e72233056dfc6969472749c267bdb046b1d70" + integrity sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA== + dependencies: + file-type "^4.2.0" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +array-buffer-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" + integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== + dependencies: + call-bind "^1.0.2" + is-array-buffer "^3.0.1" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-includes@^3.1.6: + version "3.1.7" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" + integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-string "^1.0.7" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== + dependencies: + array-uniq "^1.0.1" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== + +array.prototype.flat@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.flatmap@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + +array.prototype.tosorted@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz#620eff7442503d66c799d95503f82b475745cefd" + integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.2.1" + +arraybuffer.prototype.slice@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" + integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== + dependencies: + array-buffer-byte-length "^1.0.0" + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-array-buffer "^3.0.2" + is-shared-array-buffer "^1.0.2" + +ast-types@0.9.6: + version "0.9.6" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9" + integrity sha512-qEdtR2UH78yyHX/AUNfXmJTlM48XoFZKBdwi1nzkI1mJL21cmbu0cvjxjpkXJ5NENMq42H+hNs8VLJcqXLerBQ== + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + +asynciterator.prototype@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz#8c5df0514936cdd133604dfcc9d3fb93f09b2b62" + integrity sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg== + dependencies: + has-symbols "^1.0.3" + +available-typed-arrays@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" + integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== + +axios@^0.21.1: + version "0.21.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" + integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== + dependencies: + follow-redirects "^1.14.0" + +babel-eslint@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" + integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== + dependencies: + "@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-helper-evaluate-path@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz#a62fa9c4e64ff7ea5cea9353174ef023a900a67c" + integrity sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA== + +babel-helper-flip-expressions@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz#3696736a128ac18bc25254b5f40a22ceb3c1d3fd" + integrity sha512-rSrkRW4YQ2ETCWww9gbsWk4N0x1BOtln349Tk0dlCS90oT68WMLyGR7WvaMp3eAnsVrCqdUtC19lo1avyGPejA== + +babel-helper-is-nodes-equiv@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz#34e9b300b1479ddd98ec77ea0bbe9342dfe39684" + integrity sha512-ri/nsMFVRqXn7IyT5qW4/hIAGQxuYUFHa3qsxmPtbk6spZQcYlyDogfVpNm2XYOslH/ULS4VEJGUqQX5u7ACQw== + +babel-helper-is-void-0@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz#7d9c01b4561e7b95dbda0f6eee48f5b60e67313e" + integrity sha512-07rBV0xPRM3TM5NVJEOQEkECX3qnHDjaIbFvWYPv+T1ajpUiVLiqTfC+MmiZxY5KOL/Ec08vJdJD9kZiP9UkUg== + +babel-helper-mark-eval-scopes@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz#d244a3bef9844872603ffb46e22ce8acdf551562" + integrity sha512-+d/mXPP33bhgHkdVOiPkmYoeXJ+rXRWi7OdhwpyseIqOS8CmzHQXHUp/+/Qr8baXsT0kjGpMHHofHs6C3cskdA== + +babel-helper-remove-or-void@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz#a4f03b40077a0ffe88e45d07010dee241ff5ae60" + integrity sha512-eYNceYtcGKpifHDir62gHJadVXdg9fAhuZEXiRQnJJ4Yi4oUTpqpNY//1pM4nVyjjDMPYaC2xSf0I+9IqVzwdA== + +babel-helper-to-multiple-sequence-expressions@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz#a3f924e3561882d42fcf48907aa98f7979a4588d" + integrity sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA== + +babel-loader@^8.0.6: + version "8.3.0" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8" + integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^2.0.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-plugin-minify-builtins@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz#31eb82ed1a0d0efdc31312f93b6e4741ce82c36b" + integrity sha512-wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag== + +babel-plugin-minify-constant-folding@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz#f84bc8dbf6a561e5e350ff95ae216b0ad5515b6e" + integrity sha512-Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ== + dependencies: + babel-helper-evaluate-path "^0.5.0" + +babel-plugin-minify-dead-code-elimination@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.2.tgz#f386ceec77a80cc4e76022a04c21b7d68e0aa5eb" + integrity sha512-krq9Lwi0QIzyAlcNBXTL4usqUvevB4BzktdEsb8srcXC1AaYqRJiAQw6vdKdJSaXbz6snBvziGr6ch/aoRCfpA== + dependencies: + babel-helper-evaluate-path "^0.5.0" + babel-helper-mark-eval-scopes "^0.4.3" + babel-helper-remove-or-void "^0.4.3" + lodash "^4.17.11" + +babel-plugin-minify-flip-comparisons@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz#00ca870cb8f13b45c038b3c1ebc0f227293c965a" + integrity sha512-8hNwgLVeJzpeLVOVArag2DfTkbKodzOHU7+gAZ8mGBFGPQHK6uXVpg3jh5I/F6gfi5Q5usWU2OKcstn1YbAV7A== + dependencies: + babel-helper-is-void-0 "^0.4.3" + +babel-plugin-minify-guarded-expressions@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.4.tgz#818960f64cc08aee9d6c75bec6da974c4d621135" + integrity sha512-RMv0tM72YuPPfLT9QLr3ix9nwUIq+sHT6z8Iu3sLbqldzC1Dls8DPCywzUIzkTx9Zh1hWX4q/m9BPoPed9GOfA== + dependencies: + babel-helper-evaluate-path "^0.5.0" + babel-helper-flip-expressions "^0.4.3" + +babel-plugin-minify-infinity@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz#dfb876a1b08a06576384ef3f92e653ba607b39ca" + integrity sha512-X0ictxCk8y+NvIf+bZ1HJPbVZKMlPku3lgYxPmIp62Dp8wdtbMLSekczty3MzvUOlrk5xzWYpBpQprXUjDRyMA== + +babel-plugin-minify-mangle-names@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.1.tgz#3dfba7f4e649ff37a767542ea0d1093bee3bb155" + integrity sha512-8KMichAOae2FHlipjNDTo2wz97MdEb2Q0jrn4NIRXzHH7SJ3c5TaNNBkeTHbk9WUsMnqpNUx949ugM9NFWewzw== + dependencies: + babel-helper-mark-eval-scopes "^0.4.3" + +babel-plugin-minify-numeric-literals@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz#8e4fd561c79f7801286ff60e8c5fd9deee93c0bc" + integrity sha512-5D54hvs9YVuCknfWywq0eaYDt7qYxlNwCqW9Ipm/kYeS9gYhJd0Rr/Pm2WhHKJ8DC6aIlDdqSBODSthabLSX3A== + +babel-plugin-minify-replace@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz#d3e2c9946c9096c070efc96761ce288ec5c3f71c" + integrity sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q== + +babel-plugin-minify-simplify@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.1.tgz#f21613c8b95af3450a2ca71502fdbd91793c8d6a" + integrity sha512-OSYDSnoCxP2cYDMk9gxNAed6uJDiDz65zgL6h8d3tm8qXIagWGMLWhqysT6DY3Vs7Fgq7YUDcjOomhVUb+xX6A== + dependencies: + babel-helper-evaluate-path "^0.5.0" + babel-helper-flip-expressions "^0.4.3" + babel-helper-is-nodes-equiv "^0.0.1" + babel-helper-to-multiple-sequence-expressions "^0.5.0" + +babel-plugin-minify-type-constructors@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz#1bc6f15b87f7ab1085d42b330b717657a2156500" + integrity sha512-4ADB0irJ/6BeXWHubjCJmrPbzhxDgjphBMjIjxCc25n4NGJ00NsYqwYt+F/OvE9RXx8KaSW7cJvp+iZX436tnQ== + dependencies: + babel-helper-is-void-0 "^0.4.3" + +babel-plugin-module-resolver@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.1.0.tgz#22a4f32f7441727ec1fbf4967b863e1e3e9f33e2" + integrity sha512-MlX10UDheRr3lb3P0WcaIdtCSRlxdQsB1sBqL7W0raF070bGl1HQQq5K3T2vf2XAYie+ww+5AKC/WrkjRO2knA== + dependencies: + find-babel-config "^1.2.0" + glob "^7.1.6" + pkg-up "^3.1.0" + reselect "^4.0.0" + resolve "^1.13.1" + +babel-plugin-polyfill-corejs2@^0.4.7: + version "0.4.8" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz#dbcc3c8ca758a290d47c3c6a490d59429b0d2269" + integrity sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg== + dependencies: + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.5.0" + semver "^6.3.1" + +babel-plugin-polyfill-corejs3@^0.8.7: + version "0.8.7" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz#941855aa7fdaac06ed24c730a93450d2b2b76d04" + integrity sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.4.4" + core-js-compat "^3.33.1" + +babel-plugin-polyfill-regenerator@^0.5.4: + version "0.5.5" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz#8b0c8fc6434239e5d7b8a9d1f832bb2b0310f06a" + integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.5.0" + +babel-plugin-transform-inline-consecutive-adds@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz#323d47a3ea63a83a7ac3c811ae8e6941faf2b0d1" + integrity sha512-8D104wbzzI5RlxeVPYeQb9QsUyepiH1rAO5hpPpQ6NPRgQLpIVwkS/Nbx944pm4K8Z+rx7CgjPsFACz/VCBN0Q== + +babel-plugin-transform-member-expression-literals@^6.9.4: + version "6.9.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz#37039c9a0c3313a39495faac2ff3a6b5b9d038bf" + integrity sha512-Xq9/Rarpj+bjOZSl1nBbZYETsNEDDJSrb6Plb1sS3/36FukWFLLRysgecva5KZECjUJTrJoQqjJgtWToaflk5Q== + +babel-plugin-transform-merge-sibling-variables@^6.9.5: + version "6.9.5" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.5.tgz#0b2faa9e027ef47d4e7502f77cd1a7f3a6dfbc7b" + integrity sha512-xj/KrWi6/uP+DrD844h66Qh2cZN++iugEIgH8QcIxhmZZPNP6VpOE9b4gP2FFW39xDAY43kCmYMM6U0QNKN8fw== + +babel-plugin-transform-minify-booleans@^6.9.4: + version "6.9.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz#acbb3e56a3555dd23928e4b582d285162dd2b198" + integrity sha512-9pW9ePng6DZpzGPalcrULuhSCcauGAbn8AeU3bE34HcDkGm8Ldt0ysjGkyb64f0K3T5ilV4mriayOVv5fg0ASA== + +babel-plugin-transform-property-literals@^6.9.4: + version "6.9.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz#98c1d21e255736573f93ece54459f6ce24985d39" + integrity sha512-Pf8JHTjTPxecqVyL6KSwD/hxGpoTZjiEgV7nCx0KFQsJYM0nuuoCajbg09KRmZWeZbJ5NGTySABYv8b/hY1eEA== + dependencies: + esutils "^2.0.2" + +babel-plugin-transform-regexp-constructors@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz#58b7775b63afcf33328fae9a5f88fbd4fb0b4965" + integrity sha512-JjymDyEyRNhAoNFp09y/xGwYVYzT2nWTGrBrWaL6eCg2m+B24qH2jR0AA8V8GzKJTgC8NW6joJmc6nabvWBD/g== + +babel-plugin-transform-remove-console@^6.9.4: + version "6.9.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz#b980360c067384e24b357a588d807d3c83527780" + integrity sha512-88blrUrMX3SPiGkT1GnvVY8E/7A+k6oj3MNvUtTIxJflFzXTw1bHkuJ/y039ouhFMp2prRn5cQGzokViYi1dsg== + +babel-plugin-transform-remove-debugger@^6.9.4: + version "6.9.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz#42b727631c97978e1eb2d199a7aec84a18339ef2" + integrity sha512-Kd+eTBYlXfwoFzisburVwrngsrz4xh9I0ppoJnU/qlLysxVBRgI4Pj+dk3X8F5tDiehp3hhP8oarRMT9v2Z3lw== + +babel-plugin-transform-remove-undefined@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz#80208b31225766c630c97fa2d288952056ea22dd" + integrity sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ== + dependencies: + babel-helper-evaluate-path "^0.5.0" + +babel-plugin-transform-simplify-comparison-operators@^6.9.4: + version "6.9.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz#f62afe096cab0e1f68a2d753fdf283888471ceb9" + integrity sha512-GLInxhGAQWJ9YIdjwF6dAFlmh4U+kN8pL6Big7nkDzHoZcaDQOtBm28atEhQJq6m9GpAovbiGEShKqXv4BSp0A== + +babel-plugin-transform-undefined-to-void@^6.9.4: + version "6.9.4" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz#be241ca81404030678b748717322b89d0c8fe280" + integrity sha512-D2UbwxawEY1xVc9svYAUZQM2xarwSNXue2qDIx6CeV2EuMGaes/0su78zlIDIAgE7BvnMw4UpmSo9fDy+znghg== + +babel-preset-minify@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/babel-preset-minify/-/babel-preset-minify-0.5.2.tgz#4d5be8b1c21d126ac403a3fd002d8b5fb7bb3c34" + integrity sha512-v4GL+kk0TfovbRIKZnC3HPbu2cAGmPAby7BsOmuPdMJfHV+4FVdsGXTH/OOGQRKYdjemBuL1+MsE6mobobhe9w== + dependencies: + babel-plugin-minify-builtins "^0.5.0" + babel-plugin-minify-constant-folding "^0.5.0" + babel-plugin-minify-dead-code-elimination "^0.5.2" + babel-plugin-minify-flip-comparisons "^0.4.3" + babel-plugin-minify-guarded-expressions "^0.4.4" + babel-plugin-minify-infinity "^0.4.3" + babel-plugin-minify-mangle-names "^0.5.1" + babel-plugin-minify-numeric-literals "^0.4.3" + babel-plugin-minify-replace "^0.5.0" + babel-plugin-minify-simplify "^0.5.1" + babel-plugin-minify-type-constructors "^0.4.3" + babel-plugin-transform-inline-consecutive-adds "^0.4.3" + babel-plugin-transform-member-expression-literals "^6.9.4" + babel-plugin-transform-merge-sibling-variables "^6.9.5" + babel-plugin-transform-minify-booleans "^6.9.4" + babel-plugin-transform-property-literals "^6.9.4" + babel-plugin-transform-regexp-constructors "^0.4.3" + babel-plugin-transform-remove-console "^6.9.4" + babel-plugin-transform-remove-debugger "^6.9.4" + babel-plugin-transform-remove-undefined "^0.5.0" + babel-plugin-transform-simplify-comparison-operators "^6.9.4" + babel-plugin-transform-undefined-to-void "^6.9.4" + lodash "^4.17.11" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +bin-build@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bin-build/-/bin-build-3.0.0.tgz#c5780a25a8a9f966d8244217e6c1f5082a143861" + integrity sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA== + dependencies: + decompress "^4.0.0" + download "^6.2.2" + execa "^0.7.0" + p-map-series "^1.0.0" + tempfile "^2.0.0" + +bin-check@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bin-check/-/bin-check-4.1.0.tgz#fc495970bdc88bb1d5a35fc17e65c4a149fc4a49" + integrity sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA== + dependencies: + execa "^0.7.0" + executable "^4.1.0" + +bin-version-check@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-4.0.0.tgz#7d819c62496991f80d893e6e02a3032361608f71" + integrity sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ== + dependencies: + bin-version "^3.0.0" + semver "^5.6.0" + semver-truncate "^1.1.2" + +bin-version@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-3.1.0.tgz#5b09eb280752b1bd28f0c9db3f96f2f43b6c0839" + integrity sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ== + dependencies: + execa "^1.0.0" + find-versions "^3.0.0" + +bin-wrapper@^4.0.0, bin-wrapper@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bin-wrapper/-/bin-wrapper-4.1.0.tgz#99348f2cf85031e3ef7efce7e5300aeaae960605" + integrity sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q== + dependencies: + 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" + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bl@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" + integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + +body-parser@1.20.1: + version "1.20.1" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + +bonjour-service@^1.0.11: + version "1.2.1" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.2.1.tgz#eb41b3085183df3321da1264719fbada12478d02" + integrity sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw== + dependencies: + fast-deep-equal "^3.1.3" + multicast-dns "^7.2.5" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.14.5, browserslist@^4.22.2: + version "4.22.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" + integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== + dependencies: + caniuse-lite "^1.0.30001565" + electron-to-chromium "^1.4.601" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.2.1: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +cacache@^15.0.5: + version "15.3.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" + integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== + dependencies: + "@npmcli/fs" "^1.0.0" + "@npmcli/move-file" "^1.0.1" + chownr "^2.0.0" + fs-minipass "^2.0.0" + glob "^7.1.4" + infer-owner "^1.0.4" + lru-cache "^6.0.0" + minipass "^3.1.1" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^1.0.3" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.0.2" + unique-filename "^1.1.1" + +cacheable-request@^2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d" + integrity sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ== + dependencies: + 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" + +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" + integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== + dependencies: + function-bind "^1.1.2" + get-intrinsic "^1.2.1" + set-function-length "^1.1.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@3.0.x: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" + integrity sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w== + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camel-case@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +caniuse-lite@^1.0.30001565: + version "1.0.30001579" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz#45c065216110f46d6274311a4b3fcf6278e0852a" + integrity sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA== + +caw@^2.0.0, caw@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/caw/-/caw-2.0.1.tgz#6c3ca071fc194720883c2dc5da9b074bfc7e9e95" + integrity sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA== + dependencies: + get-proxy "^2.0.0" + isurl "^1.0.0-alpha5" + tunnel-agent "^0.6.0" + url-to-options "^1.0.1" + +chalk@^2.1.0, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + +chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +clean-css@4.2.x: + version "4.2.4" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" + integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A== + dependencies: + source-map "~0.6.0" + +clean-css@^5.2.2: + version "5.3.3" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.3.tgz#b330653cd3bd6b75009cc25c714cae7b93351ccd" + integrity sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg== + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +clean-webpack-plugin@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz#a99d8ec34c1c628a4541567aa7b457446460c62b" + integrity sha512-MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A== + dependencies: + "@types/webpack" "^4.4.31" + del "^4.1.1" + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== + dependencies: + restore-cursor "^2.0.0" + +cli-width@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" + integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== + +clipboard-copy@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/clipboard-copy/-/clipboard-copy-3.2.0.tgz#3c5b8651d3512dcfad295d77a9eb09e7fac8d5fb" + integrity sha512-vooFaGFL6ulEP1liiaWFBmmfuPm3cY3y7T9eB83ZTnYc/oFeAKsq3NcDrOkBC8XaauEE8zHQwI7k0+JSYiVQSQ== + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone-response@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" + integrity sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q== + dependencies: + mimic-response "^1.0.0" + +clone@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colorette@^2.0.10, colorette@^2.0.14: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +commander@2.17.x: + version "2.17.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" + integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== + +commander@^2.20.0, commander@^2.8.1: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^7.0.0, commander@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +commander@~2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" + integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression-webpack-plugin@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-7.1.2.tgz#f9a1ba84d4879693e29726f6884b382940876597" + integrity sha512-9DKNW6ILLjx+bNBoviHDgLx6swBhWWH9ApClC9sTH2NoFfQM47BapQfovCm9zjD9v1uZwInF5a925FB9ErGQeQ== + dependencies: + schema-utils "^3.0.0" + serialize-javascript "^5.0.1" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + 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" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +config-chain@^1.1.11: + version "1.1.13" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" + integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ== + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== + +content-disposition@0.5.4, content-disposition@^0.5.2: + version "0.5.4" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +copy-anything@^2.0.1: + version "2.0.6" + resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" + integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== + dependencies: + is-what "^3.14.1" + +copy-webpack-plugin@^6.2.1: + version "6.4.1" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-6.4.1.tgz#138cd9b436dbca0a6d071720d5414848992ec47e" + integrity sha512-MXyPCjdPVx5iiWyl40Va3JGh27bKzOTNY3NjUTrosD2q7dR/cLD0013uqJ3BpFbUjyONINjb6qI7nDIJujrMbA== + dependencies: + cacache "^15.0.5" + fast-glob "^3.2.4" + find-cache-dir "^3.3.1" + glob-parent "^5.1.1" + globby "^11.0.1" + loader-utils "^2.0.0" + normalize-path "^3.0.0" + p-limit "^3.0.2" + schema-utils "^3.0.0" + serialize-javascript "^5.0.1" + webpack-sources "^1.4.3" + +core-js-compat@^3.31.0, core-js-compat@^3.33.1: + version "3.35.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.35.0.tgz#c149a3d1ab51e743bc1da61e39cb51f461a41873" + integrity sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw== + dependencies: + browserslist "^4.22.2" + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-loader@^5.2.4: + version "5.2.7" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-5.2.7.tgz#9b9f111edf6fb2be5dc62525644cbc9c232064ae" + integrity sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg== + dependencies: + icss-utils "^5.1.0" + loader-utils "^2.0.0" + postcss "^8.2.15" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.1.0" + schema-utils "^3.0.0" + semver "^7.3.5" + +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== + dependencies: + boolbase "^1.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" + nth-check "^2.0.1" + +css-tree@^1.1.2, css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-what@^6.0.1: + version "6.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +csso@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +cwebp-bin@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cwebp-bin/-/cwebp-bin-7.0.1.tgz#cb1303bf43f645ba5b2ece342773c4a93574d4f4" + integrity sha512-Ko5ADY74/dbfd8xG0+f+MUP9UKjCe1TG4ehpW0E5y4YlPdwDJlGrSzSR4/Yonxpm9QmZE1RratkIxFlKeyo3FA== + dependencies: + bin-build "^3.0.0" + bin-wrapper "^4.0.1" + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decode-uri-component@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +decompress-response@^3.2.0, decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" + integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== + dependencies: + mimic-response "^1.0.0" + +decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1" + integrity sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ== + dependencies: + file-type "^5.2.0" + is-stream "^1.1.0" + tar-stream "^1.5.2" + +decompress-tarbz2@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b" + integrity sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A== + dependencies: + 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" + +decompress-targz@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee" + integrity sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w== + dependencies: + decompress-tar "^4.1.1" + file-type "^5.2.0" + is-stream "^1.1.0" + +decompress-unzip@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69" + integrity sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw== + dependencies: + file-type "^3.8.0" + get-stream "^2.2.0" + pify "^2.3.0" + yauzl "^2.4.2" + +decompress@^4.0.0, decompress@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.1.tgz#007f55cc6a62c055afa37c07eb6a4ee1b773f118" + integrity sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ== + dependencies: + 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" + +deep-is@~0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +default-gateway@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" + integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== + dependencies: + execa "^5.0.0" + +define-data-property@^1.0.1, define-data-property@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" + integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== + dependencies: + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== + dependencies: + define-data-property "^1.0.1" + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +del@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" + integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== + dependencies: + "@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" + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dns-packet@^5.2.2: + version "5.6.1" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-5.6.1.tgz#ae888ad425a9d1478a0674256ab866de1012cf2f" + integrity sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw== + dependencies: + "@leichtgewicht/ip-codec" "^2.0.1" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domutils@^2.5.2, domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dotenv@^16.0.2: + version "16.3.1" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" + integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== + +download@^6.2.2: + version "6.2.5" + resolved "https://registry.yarnpkg.com/download/-/download-6.2.5.tgz#acd6a542e4cd0bb42ca70cfc98c9e43b07039714" + integrity sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA== + dependencies: + 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" + +download@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/download/-/download-7.1.0.tgz#9059aa9d70b503ee76a132897be6dec8e5587233" + integrity sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ== + dependencies: + 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" + +duplexer3@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e" + integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.4.601: + version "1.4.639" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.639.tgz#c6f9cc685f9efb2980d2cfc95a27f8142c9adf28" + integrity sha512-CkKf3ZUVZchr+zDpAlNLEEy2NJJ9T64ULWaDgy3THXXlPVPkLu3VOs9Bac44nebVtdwl2geSj6AxTtGDOxoXhg== + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^5.0.0, enhanced-resolve@^5.15.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" + integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +envinfo@^7.7.3: + version "7.11.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.0.tgz#c3793f44284a55ff8c82faf1ffd91bc6478ea01f" + integrity sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg== + +errno@^0.1.1: + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +es-abstract@^1.22.1: + version "1.22.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" + integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== + dependencies: + array-buffer-byte-length "^1.0.0" + arraybuffer.prototype.slice "^1.0.2" + available-typed-arrays "^1.0.5" + call-bind "^1.0.5" + es-set-tostringtag "^2.0.1" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.2" + get-symbol-description "^1.0.0" + globalthis "^1.0.3" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + internal-slot "^1.0.5" + is-array-buffer "^3.0.2" + is-callable "^1.2.7" + is-negative-zero "^2.0.2" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.2" + is-string "^1.0.7" + is-typed-array "^1.1.12" + is-weakref "^1.0.2" + object-inspect "^1.13.1" + object-keys "^1.1.1" + object.assign "^4.1.4" + regexp.prototype.flags "^1.5.1" + safe-array-concat "^1.0.1" + safe-regex-test "^1.0.0" + string.prototype.trim "^1.2.8" + string.prototype.trimend "^1.0.7" + string.prototype.trimstart "^1.0.7" + typed-array-buffer "^1.0.0" + typed-array-byte-length "^1.0.0" + typed-array-byte-offset "^1.0.0" + typed-array-length "^1.0.4" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.13" + +es-iterator-helpers@^1.0.12: + version "1.0.15" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz#bd81d275ac766431d19305923707c3efd9f1ae40" + integrity sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g== + dependencies: + asynciterator.prototype "^1.0.0" + call-bind "^1.0.2" + define-properties "^1.2.1" + es-abstract "^1.22.1" + es-set-tostringtag "^2.0.1" + function-bind "^1.1.1" + get-intrinsic "^1.2.1" + globalthis "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + iterator.prototype "^1.1.2" + safe-array-concat "^1.0.1" + +es-module-lexer@^1.2.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" + integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== + +es-set-tostringtag@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" + integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== + dependencies: + get-intrinsic "^1.2.2" + has-tostringtag "^1.0.0" + hasown "^2.0.0" + +es-shim-unscopables@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== + dependencies: + hasown "^2.0.0" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es6-templates@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/es6-templates/-/es6-templates-0.2.3.tgz#5cb9ac9fb1ded6eb1239342b81d792bbb4078ee4" + integrity sha512-sziUVwcvQ+lOsrTyUY0Q11ilAPj+dy7AQ1E1MgSaHTaaAFTffaa08QSlGNU61iyVaroyb6nYdBV6oD7nzn6i8w== + dependencies: + recast "~0.11.12" + through "~2.3.6" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +eslint-plugin-jest@^23.8.2: + version "23.20.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-23.20.0.tgz#e1d69c75f639e99d836642453c4e75ed22da4099" + integrity sha512-+6BGQt85OREevBDWCvhqj1yYA4+BFK4XnRZSGJionuEYmcglMZYLNNBBemwzbqUAckURaHdJSBcjHPyrtypZOw== + dependencies: + "@typescript-eslint/experimental-utils" "^2.5.0" + +eslint-plugin-react-hooks@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-3.0.0.tgz#9e80c71846eb68dd29c3b21d832728aa66e5bd35" + integrity sha512-EjxTHxjLKIBWFgDJdhKKzLh5q+vjTFrqNZX36uIxWS4OfyXe5DawqPj3U5qeJ1ngLwatjzQnmR0Lz0J0YH3kxw== + +eslint-plugin-react@^7.19.0: + version "7.33.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz#69ee09443ffc583927eafe86ffebb470ee737608" + integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw== + dependencies: + array-includes "^3.1.6" + array.prototype.flatmap "^1.3.1" + array.prototype.tosorted "^1.1.1" + doctrine "^2.1.0" + es-iterator-helpers "^1.0.12" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.1.2" + object.entries "^1.1.6" + object.fromentries "^2.0.6" + object.hasown "^1.1.2" + object.values "^1.1.6" + prop-types "^15.8.1" + resolve "^2.0.0-next.4" + semver "^6.3.1" + string.prototype.matchall "^4.0.8" + +eslint-scope@5.1.1, eslint-scope@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" + integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-utils@^1.3.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" + integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint@5.16.0: + version "5.16.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea" + integrity sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg== + dependencies: + "@babel/code-frame" "^7.0.0" + ajv "^6.9.1" + chalk "^2.1.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^4.0.3" + eslint-utils "^1.3.1" + eslint-visitor-keys "^1.0.0" + espree "^5.0.1" + esquery "^1.0.1" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob "^7.1.2" + globals "^11.7.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + inquirer "^6.2.2" + js-yaml "^3.13.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.11" + minimatch "^3.0.4" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.2" + progress "^2.0.0" + regexpp "^2.0.1" + semver "^5.5.1" + strip-ansi "^4.0.0" + strip-json-comments "^2.0.1" + table "^5.2.3" + text-table "^0.2.0" + +espree@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" + integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== + dependencies: + acorn "^6.0.7" + acorn-jsx "^5.0.0" + eslint-visitor-keys "^1.0.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esprima@~3.1.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" + integrity sha512-AWwVMNxwhN8+NIPQzAQZCm7RkLC4RbM3B1OobMuyp3i+w73X57KCKaVIxaRZb+DYCojq7rspo+fmuQfAboyhFg== + +esquery@^1.0.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.1.0, esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +exec-buffer@^3.0.0, exec-buffer@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/exec-buffer/-/exec-buffer-3.2.0.tgz#b1686dbd904c7cf982e652c1f5a79b1e5573082b" + integrity sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA== + dependencies: + execa "^0.7.0" + p-finally "^1.0.0" + pify "^3.0.0" + rimraf "^2.5.4" + tempfile "^2.0.0" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + integrity sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw== + dependencies: + 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" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" + integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + dependencies: + 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" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +executable@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" + integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== + dependencies: + pify "^2.2.0" + +express@^4.17.3: + version "4.18.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.1" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.11.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +ext-list@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/ext-list/-/ext-list-2.2.2.tgz#0b98e64ed82f5acf0f2931babf69212ef52ddd37" + integrity sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA== + dependencies: + mime-db "^1.28.0" + +ext-name@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ext-name/-/ext-name-5.0.0.tgz#70781981d183ee15d13993c8822045c506c8f0a6" + integrity sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ== + dependencies: + ext-list "^2.0.0" + sort-keys-length "^1.0.0" + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.0.3, fast-glob@^3.2.4, fast-glob@^3.2.9: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-xml-parser@^4.1.3: + version "4.3.3" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.3.tgz#aeaf5778392329f17168c40c51bcbfec8ff965be" + integrity sha512-coV/D1MhrShMvU6D0I+VAK3umz6hUaxxhL0yp/9RjfiYUfAv14rDhGQL+PLForhMdr0wq3PiV07WtkkNjJjNHg== + dependencies: + strnum "^1.0.5" + +fastest-levenshtein@^1.0.12: + version "1.0.16" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== + +fastparse@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" + integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== + +fastq@^1.6.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.16.0.tgz#83b9a9375692db77a822df081edb6a9cf6839320" + integrity sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA== + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== + dependencies: + pend "~1.2.0" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== + dependencies: + flat-cache "^2.0.1" + +file-loader@^5.0.2: + version "5.1.0" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-5.1.0.tgz#cb56c070efc0e40666424309bd0d9e45ac6f2bb8" + integrity sha512-u/VkLGskw3Ue59nyOwUwXI/6nuBCo7KBkniB/l7ICwr/7cPNGsL1WCXUp3GB0qgOOKU1TiP49bv4DZF/LJqprg== + dependencies: + loader-utils "^1.4.0" + schema-utils "^2.5.0" + +file-type@5.2.0, file-type@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6" + integrity sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ== + +file-type@^10.4.0, file-type@^10.5.0: + version "10.11.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-10.11.0.tgz#2961d09e4675b9fb9a3ee6b69e9cd23f43fd1890" + integrity sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw== + +file-type@^12.0.0: + version "12.4.2" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-12.4.2.tgz#a344ea5664a1d01447ee7fb1b635f72feb6169d9" + integrity sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg== + +file-type@^3.8.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" + integrity sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA== + +file-type@^4.2.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-4.4.0.tgz#1b600e5fca1fbdc6e80c0a70c71c8dba5f7906c5" + integrity sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ== + +file-type@^6.1.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-6.2.0.tgz#e50cd75d356ffed4e306dc4f5bcf52a79903a919" + integrity sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg== + +file-type@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-8.1.0.tgz#244f3b7ef641bbe0cca196c7276e4b332399f68c" + integrity sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ== + +filename-reserved-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" + integrity sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ== + +filenamify@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-2.1.0.tgz#88faf495fb1b47abfd612300002a16228c677ee9" + integrity sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA== + dependencies: + filename-reserved-regex "^2.0.0" + strip-outer "^1.0.0" + trim-repeated "^1.0.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-babel-config@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.2.0.tgz#a9b7b317eb5b9860cda9d54740a8c8337a2283a2" + integrity sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA== + dependencies: + json5 "^0.5.1" + path-exists "^3.0.0" + +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-versions@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e" + integrity sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww== + dependencies: + semver-regex "^2.0.0" + +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" + integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== + +follow-redirects@^1.0.0, follow-redirects@^1.14.0: + version "1.15.5" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" + integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== + +for-each@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== + dependencies: + is-callable "^1.1.3" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +from2@^2.1.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs-monkey@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" + integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.1, function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" + integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== + dependencies: + function-bind "^1.1.2" + has-proto "^1.0.1" + has-symbols "^1.0.3" + hasown "^2.0.0" + +get-proxy@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/get-proxy/-/get-proxy-2.1.0.tgz#349f2b4d91d44c4d4d4e9cba2ad90143fac5ef93" + integrity sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw== + dependencies: + npm-conf "^1.1.0" + +get-stream@3.0.0, get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== + +get-stream@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" + integrity sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA== + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +gifsicle@^5.0.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/gifsicle/-/gifsicle-5.3.0.tgz#499713c6f1e89ebbc3630da3a74fdb4697913b4e" + integrity sha512-FJTpgdj1Ow/FITB7SVza5HlzXa+/lqEY0tHQazAJbuAdvyJtkH4wIdsR2K414oaTwRXHFLLF+tYbipj+OpYg+Q== + dependencies: + bin-build "^3.0.0" + bin-wrapper "^4.0.0" + execa "^5.0.0" + +glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: + version "7.2.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0, globals@^11.7.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globalthis@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" + integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== + dependencies: + define-properties "^1.1.3" + +globby@^10.0.0: + version "10.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" + integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + +globby@^11.0.1: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" + integrity sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw== + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +gopd@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" + integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== + dependencies: + get-intrinsic "^1.1.3" + +got@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" + integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw== + dependencies: + 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" + +got@^8.3.1: + version "8.3.2" + resolved "https://registry.yarnpkg.com/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937" + integrity sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw== + dependencies: + "@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" + +graceful-fs@^4.1.10, graceful-fs@^4.1.2, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +has-bigints@^1.0.1, has-bigints@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" + integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== + dependencies: + get-intrinsic "^1.2.2" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbol-support-x@^1.4.1: + version "1.4.2" + resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" + integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== + +has-symbols@^1.0.2, has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has-to-string-tag-x@^1.2.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" + integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== + dependencies: + has-symbol-support-x "^1.4.1" + +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + +he@1.2.x, he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +history@^4.9.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" + integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== + dependencies: + "@babel/runtime" "^7.1.2" + loose-envify "^1.2.0" + resolve-pathname "^3.0.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + value-equal "^1.0.1" + +hoist-non-react-statics@^3.1.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-entities@^2.3.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" + integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== + +html-loader@^0.5.5: + version "0.5.5" + resolved "https://registry.yarnpkg.com/html-loader/-/html-loader-0.5.5.tgz#6356dbeb0c49756d8ebd5ca327f16ff06ab5faea" + integrity sha512-7hIW7YinOYUpo//kSYcPB6dCKoceKLmOwjEMmhIobHuWGDVl0Nwe4l68mdG/Ru0wcUxQjVMEoZpkalZ/SE7zog== + dependencies: + es6-templates "^0.2.3" + fastparse "^1.1.1" + html-minifier "^3.5.8" + loader-utils "^1.1.0" + object-assign "^4.1.1" + +html-minifier-terser@^6.0.2: + version "6.1.0" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" + integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== + dependencies: + camel-case "^4.1.2" + clean-css "^5.2.2" + commander "^8.3.0" + he "^1.2.0" + param-case "^3.0.4" + relateurl "^0.2.7" + terser "^5.10.0" + +html-minifier@^3.5.8: + version "3.5.21" + resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" + integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== + dependencies: + camel-case "3.0.x" + clean-css "4.2.x" + commander "2.17.x" + he "1.2.x" + param-case "2.1.x" + relateurl "0.2.x" + uglify-js "3.4.x" + +html-webpack-plugin@^5.5.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz#50a8fa6709245608cb00e811eacecb8e0d7b7ea0" + integrity sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw== + dependencies: + "@types/html-minifier-terser" "^6.0.0" + html-minifier-terser "^6.0.2" + lodash "^4.17.21" + pretty-error "^4.0.0" + tapable "^2.0.0" + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-cache-semantics@3.8.1: + version "3.8.1" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" + integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + +http-proxy-middleware@^2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" + integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== + dependencies: + "@types/http-proxy" "^1.17.8" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +iconv-lite@0.4.24, iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.1, ignore@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" + integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== + +image-size@~0.5.0: + version "0.5.5" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" + integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== + +image-webpack-loader@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/image-webpack-loader/-/image-webpack-loader-8.1.0.tgz#cd97172e1e7304ef5eb898344fc25bbb650fc7d7" + integrity sha512-bxzMIBNu42KGo6Bc9YMB0QEUt+XuVTl2ZSX3oGAlbsqYOkxkT4TEWvVsnwUkCRCYISJrMCEc/s0y8OYrmEfUOg== + dependencies: + imagemin "^7.0.1" + loader-utils "^2.0.0" + object-assign "^4.1.1" + schema-utils "^2.7.1" + optionalDependencies: + imagemin-gifsicle "^7.0.0" + imagemin-mozjpeg "^9.0.0" + imagemin-optipng "^8.0.0" + imagemin-pngquant "^9.0.2" + imagemin-svgo "^9.0.0" + imagemin-webp "^7.0.0" + +imagemin-gifsicle@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/imagemin-gifsicle/-/imagemin-gifsicle-7.0.0.tgz#1a7ab136a144c4678657ba3b6c412f80805d26b0" + integrity sha512-LaP38xhxAwS3W8PFh4y5iQ6feoTSF+dTAXFRUEYQWYst6Xd+9L/iPk34QGgK/VO/objmIlmq9TStGfVY2IcHIA== + dependencies: + execa "^1.0.0" + gifsicle "^5.0.0" + is-gif "^3.0.0" + +imagemin-mozjpeg@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/imagemin-mozjpeg/-/imagemin-mozjpeg-9.0.0.tgz#d1af26d0b43d75a41c211051c1910da59d9d2324" + integrity sha512-TwOjTzYqCFRgROTWpVSt5UTT0JeCuzF1jswPLKALDd89+PmrJ2PdMMYeDLYZ1fs9cTovI9GJd68mRSnuVt691w== + dependencies: + execa "^4.0.0" + is-jpg "^2.0.0" + mozjpeg "^7.0.0" + +imagemin-optipng@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/imagemin-optipng/-/imagemin-optipng-8.0.0.tgz#b88e5cf6da25cc8479e07cdf38c3ae0479df7ef2" + integrity sha512-CUGfhfwqlPjAC0rm8Fy+R2DJDBGjzy2SkfyT09L8rasnF9jSoHFqJ1xxSZWK6HVPZBMhGPMxCTL70OgTHlLF5A== + dependencies: + exec-buffer "^3.0.0" + is-png "^2.0.0" + optipng-bin "^7.0.0" + +imagemin-pngquant@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/imagemin-pngquant/-/imagemin-pngquant-9.0.2.tgz#38155702b0cc4f60f671ba7c2b086ea3805d9567" + integrity sha512-cj//bKo8+Frd/DM8l6Pg9pws1pnDUjgb7ae++sUX1kUVdv2nrngPykhiUOgFeE0LGY/LmUbCf4egCHC4YUcZSg== + dependencies: + execa "^4.0.0" + is-png "^2.0.0" + is-stream "^2.0.0" + ow "^0.17.0" + pngquant-bin "^6.0.0" + +imagemin-svgo@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/imagemin-svgo/-/imagemin-svgo-9.0.0.tgz#749370804608917a67d4ff590f07a87756aec006" + integrity sha512-uNgXpKHd99C0WODkrJ8OO/3zW3qjgS4pW7hcuII0RcHN3tnKxDjJWcitdVC/TZyfIqSricU8WfrHn26bdSW62g== + dependencies: + is-svg "^4.2.1" + svgo "^2.1.0" + +imagemin-webp@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/imagemin-webp/-/imagemin-webp-7.0.0.tgz#df000ec927855d74d4cfafec8558ac418c88d2a9" + integrity sha512-JoYjvHNgBLgrQAkeCO7T5iNc8XVpiBmMPZmiXMhalC7K6gwY/3DCEUfNxVPOmNJ+NIJlJFvzcMR9RBxIE74Xxw== + dependencies: + cwebp-bin "^7.0.1" + exec-buffer "^3.2.0" + is-cwebp-readable "^3.0.0" + +imagemin@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/imagemin/-/imagemin-7.0.1.tgz#f6441ca647197632e23db7d971fffbd530c87dbf" + integrity sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w== + dependencies: + file-type "^12.0.0" + globby "^10.0.0" + graceful-fs "^4.2.2" + junk "^3.1.0" + make-dir "^3.0.0" + p-pipe "^3.0.0" + replace-ext "^1.0.0" + +import-fresh@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-lazy@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-3.1.0.tgz#891279202c8a2280fdbd6674dbd8da1a1dfc67cc" + integrity sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ== + +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +ini@^1.3.4: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +inquirer@^6.2.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" + integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== + dependencies: + ansi-escapes "^3.2.0" + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^2.0.0" + lodash "^4.17.12" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^2.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + +internal-slot@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" + integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== + dependencies: + get-intrinsic "^1.2.2" + hasown "^2.0.0" + side-channel "^1.0.4" + +interpret@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" + integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== + +into-stream@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6" + integrity sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ== + dependencies: + from2 "^2.1.1" + p-is-promise "^1.1.0" + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +ipaddr.js@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" + integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== + +is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" + integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.0" + is-typed-array "^1.1.10" + +is-async-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" + integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== + dependencies: + has-tostringtag "^1.0.0" + +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-cwebp-readable@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-cwebp-readable/-/is-cwebp-readable-3.0.0.tgz#0554aaa400977a2fc4de366d8c0244f13cde58cb" + integrity sha512-bpELc7/Q1/U5MWHn4NdHI44R3jxk0h9ew9ljzabiRl70/UIjL/ZAqRMb52F5+eke/VC8yTiv4Ewryo1fPWidvA== + dependencies: + file-type "^10.5.0" + +is-date-object@^1.0.1, is-date-object@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-finalizationregistry@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" + integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== + dependencies: + call-bind "^1.0.2" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== + +is-generator-function@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" + integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== + dependencies: + has-tostringtag "^1.0.0" + +is-gif@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-gif/-/is-gif-3.0.0.tgz#c4be60b26a301d695bb833b20d9b5d66c6cf83b1" + integrity sha512-IqJ/jlbw5WJSNfwQ/lHEDXF8rxhRgF6ythk2oiEvhpG29F704eX9NO6TvPfMiq9DrbwgcEDnETYNcZDPewQoVw== + dependencies: + file-type "^10.4.0" + +is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-jpg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-jpg/-/is-jpg-2.0.0.tgz#2e1997fa6e9166eaac0242daae443403e4ef1d97" + integrity sha512-ODlO0ruzhkzD3sdynIainVP5eoOFNN85rxA1+cwwnPe4dKyX0r5+hxNO5XpCrxlHcmb9vkOit9mhRD2JVuimHg== + +is-map@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" + integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== + +is-natural-number@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" + integrity sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ== + +is-negative-zero@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + +is-number-object@^1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" + integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== + dependencies: + has-tostringtag "^1.0.0" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-object@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" + integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== + +is-path-cwd@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-in-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" + integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== + dependencies: + is-path-inside "^2.1.0" + +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" + integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== + dependencies: + path-is-inside "^1.0.2" + +is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-png@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-png/-/is-png-2.0.0.tgz#ee8cbc9e9b050425cedeeb4a6fb74a649b0a4a8d" + integrity sha512-4KPGizaVGj2LK7xwJIz8o5B2ubu1D/vcQsgOGFEDlpcvgZHto4gBnyd0ig7Ws+67ixmwKoNmu0hYnpo6AaKb5g== + +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + +is-retry-allowed@^1.0.0, is-retry-allowed@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" + integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== + +is-set@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" + integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== + +is-shared-array-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" + integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== + dependencies: + call-bind "^1.0.2" + +is-stream@^1.0.0, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-svg@^4.2.1: + version "4.4.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-4.4.0.tgz#34db20a38146be5f2b3060154da33d11e6f74b7c" + integrity sha512-v+AgVwiK5DsGtT9ng+m4mClp6zDAmwrW8nZi6Gg15qzvBnRWWdfWA1TGaXyCDnWq5g5asofIgMVl3PjKxvk1ug== + dependencies: + fast-xml-parser "^4.1.3" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.9: + version "1.1.12" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" + integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== + dependencies: + which-typed-array "^1.1.11" + +is-weakmap@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" + integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== + +is-weakref@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + +is-weakset@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" + integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + +is-what@^3.14.1: + version "3.14.1" + resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" + integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== + +is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +isurl@^1.0.0-alpha5: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" + integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== + dependencies: + has-to-string-tag-x "^1.2.0" + is-object "^1.0.1" + +iterator.prototype@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0" + integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== + dependencies: + define-properties "^1.2.1" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + reflect.getprototypeof "^1.0.4" + set-function-name "^2.0.1" + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.0: + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" + integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== + +json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw== + +json5@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +"jsx-ast-utils@^2.4.1 || ^3.0.0": + version "3.3.5" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" + integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + object.assign "^4.1.4" + object.values "^1.1.6" + +junk@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/junk/-/junk-3.1.0.tgz#31499098d902b7e98c5d9b9c80f43457a88abfa1" + integrity sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ== + +keyv@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373" + integrity sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA== + dependencies: + json-buffer "3.0.0" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +launch-editor@^2.6.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.1.tgz#f259c9ef95cbc9425620bbbd14b468fcdb4ffe3c" + integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== + dependencies: + picocolors "^1.0.0" + shell-quote "^1.8.1" + +less-loader@^6.1.2: + version "6.2.0" + resolved "https://registry.yarnpkg.com/less-loader/-/less-loader-6.2.0.tgz#8b26f621c155b342eefc24f5bd6e9dc40c42a719" + integrity sha512-Cl5h95/Pz/PWub/tCBgT1oNMFeH1WTD33piG80jn5jr12T4XbxZcjThwNXDQ7AG649WEynuIzO4b0+2Tn9Qolg== + dependencies: + clone "^2.1.2" + less "^3.11.3" + loader-utils "^2.0.0" + schema-utils "^2.7.0" + +less-vars-to-js@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/less-vars-to-js/-/less-vars-to-js-1.3.0.tgz#c322cf43a3c8fc3fab655da3e51a14c1499ab571" + integrity sha512-xeiLLn/IMCGtdyCkYQnW8UuzoW2oYMCKg9boZRaGI58fLz5r90bNJDlqGzmVt/1Uqk75/DxIVtQSNCMkE5fRZQ== + dependencies: + strip-json-comments "^2.0.1" + +less@^3.10.3, less@^3.11.3: + version "3.13.1" + resolved "https://registry.yarnpkg.com/less/-/less-3.13.1.tgz#0ebc91d2a0e9c0c6735b83d496b0ab0583077909" + integrity sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw== + dependencies: + copy-anything "^2.0.1" + tslib "^1.10.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + make-dir "^2.1.0" + mime "^1.4.1" + native-request "^1.0.5" + source-map "~0.6.0" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +loader-utils@^1.1.0, loader-utils@^1.4.0: + version "1.4.2" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3" + integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" + integrity sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA== + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lowercase-keys@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" + integrity sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A== + +lowercase-keys@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + +lru-cache@^4.0.1: + version "4.1.5" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-dir@^1.0.0, make-dir@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== + dependencies: + pify "^3.0.0" + +make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memfs@^3.4.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" + integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== + dependencies: + fs-monkey "^1.0.4" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2", mime-db@^1.28.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0, mime@^1.4.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.2: + version "1.2.4" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.1: + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mkdirp@^0.5.1: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +mkdirp@^1.0.3, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mozjpeg@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/mozjpeg/-/mozjpeg-7.1.1.tgz#dfb61953536e66fcabd4ae795e7a312d42a51f18" + integrity sha512-iIDxWvzhWvLC9mcRJ1uSkiKaj4drF58oCqK2bITm5c2Jt6cJ8qQjSSru2PCaysG+hLIinryj8mgz5ZJzOYTv1A== + dependencies: + bin-build "^3.0.0" + bin-wrapper "^4.0.0" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== + dependencies: + dns-packet "^5.2.2" + thunky "^1.0.2" + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + integrity sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ== + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +native-request@^1.0.5: + version "1.1.0" + resolved "https://registry.yarnpkg.com/native-request/-/native-request-1.1.0.tgz#acdb30fe2eefa3e1bc8c54b3a6852e9c5c0d3cb0" + integrity sha512-uZ5rQaeRn15XmpgE0xoPL8YWqcX90VtCFglYwAgkvKM5e8fog+vePLAhHxuuv/gRkrQxIeh5U3q9sMNUrENqWw== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +no-case@^2.2.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" + integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== + dependencies: + lower-case "^1.1.1" + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-forge@^1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" + integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw== + dependencies: + prepend-http "^2.0.0" + query-string "^5.0.1" + sort-keys "^2.0.0" + +npm-conf@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9" + integrity sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw== + dependencies: + config-chain "^1.1.11" + pify "^3.0.0" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0, npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.13.1, object-inspect@^1.9.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.4: + version "4.1.5" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" + integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + dependencies: + call-bind "^1.0.5" + define-properties "^1.2.1" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +object.entries@^1.1.6: + version "1.1.7" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131" + integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.fromentries@^2.0.6: + version "2.0.7" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" + integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.hasown@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.3.tgz#6a5f2897bb4d3668b8e79364f98ccf971bda55ae" + integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== + dependencies: + define-properties "^1.2.0" + es-abstract "^1.22.1" + +object.values@^1.1.6: + version "1.1.7" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" + integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^8.0.9: + version "8.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +optionator@^0.8.2: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + 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" + +optipng-bin@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/optipng-bin/-/optipng-bin-7.0.1.tgz#beb8e55a52f8a26f885ee57ab44fcf62397d6972" + integrity sha512-W99mpdW7Nt2PpFiaO+74pkht7KEqkXkeRomdWXfEz3SALZ6hns81y/pm1dsGZ6ItUIfchiNIP6ORDr1zETU1jA== + dependencies: + bin-build "^3.0.0" + bin-wrapper "^4.0.0" + +os-filter-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/os-filter-obj/-/os-filter-obj-2.0.0.tgz#1c0b62d5f3a2442749a2d139e6dddee6e81d8d16" + integrity sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg== + dependencies: + arch "^2.1.0" + +os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== + +ow@^0.17.0: + version "0.17.0" + resolved "https://registry.yarnpkg.com/ow/-/ow-0.17.0.tgz#4f938999fed6264c9048cd6254356e0f1e7f688c" + integrity sha512-i3keDzDQP5lWIe4oODyDFey1qVrq2hXKTuTH2VpqwpYtzPiKZt2ziRI4NBQmgW40AnV5Euz17OyWweCb+bNEQA== + dependencies: + type-fest "^0.11.0" + +p-cancelable@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" + integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw== + +p-cancelable@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.4.1.tgz#35f363d67d52081c8d9585e37bcceb7e0bbcb2a0" + integrity sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ== + +p-event@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-event/-/p-event-1.3.0.tgz#8e6b4f4f65c72bc5b6fe28b75eda874f96a4a085" + integrity sha512-hV1zbA7gwqPVFcapfeATaNjQ3J0NuzorHPyG8GPL9g/Y/TplWVBVoCKCXL6Ej2zscrCEv195QNWJXuBH6XZuzA== + dependencies: + p-timeout "^1.1.1" + +p-event@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/p-event/-/p-event-2.3.1.tgz#596279ef169ab2c3e0cae88c1cfbb08079993ef6" + integrity sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA== + dependencies: + p-timeout "^2.0.1" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +p-is-promise@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" + integrity sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg== + +p-limit@^2.0.0, p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-map-series@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-1.0.0.tgz#bf98fe575705658a9e1351befb85ae4c1f07bdca" + integrity sha512-4k9LlvY6Bo/1FcIdV33wqZQES0Py+iKISU9Uc8p8AjWoZPnFKMpVIVD3s0EYn4jzLh1I+WeUZkJ0Yoa4Qfw3Kg== + dependencies: + p-reduce "^1.0.0" + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-pipe@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-3.1.0.tgz#48b57c922aa2e1af6a6404cb7c6bf0eb9cc8e60e" + integrity sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw== + +p-reduce@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" + integrity sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ== + +p-retry@^4.5.0: + version "4.6.2" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" + integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== + dependencies: + "@types/retry" "0.12.0" + retry "^0.13.1" + +p-timeout@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" + integrity sha512-gb0ryzr+K2qFqFv6qi3khoeqMZF/+ajxQipEF6NteZVnvz9tzdsfAVj3lYtn1gAXvH5lfLwfxEII799gt/mRIA== + dependencies: + p-finally "^1.0.0" + +p-timeout@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-2.0.1.tgz#d8dd1979595d2dc0139e1fe46b8b646cb3cdf038" + integrity sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA== + dependencies: + p-finally "^1.0.0" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +param-case@2.1.x: + version "2.1.1" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" + integrity sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w== + dependencies: + no-case "^2.2.0" + +param-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-to-regexp@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + dependencies: + isarray "0.0.1" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.0.0, pify@^2.2.0, pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== + +pkg-dir@^4.1.0, pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pkg-up@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" + integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== + dependencies: + find-up "^3.0.0" + +pngquant-bin@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/pngquant-bin/-/pngquant-bin-6.0.1.tgz#2b5789ca219eeb4d8509ab1ae082092801b7f07e" + integrity sha512-Q3PUyolfktf+hYio6wsg3SanQzEU/v8aICg/WpzxXcuCMRb7H2Q81okfpcEztbMvw25ILjd3a87doj2N9kvbpQ== + dependencies: + bin-build "^3.0.0" + bin-wrapper "^4.0.1" + execa "^4.0.0" + +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== + +postcss-modules-local-by-default@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz#7cbed92abd312b94aaea85b68226d3dec39a14e6" + integrity sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz#32cfab55e84887c079a19bbb215e721d683ef134" + integrity sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: + version "6.0.15" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz#11cc2b21eebc0b99ea374ffb9887174855a01535" + integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^8.2.15: + version "8.4.33" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.33.tgz#1378e859c9f69bf6f638b990a0212f43e2aaa742" + integrity sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + +prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg== + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" + integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== + +pretty-error@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" + integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== + dependencies: + lodash "^4.17.20" + renderkid "^3.0.0" + +private@~0.1.5: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" + integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== + +prop-types@^15.6.2, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +qs@6.11.0: + version "6.11.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +query-string@^5.0.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" + integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== + dependencies: + decode-uri-component "^0.2.0" + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +raw-loader@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.2.tgz#1aac6b7d1ad1501e66efdac1522c73e59a584eb6" + integrity sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +react-dom@^16.12.0: + version "16.14.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89" + integrity sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + scheduler "^0.19.1" + +react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: + version "16.13.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-router-dom@^5.0.0: + version "5.3.4" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.4.tgz#2ed62ffd88cae6db134445f4a0c0ae8b91d2e5e6" + integrity sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ== + dependencies: + "@babel/runtime" "^7.12.13" + history "^4.9.0" + loose-envify "^1.3.1" + prop-types "^15.6.2" + react-router "5.3.4" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-router@5.3.4, react-router@^5.0.0: + version "5.3.4" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.3.4.tgz#8ca252d70fcc37841e31473c7a151cf777887bb5" + integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== + dependencies: + "@babel/runtime" "^7.12.13" + history "^4.9.0" + hoist-non-react-statics "^3.1.0" + loose-envify "^1.3.1" + path-to-regexp "^1.7.0" + prop-types "^15.6.2" + react-is "^16.6.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react@^16.12.0: + version "16.14.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d" + integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.2" + +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.3.0, readable-stream@^2.3.5: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +recast@~0.11.12: + version "0.11.23" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3" + integrity sha512-+nixG+3NugceyR8O1bLU45qs84JgI3+8EauyRZafLgC9XbdAOIVgwV1Pe2da0YzGo62KzWoZwUpVEQf6qNAXWA== + dependencies: + ast-types "0.9.6" + esprima "~3.1.0" + private "~0.1.5" + source-map "~0.5.0" + +rechoir@^0.7.0: + version "0.7.1" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" + integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== + dependencies: + resolve "^1.9.0" + +reflect.getprototypeof@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz#aaccbf41aca3821b87bb71d9dcbc7ad0ba50a3f3" + integrity sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + globalthis "^1.0.3" + which-builtin-type "^1.1.3" + +regenerate-unicode-properties@^10.1.0: + version "10.1.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== + dependencies: + "@babel/runtime" "^7.8.4" + +regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" + integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + set-function-name "^2.0.0" + +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== + +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== + dependencies: + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +relateurl@0.2.x, relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== + +renderkid@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" + integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^6.0.1" + +replace-ext@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" + integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +reselect@^4.0.0: + version "4.1.8" + resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.8.tgz#3f5dc671ea168dccdeb3e141236f69f02eaec524" + integrity sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ== + +resolve-cwd@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== + +resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.9.0: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^2.0.0-next.4: + version "2.0.0-next.5" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" + integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +responselike@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" + integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== + dependencies: + lowercase-keys "^1.0.0" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + +rimraf@^2.5.4, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +run-async@^2.2.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" + integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rxjs@^6.4.0: + version "6.6.7" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + +safe-array-concat@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.0.tgz#8d0cae9cb806d6d1c06e08ab13d847293ebe0692" + integrity sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg== + dependencies: + call-bind "^1.0.5" + get-intrinsic "^1.2.2" + has-symbols "^1.0.3" + isarray "^2.0.5" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex-test@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.2.tgz#3ba32bdb3ea35f940ee87e5087c60ee786c3f6c5" + integrity sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ== + dependencies: + call-bind "^1.0.5" + get-intrinsic "^1.2.2" + is-regex "^1.1.4" + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +scheduler@^0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" + integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +schema-utils@^2.5.0, schema-utils@^2.6.5, schema-utils@^2.7.0, schema-utils@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" + integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + +seek-bzip@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.6.tgz#35c4171f55a680916b52a07859ecf3b5857f21c4" + integrity sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ== + dependencies: + commander "^2.8.1" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== + +selfsigned@^2.1.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" + integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== + dependencies: + "@types/node-forge" "^1.3.0" + node-forge "^1" + +semver-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-2.0.0.tgz#a93c2c5844539a770233379107b38c7b4ac9d338" + integrity sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw== + +semver-truncate@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-1.1.2.tgz#57f41de69707a62709a7e0104ba2117109ea47e8" + integrity sha512-V1fGg9i4CL3qesB6U0L6XAm4xOJiHmt4QAacazumuasc03BvtFGIMCduv01JWQ69Nv+JST9TqhSCiJoxoY031w== + dependencies: + semver "^5.3.0" + +semver@^5.3.0, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + +semver@^6.0.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + +send@0.18.0: + version "0.18.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-javascript@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== + dependencies: + randombytes "^2.1.0" + +serialize-javascript@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +set-function-length@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.0.tgz#2f81dc6c16c7059bda5ab7c82c11f03a515ed8e1" + integrity sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w== + dependencies: + define-data-property "^1.1.1" + function-bind "^1.1.2" + get-intrinsic "^1.2.2" + gopd "^1.0.1" + has-property-descriptors "^1.0.1" + +set-function-name@^2.0.0, set-function-name@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" + integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== + dependencies: + define-data-property "^1.0.1" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.0" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +sort-keys-length@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188" + integrity sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw== + dependencies: + sort-keys "^1.0.0" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + integrity sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg== + dependencies: + is-plain-obj "^1.0.0" + +sort-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" + integrity sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg== + dependencies: + is-plain-obj "^1.0.0" + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.3, source-map@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +source-map@~0.5.0: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + 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" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + dependencies: + minipass "^3.1.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== + +string-width@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string.prototype.matchall@^4.0.8: + version "4.0.10" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" + integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + internal-slot "^1.0.5" + regexp.prototype.flags "^1.5.0" + set-function-name "^2.0.0" + side-channel "^1.0.4" + +string.prototype.trim@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" + integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimend@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" + integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string.prototype.trimstart@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" + integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-dirs@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-2.1.0.tgz#4987736264fc344cf20f6c34aca9d13d1d4ed6c5" + integrity sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g== + dependencies: + is-natural-number "^4.0.1" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + +strip-outer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" + integrity sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg== + dependencies: + escape-string-regexp "^1.0.2" + +strnum@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" + integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== + +style-loader@^1.1.3: + version "1.3.0" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.3.0.tgz#828b4a3b3b7e7aa5847ce7bae9e874512114249e" + integrity sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q== + dependencies: + loader-utils "^2.0.0" + schema-utils "^2.7.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svgo@^2.1.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" + integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^4.1.3" + css-tree "^1.1.3" + csso "^4.2.0" + picocolors "^1.0.0" + stable "^0.1.8" + +table@^5.2.3: + version "5.4.6" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== + dependencies: + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" + +tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +tar-stream@^1.5.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" + integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== + dependencies: + 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" + +tar@^6.0.2: + version "6.2.0" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" + integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +temp-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" + integrity sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ== + +tempfile@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-2.0.0.tgz#6b0446856a9b1114d1856ffcbe509cccb0977265" + integrity sha512-ZOn6nJUgvgC09+doCEF3oB+r3ag7kUvlsXEGX069QRD60p+P3uP7XG9N2/at+EyIRGSN//ZY3LyEotA1YpmjuA== + dependencies: + temp-dir "^1.0.0" + uuid "^3.0.1" + +terser-webpack-plugin@^5.3.7: + version "5.3.10" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.20" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.26.0" + +terser@^5.10.0, terser@^5.26.0: + version "5.27.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.27.0.tgz#70108689d9ab25fef61c4e93e808e9fd092bf20c" + integrity sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +through@^2.3.6, through@^2.3.8, through@~2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +timed-out@^4.0.0, timed-out@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== + +tiny-invariant@^1.0.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" + integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== + +tiny-warning@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + +to-buffer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +trim-repeated@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" + integrity sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg== + dependencies: + escape-string-regexp "^1.0.2" + +ts-loader@^9.0.0: + version "9.5.1" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.5.1.tgz#63d5912a86312f1fbe32cef0859fb8b2193d9b89" + integrity sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg== + dependencies: + chalk "^4.1.0" + enhanced-resolve "^5.0.0" + micromatch "^4.0.0" + semver "^7.3.4" + source-map "^0.7.4" + +tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.3: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +tsutils@^3.17.1: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + +type-fest@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" + integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typed-array-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" + integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + is-typed-array "^1.1.10" + +typed-array-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" + integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" + integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-length@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" + integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + is-typed-array "^1.1.9" + +typescript@^4.8.3: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== + +uglify-js@3.4.x: + version "3.4.10" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" + integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== + dependencies: + commander "~2.19.0" + source-map "~0.6.1" + +unbox-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" + integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== + dependencies: + call-bind "^1.0.2" + has-bigints "^1.0.2" + has-symbols "^1.0.3" + which-boxed-primitive "^1.0.2" + +unbzip2-stream@^1.0.9: + version "1.4.3" + resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" + integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== + dependencies: + buffer "^5.2.1" + through "^2.3.8" + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +upper-case@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" + integrity sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA== + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + integrity sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA== + dependencies: + prepend-http "^1.0.1" + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" + integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== + dependencies: + prepend-http "^2.0.0" + +url-to-options@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" + integrity sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A== + +use-clipboard-copy@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/use-clipboard-copy/-/use-clipboard-copy-0.1.2.tgz#83b16292dfa8ea262be714252022a8b4ad1c28c5" + integrity sha512-EkauxqyX+us4+Mfif/f61ew89EAOWIArqFpHR0jSG4SwwuDZzDAOeqO7gkK0vi+DQVADeB1RB3xqU3U0oOO3NQ== + dependencies: + clipboard-copy "^3.0.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +utila@~0.4: + version "0.4.0" + resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@^3.0.1: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" + integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +webpack-cli@^4.6.0: + version "4.10.0" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" + integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== + dependencies: + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/configtest" "^1.2.0" + "@webpack-cli/info" "^1.5.0" + "@webpack-cli/serve" "^1.7.0" + colorette "^2.0.14" + commander "^7.0.0" + cross-spawn "^7.0.3" + fastest-levenshtein "^1.0.12" + import-local "^3.0.2" + interpret "^2.2.0" + rechoir "^0.7.0" + webpack-merge "^5.7.3" + +webpack-dev-middleware@^5.3.1: + version "5.3.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" + integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== + dependencies: + colorette "^2.0.10" + memfs "^3.4.3" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" + +webpack-dev-server@^4.5.0: + version "4.15.1" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz#8944b29c12760b3a45bdaa70799b17cb91b03df7" + integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/serve-static" "^1.13.10" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.5" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^2.0.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + launch-editor "^2.6.0" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.1.1" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.1" + ws "^8.13.0" + +webpack-merge@^5.7.0, webpack-merge@^5.7.3: + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== + dependencies: + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.0" + +webpack-sources@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@^5.61.0: + version "5.89.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.89.0.tgz#56b8bf9a34356e93a6625770006490bf3a7f32dc" + integrity sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^1.0.0" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" + acorn "^8.7.1" + acorn-import-assertions "^1.9.0" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.15.0" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.7" + watchpack "^2.4.0" + webpack-sources "^3.2.3" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-builtin-type@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.3.tgz#b1b8443707cc58b6e9bf98d32110ff0c2cbd029b" + integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== + dependencies: + function.prototype.name "^1.1.5" + has-tostringtag "^1.0.0" + is-async-function "^2.0.0" + is-date-object "^1.0.5" + is-finalizationregistry "^1.0.2" + is-generator-function "^1.0.10" + is-regex "^1.1.4" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.9" + +which-collection@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" + integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== + dependencies: + is-map "^2.0.1" + is-set "^2.0.1" + is-weakmap "^2.0.1" + is-weakset "^2.0.1" + +which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.9: + version "1.1.13" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" + integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.4" + for-each "^0.3.3" + gopd "^1.0.1" + has-tostringtag "^1.0.0" + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== + +word-wrap@~1.2.3: + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +write@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== + dependencies: + mkdirp "^0.5.1" + +ws@^8.13.0: + version "8.16.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" + integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yauzl@^2.4.2: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== From c13b1c1dbcab52a125bcbff418650763b477412c Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Wed, 24 Jan 2024 09:31:51 +0100 Subject: [PATCH 12/43] CH-47 commit hash configuration --- .../common/server/common/openapi/openapi.yaml | 30 +++++++++++++++++++ docs/model/HarnessMainConfig.md | 1 + .../deployment-cli-tools/ch_cli_tools/helm.py | 5 +++- .../ch_cli_tools/utils.py | 10 +++++++ 4 files changed, 45 insertions(+), 1 deletion(-) diff --git a/applications/common/server/common/openapi/openapi.yaml b/applications/common/server/common/openapi/openapi.yaml index 97fb8e8b..02e7b77f 100644 --- a/applications/common/server/common/openapi/openapi.yaml +++ b/applications/common/server/common/openapi/openapi.yaml @@ -68,8 +68,38 @@ paths: tags: - Sentry x-openapi-router-controller: common.controllers.sentry_controller + /version: + get: + operationId: get_version + responses: + "200": + content: + application/json: + examples: + version: + value: "{\r\n \"build\": \"63498f19146bae1a6ae7e354\"\r\n \"tag\"\ + : \"v1.2.0\"\r\n}" + schema: + $ref: '#/components/schemas/AppVersion' + description: Deployment version GET + tags: + - config + x-openapi-router-controller: common.controllers.config_controller + summary: Get the version for this deployment components: schemas: + AppVersion: + description: "" + example: + build: 63498f19146bae1a6ae7e354 + tag: v1.2.0 + properties: + build: + type: string + tag: + type: string + title: Root Type for AppVersion + type: object get_config_200_response: example: clientId: clientId diff --git a/docs/model/HarnessMainConfig.md b/docs/model/HarnessMainConfig.md index 9f00bc2b..fc0f29da 100644 --- a/docs/model/HarnessMainConfig.md +++ b/docs/model/HarnessMainConfig.md @@ -21,6 +21,7 @@ Key | Input Type | Accessed Type | Description | Notes **backup** | [**BackupConfig**](BackupConfig.md) | [**BackupConfig**](BackupConfig.md) | | [optional] **name** | str, | str, | Base name | [optional] **task-images** | [**SimpleMap**](SimpleMap.md) | [**SimpleMap**](SimpleMap.md) | | [optional] +**build_hash** | str, | str, | | [optional] **any_string_name** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] # env diff --git a/tools/deployment-cli-tools/ch_cli_tools/helm.py b/tools/deployment-cli-tools/ch_cli_tools/helm.py index 4c75a909..dc4a6cba 100644 --- a/tools/deployment-cli-tools/ch_cli_tools/helm.py +++ b/tools/deployment-cli-tools/ch_cli_tools/helm.py @@ -15,7 +15,7 @@ from . import HERE, CH_ROOT from cloudharness_utils.constants import TEST_IMAGES_PATH, VALUES_MANUAL_PATH, HELM_CHART_PATH, APPS_PATH, HELM_PATH, \ DEPLOYMENT_CONFIGURATION_PATH, BASE_IMAGES_PATH, STATIC_IMAGES_PATH -from .utils import get_cluster_ip, get_image_name, env_variable, get_sub_paths, guess_build_dependencies_from_dockerfile, image_name_from_dockerfile_path, \ +from .utils import get_cluster_ip, get_git_commit_hash, get_image_name, env_variable, get_sub_paths, guess_build_dependencies_from_dockerfile, image_name_from_dockerfile_path, \ get_template, merge_configuration_directories, merge_to_yaml_file, dict_merge, app_name_from_path, \ find_dockerfiles_paths @@ -323,6 +323,8 @@ def __finish_helm_values(self, values): """ if self.registry: logging.info(f"Registry set: {self.registry}") + + if self.local: values['registry']['secret'] = '' if self.registry_secret: @@ -330,6 +332,7 @@ def __finish_helm_values(self, values): values['registry']['name'] = self.registry values['registry']['secret'] = self.registry_secret values['tag'] = self.tag + values['build_hash'] = get_git_commit_hash(self.root_paths[-1]) # Fix: Call the defined function to get the git commit hash if self.namespace: values['namespace'] = self.namespace values['secured_gatekeepers'] = self.secured diff --git a/tools/deployment-cli-tools/ch_cli_tools/utils.py b/tools/deployment-cli-tools/ch_cli_tools/utils.py index 41b96d87..983b6a55 100644 --- a/tools/deployment-cli-tools/ch_cli_tools/utils.py +++ b/tools/deployment-cli-tools/ch_cli_tools/utils.py @@ -376,3 +376,13 @@ def check_docker_manifest_exists(registry, image_name, tag, registry_secret=None api_url = f"https://{registry}/v2/{image_name}/manifests/{tag}" resp = requests.get(api_url) return resp.status_code == 200 + +def get_git_commit_hash(path): + # return the short git commit hash in that path + # if the path is not a git repo, return None + + try: + return subprocess.check_output( + ['git', 'rev-parse', '--short', 'HEAD'], cwd=path).decode("utf-8").strip() + except: + return None From cca2aa2f37ca3e345ed8efcbba5355e14ed48f73 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Wed, 24 Jan 2024 09:32:21 +0100 Subject: [PATCH 13/43] CH-47 common api --- applications/common/api/openapi.yaml | 175 +++++++++++------- .../common/controllers/config_controller.py | 25 +++ .../common/server/common/models/__init__.py | 1 + .../server/common/models/app_version.py | 90 +++++++++ 4 files changed, 220 insertions(+), 71 deletions(-) create mode 100644 applications/common/server/common/controllers/config_controller.py create mode 100644 applications/common/server/common/models/app_version.py diff --git a/applications/common/api/openapi.yaml b/applications/common/api/openapi.yaml index c5072eb5..33c2b91a 100644 --- a/applications/common/api/openapi.yaml +++ b/applications/common/api/openapi.yaml @@ -1,78 +1,111 @@ openapi: 3.0.0 info: - description: Cloud Harness Platform - Reference CH service API - license: - name: UNLICENSED - title: CH common service API - version: 0.1.0 + title: CH common service API + version: 0.1.0 + description: Cloud Harness Platform - Reference CH service API + license: + name: UNLICENSED servers: -- description: SwaggerHub API Auto Mocking - url: /api -tags: -- description: Sentry - name: Sentry + - + url: /api + description: SwaggerHub API Auto Mocking paths: - /sentry/getdsn/{appname}: - parameters: - - in: path - name: appname - schema: - type: string - required: true - get: - tags: - - Sentry - description: Gets the Sentry DSN for a given application - operationId: getdsn - responses: - '200': - description: Sentry DSN for the given application - content: - application/json: - schema: - type: object - '400': - description: Sentry not configured for the given application - content: - application/json: - schema: - type: object - text/html: - schema: - type: string - '404': - description: Sentry not configured for the given application - content: - application/problem+json: - schema: - type: object - text/html: - schema: - type: string - summary: Gets the Sentry DSN for a given application - x-openapi-router-controller: common.controllers.sentry_controller - /accounts/config: - get: - tags: - - Accounts - description: Gets the config for logging in into accounts - operationId: get_config - responses: - '200': - description: Config for accounts log in - content: - application/json: - schema: - type: object - properties: - url: + '/sentry/getdsn/{appname}': + get: + tags: + - Sentry + responses: + '200': + content: + application/json: + schema: + type: object + description: Sentry DSN for the given application + '400': + content: + application/json: + schema: + type: object + text/html: + schema: + type: string + description: Sentry not configured for the given application + '404': + content: + application/problem+json: + schema: + type: object + text/html: + schema: + type: string + description: Sentry not configured for the given application + operationId: getdsn + summary: Gets the Sentry DSN for a given application + description: Gets the Sentry DSN for a given application + x-openapi-router-controller: common.controllers.sentry_controller + parameters: + - + name: appname + schema: type: string - description: The auth URL. - realm: + in: path + required: true + /accounts/config: + get: + tags: + - Accounts + responses: + '200': + content: + application/json: + schema: + type: object + properties: + url: + description: The auth URL. + type: string + realm: + description: The realm. + type: string + clientId: + description: The clientID. + type: string + description: Config for accounts log in + operationId: get_config + summary: Gets the config for logging in into accounts + description: Gets the config for logging in into accounts + x-openapi-router-controller: common.controllers.accounts_controller + /version: + summary: Get the version for this deployment + get: + tags: + - config + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AppVersion' + examples: + version: + value: "{\r\n \"build\": \"63498f19146bae1a6ae7e354\"\r\n \"tag\": \"v1.2.0\"\r\n}" + description: Deployment version GET + operationId: getVersion +components: + schemas: + AppVersion: + title: Root Type for AppVersion + description: '' + type: object + properties: + build: type: string - description: The realm. - clientId: + tag: type: string - description: The clientID. - summary: Gets the config for logging in into accounts - x-openapi-router-controller: common.controllers.accounts_controller + example: + build: 63498f19146bae1a6ae7e354 + tag: v1.2.0 +tags: + - + name: Sentry + description: Sentry diff --git a/applications/common/server/common/controllers/config_controller.py b/applications/common/server/common/controllers/config_controller.py new file mode 100644 index 00000000..169a0478 --- /dev/null +++ b/applications/common/server/common/controllers/config_controller.py @@ -0,0 +1,25 @@ + +import connexion +import six +from typing import Dict +from typing import Tuple +from typing import Union + +from common.models.app_version import AppVersion # noqa: E501 +from common import util + +from cloudharness.utils.config import CloudharnessConfig +from cloudharness_model.models import HarnessMainConfig + +def get_version(): # noqa: E501 + """get_version + + # noqa: E501 + + + :rtype: Union[AppVersion, Tuple[AppVersion, int], Tuple[AppVersion, int, Dict[str, str]] + """ + + config: HarnessMainConfig = HarnessMainConfig.from_dict(CloudharnessConfig.get_configuration()) + + return AppVersion(tag=config.tag, build=config.build_hash) diff --git a/applications/common/server/common/models/__init__.py b/applications/common/server/common/models/__init__.py index 1a083de0..6baf6676 100644 --- a/applications/common/server/common/models/__init__.py +++ b/applications/common/server/common/models/__init__.py @@ -3,4 +3,5 @@ # flake8: noqa from __future__ import absolute_import # import models into model package +from common.models.app_version import AppVersion from common.models.get_config200_response import GetConfig200Response diff --git a/applications/common/server/common/models/app_version.py b/applications/common/server/common/models/app_version.py new file mode 100644 index 00000000..629b4546 --- /dev/null +++ b/applications/common/server/common/models/app_version.py @@ -0,0 +1,90 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from common.models.base_model_ import Model +from common import util + + +class AppVersion(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, build=None, tag=None): # noqa: E501 + """AppVersion - a model defined in OpenAPI + + :param build: The build of this AppVersion. # noqa: E501 + :type build: str + :param tag: The tag of this AppVersion. # noqa: E501 + :type tag: str + """ + self.openapi_types = { + 'build': str, + 'tag': str + } + + self.attribute_map = { + 'build': 'build', + 'tag': 'tag' + } + + self._build = build + self._tag = tag + + @classmethod + def from_dict(cls, dikt) -> 'AppVersion': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The AppVersion of this AppVersion. # noqa: E501 + :rtype: AppVersion + """ + return util.deserialize_model(dikt, cls) + + @property + def build(self): + """Gets the build of this AppVersion. + + + :return: The build of this AppVersion. + :rtype: str + """ + return self._build + + @build.setter + def build(self, build): + """Sets the build of this AppVersion. + + + :param build: The build of this AppVersion. + :type build: str + """ + + self._build = build + + @property + def tag(self): + """Gets the tag of this AppVersion. + + + :return: The tag of this AppVersion. + :rtype: str + """ + return self._tag + + @tag.setter + def tag(self, tag): + """Sets the tag of this AppVersion. + + + :param tag: The tag of this AppVersion. + :type tag: str + """ + + self._tag = tag From 0e71bfec0181690f9f702a68d36a537a4a02121d Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Wed, 24 Jan 2024 09:32:43 +0100 Subject: [PATCH 14/43] CH-47 usage example --- applications/samples/deploy/values.yaml | 3 +++ applications/samples/frontend/src/App.tsx | 3 ++- .../frontend/src/components/Version.tsx | 19 +++++++++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 applications/samples/frontend/src/components/Version.tsx diff --git a/applications/samples/deploy/values.yaml b/applications/samples/deploy/values.yaml index 6ba035a4..6265c681 100644 --- a/applications/samples/deploy/values.yaml +++ b/applications/samples/deploy/values.yaml @@ -6,6 +6,8 @@ harness: service: port: 8080 auto: true + use_services: + - name: common deployment: volume: name: my-shared-volume @@ -47,6 +49,7 @@ harness: build: - cloudharness-flask - cloudharness-frontend-build + resources: - name: my-config src: "myConfig.json" diff --git a/applications/samples/frontend/src/App.tsx b/applications/samples/frontend/src/App.tsx index a9c75b60..81836267 100644 --- a/applications/samples/frontend/src/App.tsx +++ b/applications/samples/frontend/src/App.tsx @@ -2,12 +2,13 @@ import React from 'react'; import './styles/style.less'; import RestTest from './components/RestTest'; - +import Version from './components/Version'; const Main = () => ( <>

Sample React application is working!

+

See api documentation here

diff --git a/applications/samples/frontend/src/components/Version.tsx b/applications/samples/frontend/src/components/Version.tsx new file mode 100644 index 00000000..2b5f5eb3 --- /dev/null +++ b/applications/samples/frontend/src/components/Version.tsx @@ -0,0 +1,19 @@ +import React, { useState, useEffect } from 'react'; + + + +const Version = () => { + const [result, setResult] = useState(null); + useEffect(() => { + fetch("/proxy/common/api/version", { + headers: { + 'Accept': 'application/json' + } + }).then(r => r.json().then(j => setResult(j)), () => setResult({ data: "API error" })); + }, []); + + + return result ?

Tag: { result?.tag } - Build: {result?.build}

:

Backend did not answer

+} + +export default Version; \ No newline at end of file From aef5ef5dbc651dcf75bf4fda57fb2a8d7cb5e796 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Wed, 24 Jan 2024 14:07:04 +0100 Subject: [PATCH 15/43] CH-47 add docs --- .../jupyterhub/zero-to-jupyterhub-k8s | 1 + docs/common-api.md | 37 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 160000 applications/jupyterhub/zero-to-jupyterhub-k8s create mode 100644 docs/common-api.md diff --git a/applications/jupyterhub/zero-to-jupyterhub-k8s b/applications/jupyterhub/zero-to-jupyterhub-k8s new file mode 160000 index 00000000..c92c1237 --- /dev/null +++ b/applications/jupyterhub/zero-to-jupyterhub-k8s @@ -0,0 +1 @@ +Subproject commit c92c12374795e84f36f5f16c4e8b8a448ad2f230 diff --git a/docs/common-api.md b/docs/common-api.md new file mode 100644 index 00000000..9d3b79dc --- /dev/null +++ b/docs/common-api.md @@ -0,0 +1,37 @@ +# Common API microservice + +The common microservice is intended to provide utility information about the +deployment and its configuration to the frontends. + +## Functionality +The main functionalities of the common microservice are: +- Information about the current version/build +- Accounts endpoint and configuration information +- Sentry endpoint + +## How to use it in your application + +First of all, have to configure your application deployment to include +the common microservice on the dependencies and used services. + +`myapp/deploy/values.yaml` +```yaml +harness: + ... + dependencies: + soft: + - common + ... + ... + use_services: + - name: common +``` + +The common api will be available at `/proxy/common/api` path from your app + +> the `use_services` sets up the reverse proxy in your app subdomain +> to avoid cross-origin requests from the frontend + +See a usage example [here](../applications/samples/frontend/src/components/Version.tsx). + + From 269b493d507baa9f18b657877c5efef630fada89 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Thu, 25 Jan 2024 12:38:10 +0100 Subject: [PATCH 16/43] Fix js path for gatekeeper rules --- applications/samples/frontend/webpack.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/samples/frontend/webpack.config.js b/applications/samples/frontend/webpack.config.js index ad5ee556..69f80cb9 100644 --- a/applications/samples/frontend/webpack.config.js +++ b/applications/samples/frontend/webpack.config.js @@ -29,7 +29,7 @@ module.exports = function webpacking(envVariables) { const output = { path: path.resolve(__dirname, "dist"), - filename: "[name].[contenthash].js", + filename: "js/[name].[contenthash].js", publicPath: "/" }; From 3343f8b37d4e8360ab76ba894c386e24d3ea11d4 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Thu, 25 Jan 2024 16:25:37 +0100 Subject: [PATCH 17/43] CH-47 model update --- libraries/models/api/openapi.yaml | 3 ++ .../models/harness_main_config.py | 34 +++++++++++++++++-- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/libraries/models/api/openapi.yaml b/libraries/models/api/openapi.yaml index 577bff53..96a3e480 100644 --- a/libraries/models/api/openapi.yaml +++ b/libraries/models/api/openapi.yaml @@ -834,6 +834,9 @@ components: task-images: $ref: '#/components/schemas/SimpleMap' description: '' + build_hash: + description: '' + type: string additionalProperties: true SimpleMap: description: '' diff --git a/libraries/models/cloudharness_model/models/harness_main_config.py b/libraries/models/cloudharness_model/models/harness_main_config.py index c75db6d3..7f18e82d 100644 --- a/libraries/models/cloudharness_model/models/harness_main_config.py +++ b/libraries/models/cloudharness_model/models/harness_main_config.py @@ -23,7 +23,7 @@ class HarnessMainConfig(Model): Do not edit the class manually. """ - def __init__(self, local=None, secured_gatekeepers=None, domain=None, namespace=None, mainapp=None, registry=None, tag=None, apps=None, env=None, privenv=None, backup=None, name=None, task_images=None): # noqa: E501 + def __init__(self, local=None, secured_gatekeepers=None, domain=None, namespace=None, mainapp=None, registry=None, tag=None, apps=None, env=None, privenv=None, backup=None, name=None, task_images=None, build_hash=None): # noqa: E501 """HarnessMainConfig - a model defined in OpenAPI :param local: The local of this HarnessMainConfig. # noqa: E501 @@ -52,6 +52,8 @@ def __init__(self, local=None, secured_gatekeepers=None, domain=None, namespace= :type name: str :param task_images: The task_images of this HarnessMainConfig. # noqa: E501 :type task_images: Dict[str, object] + :param build_hash: The build_hash of this HarnessMainConfig. # noqa: E501 + :type build_hash: str """ self.openapi_types = { 'local': bool, @@ -66,7 +68,8 @@ def __init__(self, local=None, secured_gatekeepers=None, domain=None, namespace= 'privenv': NameValue, 'backup': BackupConfig, 'name': str, - 'task_images': Dict[str, object] + 'task_images': Dict[str, object], + 'build_hash': str } self.attribute_map = { @@ -82,7 +85,8 @@ def __init__(self, local=None, secured_gatekeepers=None, domain=None, namespace= 'privenv': 'privenv', 'backup': 'backup', 'name': 'name', - 'task_images': 'task-images' + 'task_images': 'task-images', + 'build_hash': 'build_hash' } self._local = local @@ -98,6 +102,7 @@ def __init__(self, local=None, secured_gatekeepers=None, domain=None, namespace= self._backup = backup self._name = name self._task_images = task_images + self._build_hash = build_hash @classmethod def from_dict(cls, dikt) -> 'HarnessMainConfig': @@ -414,3 +419,26 @@ def task_images(self, task_images): """ self._task_images = task_images + + @property + def build_hash(self): + """Gets the build_hash of this HarnessMainConfig. + + # noqa: E501 + + :return: The build_hash of this HarnessMainConfig. + :rtype: str + """ + return self._build_hash + + @build_hash.setter + def build_hash(self, build_hash): + """Sets the build_hash of this HarnessMainConfig. + + # noqa: E501 + + :param build_hash: The build_hash of this HarnessMainConfig. + :type build_hash: str + """ + + self._build_hash = build_hash From d7d2b0406e1cb82ccfc57120021dffafff842070 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Mon, 29 Jan 2024 18:21:01 +0100 Subject: [PATCH 18/43] CH-37 update model --- docs/model/ApplicationDependenciesConfig.md | 13 ++ docs/model/GitDependencyConfig.md | 19 +++ libraries/models/api/openapi.yaml | 24 ++++ .../cloudharness_model/models/__init__.py | 1 + .../models/application_dependencies_config.py | 36 +++++- .../models/git_dependency_config.py | 122 ++++++++++++++++++ 6 files changed, 212 insertions(+), 3 deletions(-) create mode 100644 docs/model/GitDependencyConfig.md create mode 100644 libraries/models/cloudharness_model/models/git_dependency_config.py diff --git a/docs/model/ApplicationDependenciesConfig.md b/docs/model/ApplicationDependenciesConfig.md index 8d3ba917..a59b2cec 100644 --- a/docs/model/ApplicationDependenciesConfig.md +++ b/docs/model/ApplicationDependenciesConfig.md @@ -11,6 +11,7 @@ Key | Input Type | Accessed Type | Description | Notes **[hard](#hard)** | list, tuple, | tuple, | Hard dependencies indicate that the application may not start without these other applications. | [optional] **[soft](#soft)** | list, tuple, | tuple, | Soft dependencies indicate that the application will work partially without these other applications. | [optional] **[build](#build)** | list, tuple, | tuple, | Hard dependencies indicate that the application Docker image build requires these base/common images | [optional] +**[git](#git)** | list, tuple, | tuple, | | [optional] **any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] # hard @@ -55,5 +56,17 @@ Class Name | Input Type | Accessed Type | Description | Notes ------------- | ------------- | ------------- | ------------- | ------------- items | str, | str, | | +# git + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +list, tuple, | tuple, | | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +[**GitDependencyConfig**](GitDependencyConfig.md) | [**GitDependencyConfig**](GitDependencyConfig.md) | [**GitDependencyConfig**](GitDependencyConfig.md) | | + [[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/GitDependencyConfig.md b/docs/model/GitDependencyConfig.md new file mode 100644 index 00000000..5faef206 --- /dev/null +++ b/docs/model/GitDependencyConfig.md @@ -0,0 +1,19 @@ +# cloudharness_model.model.git_dependency_config.GitDependencyConfig + +Defines a git repo to be cloned inside the application path + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | Defines a git repo to be cloned inside the application path | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**branch_tag** | str, | str, | | +**url** | str, | str, | | +**path** | str, | str, | Defines the path where the repo is cloned. default: /git | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) + diff --git a/libraries/models/api/openapi.yaml b/libraries/models/api/openapi.yaml index 96a3e480..8b961031 100644 --- a/libraries/models/api/openapi.yaml +++ b/libraries/models/api/openapi.yaml @@ -68,6 +68,11 @@ components: type: array items: type: string + git: + description: '' + type: array + items: + $ref: '#/components/schemas/GitDependencyConfig' DeploymentResourcesConf: description: '' type: object @@ -849,3 +854,22 @@ components: example: quota-ws-max: 5 quota-storage-max: 1G + GitDependencyConfig: + title: Root Type for GitDependencyConfig + description: Defines a git repo to be cloned inside the application path + required: + - branch_tag + - url + type: object + properties: + url: + type: string + branch_tag: + type: string + path: + description: 'Defines the path where the repo is cloned. default: /git' + type: string + example: + url: 'https://github.com/MetaCell/nwb-explorer.git' + branch_tag: master + path: /git diff --git a/libraries/models/cloudharness_model/models/__init__.py b/libraries/models/cloudharness_model/models/__init__.py index 78d8f9fc..dbfb1175 100644 --- a/libraries/models/cloudharness_model/models/__init__.py +++ b/libraries/models/cloudharness_model/models/__init__.py @@ -25,6 +25,7 @@ from cloudharness_model.models.deployment_volume_spec_all_of import DeploymentVolumeSpecAllOf from cloudharness_model.models.e2_e_tests_config import E2ETestsConfig from cloudharness_model.models.file_resources_config import FileResourcesConfig +from cloudharness_model.models.git_dependency_config import GitDependencyConfig from cloudharness_model.models.harness_main_config import HarnessMainConfig from cloudharness_model.models.ingress_config import IngressConfig from cloudharness_model.models.ingress_config_all_of import IngressConfigAllOf diff --git a/libraries/models/cloudharness_model/models/application_dependencies_config.py b/libraries/models/cloudharness_model/models/application_dependencies_config.py index d4330359..7f4df0ba 100644 --- a/libraries/models/cloudharness_model/models/application_dependencies_config.py +++ b/libraries/models/cloudharness_model/models/application_dependencies_config.py @@ -6,8 +6,10 @@ from typing import List, Dict # noqa: F401 from cloudharness_model.models.base_model_ import Model +from cloudharness_model.models.git_dependency_config import GitDependencyConfig from cloudharness_model import util +from cloudharness_model.models.git_dependency_config import GitDependencyConfig # noqa: E501 class ApplicationDependenciesConfig(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -15,7 +17,7 @@ class ApplicationDependenciesConfig(Model): Do not edit the class manually. """ - def __init__(self, hard=None, soft=None, build=None): # noqa: E501 + def __init__(self, hard=None, soft=None, build=None, git=None): # noqa: E501 """ApplicationDependenciesConfig - a model defined in OpenAPI :param hard: The hard of this ApplicationDependenciesConfig. # noqa: E501 @@ -24,22 +26,27 @@ def __init__(self, hard=None, soft=None, build=None): # noqa: E501 :type soft: List[str] :param build: The build of this ApplicationDependenciesConfig. # noqa: E501 :type build: List[str] + :param git: The git of this ApplicationDependenciesConfig. # noqa: E501 + :type git: List[GitDependencyConfig] """ self.openapi_types = { 'hard': List[str], 'soft': List[str], - 'build': List[str] + 'build': List[str], + 'git': List[GitDependencyConfig] } self.attribute_map = { 'hard': 'hard', 'soft': 'soft', - 'build': 'build' + 'build': 'build', + 'git': 'git' } self._hard = hard self._soft = soft self._build = build + self._git = git @classmethod def from_dict(cls, dikt) -> 'ApplicationDependenciesConfig': @@ -120,3 +127,26 @@ def build(self, build): """ self._build = build + + @property + def git(self): + """Gets the git of this ApplicationDependenciesConfig. + + # noqa: E501 + + :return: The git of this ApplicationDependenciesConfig. + :rtype: List[GitDependencyConfig] + """ + return self._git + + @git.setter + def git(self, git): + """Sets the git of this ApplicationDependenciesConfig. + + # noqa: E501 + + :param git: The git of this ApplicationDependenciesConfig. + :type git: List[GitDependencyConfig] + """ + + self._git = git diff --git a/libraries/models/cloudharness_model/models/git_dependency_config.py b/libraries/models/cloudharness_model/models/git_dependency_config.py new file mode 100644 index 00000000..b2a17690 --- /dev/null +++ b/libraries/models/cloudharness_model/models/git_dependency_config.py @@ -0,0 +1,122 @@ +# coding: utf-8 + +from __future__ import absolute_import +from datetime import date, datetime # noqa: F401 + +from typing import List, Dict # noqa: F401 + +from cloudharness_model.models.base_model_ import Model +from cloudharness_model import util + + +class GitDependencyConfig(Model): + """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + + Do not edit the class manually. + """ + + def __init__(self, url=None, branch_tag=None, path=None): # noqa: E501 + """GitDependencyConfig - a model defined in OpenAPI + + :param url: The url of this GitDependencyConfig. # noqa: E501 + :type url: str + :param branch_tag: The branch_tag of this GitDependencyConfig. # noqa: E501 + :type branch_tag: str + :param path: The path of this GitDependencyConfig. # noqa: E501 + :type path: str + """ + self.openapi_types = { + 'url': str, + 'branch_tag': str, + 'path': str + } + + self.attribute_map = { + 'url': 'url', + 'branch_tag': 'branch_tag', + 'path': 'path' + } + + self._url = url + self._branch_tag = branch_tag + self._path = path + + @classmethod + def from_dict(cls, dikt) -> 'GitDependencyConfig': + """Returns the dict as a model + + :param dikt: A dict. + :type: dict + :return: The GitDependencyConfig of this GitDependencyConfig. # noqa: E501 + :rtype: GitDependencyConfig + """ + return util.deserialize_model(dikt, cls) + + @property + def url(self): + """Gets the url of this GitDependencyConfig. + + + :return: The url of this GitDependencyConfig. + :rtype: str + """ + return self._url + + @url.setter + def url(self, url): + """Sets the url of this GitDependencyConfig. + + + :param url: The url of this GitDependencyConfig. + :type url: str + """ + if url is None: + raise ValueError("Invalid value for `url`, must not be `None`") # noqa: E501 + + self._url = url + + @property + def branch_tag(self): + """Gets the branch_tag of this GitDependencyConfig. + + + :return: The branch_tag of this GitDependencyConfig. + :rtype: str + """ + return self._branch_tag + + @branch_tag.setter + def branch_tag(self, branch_tag): + """Sets the branch_tag of this GitDependencyConfig. + + + :param branch_tag: The branch_tag of this GitDependencyConfig. + :type branch_tag: str + """ + if branch_tag is None: + raise ValueError("Invalid value for `branch_tag`, must not be `None`") # noqa: E501 + + self._branch_tag = branch_tag + + @property + def path(self): + """Gets the path of this GitDependencyConfig. + + Defines the path where the repo is cloned. default: /git # noqa: E501 + + :return: The path of this GitDependencyConfig. + :rtype: str + """ + return self._path + + @path.setter + def path(self, path): + """Sets the path of this GitDependencyConfig. + + Defines the path where the repo is cloned. default: /git # noqa: E501 + + :param path: The path of this GitDependencyConfig. + :type path: str + """ + + self._path = path From e564da77fe372db7c354bf82f79b5a6d40813873 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Mon, 29 Jan 2024 18:21:42 +0100 Subject: [PATCH 19/43] CH-37 dependency on skaffold --- .../ch_cli_tools/skaffold.py | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/tools/deployment-cli-tools/ch_cli_tools/skaffold.py b/tools/deployment-cli-tools/ch_cli_tools/skaffold.py index c0de5764..03f9fb80 100644 --- a/tools/deployment-cli-tools/ch_cli_tools/skaffold.py +++ b/tools/deployment-cli-tools/ch_cli_tools/skaffold.py @@ -4,7 +4,7 @@ import time from os.path import join, relpath, basename, exists, abspath -from cloudharness_model import ApplicationTestConfig, HarnessMainConfig +from cloudharness_model import ApplicationTestConfig, HarnessMainConfig, GitDependencyConfig from cloudharness_utils.constants import APPS_PATH, DEPLOYMENT_CONFIGURATION_PATH, \ BASE_IMAGES_PATH, STATIC_IMAGES_PATH @@ -57,7 +57,8 @@ def build_artifact(image_name, context_path, requirements=None, dockerfile_path= def process_build_dockerfile(dockerfile_path, root_path, global_context=False, requirements=None, app_name=None): if app_name is None: app_name = app_name_from_path(basename(dockerfile_path)) - if app_name in helm_values[KEY_TASK_IMAGES] or app_name.replace("-", "_") in helm_values.apps: + app_key = app_name.replace("-", "_") + if app_name in helm_values[KEY_TASK_IMAGES] or app_key in helm_values.apps: context_path = relpath_if(root_path, output_path) if global_context else relpath_if(dockerfile_path, output_path) builds[app_name] = context_path @@ -68,6 +69,10 @@ def process_build_dockerfile(dockerfile_path, root_path, global_context=False, r dockerfile_path=relpath(dockerfile_path, output_path), requirements=requirements or guess_build_dependencies_from_dockerfile(dockerfile_path) ) + if app_key in helm_values.apps and helm_values.apps[app_key].harness.dependencies and helm_values.apps[app_key].harness.dependencies.git: + artifacts[app_name]['hooks'] = { + 'before': [git_clone_hook(conf, context_path) for conf in helm_values.apps[app_key].harness.dependencies.git] + } for root_path in root_paths: skaffold_conf = dict_merge(skaffold_conf, get_template( @@ -189,6 +194,18 @@ def identify_unicorn_based_main(candidates): output_path, 'skaffold.yaml')) return skaffold_conf +def git_clone_hook(conf: GitDependencyConfig, context_path: str): + return { + 'command': [ + 'git', + 'clone', + '--branch', + conf.branch_tag, + conf.url, + join(context_path, "dependencies", os.path.basename(conf.url)) + + ] + } def create_vscode_debug_configuration(root_paths, helm_values): logging.info( From ec0f4906bb9d37c44ea6dda6aad38c8950ef7fca Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Wed, 31 Jan 2024 16:51:29 +0100 Subject: [PATCH 20/43] CH-37 fix skaffold dependency clone twice --- tools/clone.sh | 18 ++++++++++++++++++ .../ch_cli_tools/skaffold.py | 5 ++--- 2 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 tools/clone.sh diff --git a/tools/clone.sh b/tools/clone.sh new file mode 100644 index 00000000..246c4d89 --- /dev/null +++ b/tools/clone.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +REPOSRC=$2 +LOCALREPO=$3 +BRANCH=$1 + +# We do it this way so that we can abstract if from just git later on +LOCALREPO_VC_DIR=$LOCALREPO/.git + +if [ ! -d $LOCALREPO_VC_DIR ] +then + git clone --branch $BRANCH $REPOSRC $LOCALREPO +else + cd $LOCALREPO + git pull origin $BRANCH +fi + +# End \ No newline at end of file diff --git a/tools/deployment-cli-tools/ch_cli_tools/skaffold.py b/tools/deployment-cli-tools/ch_cli_tools/skaffold.py index 03f9fb80..b8d2c854 100644 --- a/tools/deployment-cli-tools/ch_cli_tools/skaffold.py +++ b/tools/deployment-cli-tools/ch_cli_tools/skaffold.py @@ -197,9 +197,8 @@ def identify_unicorn_based_main(candidates): def git_clone_hook(conf: GitDependencyConfig, context_path: str): return { 'command': [ - 'git', - 'clone', - '--branch', + 'sh', + 'tools/clone.sh', conf.branch_tag, conf.url, join(context_path, "dependencies", os.path.basename(conf.url)) From c74c8c755c2a3e963c750e4d6bf4789c8e0e6f63 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Wed, 31 Jan 2024 17:16:40 +0100 Subject: [PATCH 21/43] CH-37 codefresh clone --- .../cloudharness_utils/constants.py | 2 +- .../ch_cli_tools/codefresh.py | 26 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/libraries/cloudharness-utils/cloudharness_utils/constants.py b/libraries/cloudharness-utils/cloudharness_utils/constants.py index 4b42761a..e2a6a48b 100644 --- a/libraries/cloudharness-utils/cloudharness_utils/constants.py +++ b/libraries/cloudharness-utils/cloudharness_utils/constants.py @@ -43,7 +43,7 @@ CD_E2E_TEST_STEP = 'tests_e2e' CD_STEP_PUBLISH = 'publish' BUILD_FILENAMES = ('node_modules',) - +CD_BUILD_STEP_DEPENDENCIES = 'post_main_clone' E2E_TESTS_DIRNAME = 'e2e' API_TESTS_DIRNAME = 'api' diff --git a/tools/deployment-cli-tools/ch_cli_tools/codefresh.py b/tools/deployment-cli-tools/ch_cli_tools/codefresh.py index 6432233b..3eb48888 100644 --- a/tools/deployment-cli-tools/ch_cli_tools/codefresh.py +++ b/tools/deployment-cli-tools/ch_cli_tools/codefresh.py @@ -1,5 +1,6 @@ import os from os.path import join, relpath, exists, dirname +from cloudharness_model.models.git_dependency_config import GitDependencyConfig import requests import logging from cloudharness_model.models.api_tests_config import ApiTestsConfig @@ -33,6 +34,27 @@ def literal_presenter(dumper, data): yaml.add_representer(str, literal_presenter) +def get_main_domain(url): + try: + url = url.split("//")[1].split("/")[0] + if "gitlab" in url: + return "gitlab" + if "bitbucket" in url: + return "bitbucket" + return "github" + except: + return "${{ DEFAULT_REPO }}" + +def clone_step_spec(conf: GitDependencyConfig, context_path: str): + return { + "title": f"Cloning {os.path.basename(conf.url)} repository...", + "type": "git-clone", + "repo": conf.url, + "revision": conf.branch_tag, + "working_directory": join(context_path, "dependencies", os.path.basename(conf.url)), + "git": get_main_domain(conf.url) # Cannot really tell what's the git config name, usually the name of the repo + } + def write_env_file(helm_values: HarnessMainConfig, filename, registry_secret=None): env = {} logging.info("Create env file with image info %s", filename) @@ -152,6 +174,10 @@ def codefresh_steps_from_base_path(base_path, build_step, fixed_context=None, in # Skip excluded apps continue + if app_config and app_config.dependencies and app_config.dependencies.git: + for dep in app_config.dependencies.git: + steps[CD_BUILD_STEP_DEPENDENCIES]['steps'].append(clone_step_spec(dep, base_path)) + build = None if build_step in steps: build = codefresh_app_build_spec( From f213c52d2cc143ae794c183a22f7a5044cd26cab Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Wed, 31 Jan 2024 18:11:47 +0100 Subject: [PATCH 22/43] CH-37 add documentation --- docs/applications/README.md | 1 + docs/applications/dependencies.md | 91 +++++++++++++++++++ .../development/backend-development.md | 4 +- docs/base-common-images.md | 4 +- 4 files changed, 97 insertions(+), 3 deletions(-) create mode 100644 docs/applications/dependencies.md diff --git a/docs/applications/README.md b/docs/applications/README.md index b8758632..82fe472a 100644 --- a/docs/applications/README.md +++ b/docs/applications/README.md @@ -102,6 +102,7 @@ The most important configuration entries are the following: - `hard`: hard dependencies mean that they are required for this application to work properly - `soft`: the application will function for most of its functionality without this dependency - `build`: the images declared as build dependencies can be referred as dependency in the Dockerfile + - `git`: specify repos to be cloned before the container build - `database`: automatically generates a preconfigured database deployment for this application - `auto`: if true, turns on the database deployment functionality - `type`: one from `postgres` (default), `mongo`, `neo4j` diff --git a/docs/applications/dependencies.md b/docs/applications/dependencies.md new file mode 100644 index 00000000..9cf9923a --- /dev/null +++ b/docs/applications/dependencies.md @@ -0,0 +1,91 @@ +# Application dependencies + +Application dependencies can be specified in the main application configuration +file (deploy/values.yaml), in the `harness` section. + +Example: +```yaml +harness: + dependencies: + build: + - cloudharness-base + soft: + - app1 + hard: + - accounts + git: + - url: https://github.com/a/b.git + branch_tag: master +``` + +## Build dependencies + +Build dependencies specify which images must be built before the current one. +Currently only base images and common images can be used as a build dependency. + +See also [base and common images documentation](../base-common-images.md). + +## Soft dependencies + +Soft dependencies specify other applications (from your app or cloudharness) that +must be included in the deployment together with your application, +but are not a prerequisite for the application to bootstrap and serve basic functionality. + +Soft dependencies are implicitly chained: if *A1* depends on *A2* and *A2* depends on *A3*, +all *A1*, *A2*, *A3* are included in the deployment if A1 is requested (say with +`harness-deployment ... -i A1`). + +## Hard dependencies + +Hard dependencies work similarly to soft dependencies but they are required for the +application declaring the dependency to start and provide even basic functionality. + +With a hard dependency, we are allowed to assume that the other application exists in the +configuration and during the runtime. + +Note that Cloud Harness does not guarantee the the other application starts before the +application declaring the dependency because that's how Kubernetes works. The application +is supposed to crash in the absence of its dependency and Kubernetes will start the crash +loop until both applications are settled. + +## Git (repository) dependencies + +Git dependencies allow us to build and deploy applications that are defined in another repository. +This functionality is an alternative to the otherwise monorepo-centric view of CloudHarness-based +applications. + +The repository is cloned before the build within skaffold build and the CI/CD inside the +`dependencies` directory at the same level of the Dockerfile. + +Hence, in the Dockerfile we are allowed to `COPY` or `ADD` the repository. + +For instance, given the following configuration: +```yaml +harness: + dependencies: + git: + - url: https://github.com/a/b.git + branch_tag: master + - url: https://github.com/c/d.git + branch_tag: v1.0.0 + path: myrepo +``` + +The directory structure will be as following: +``` +Dockerfile +dependencies + b + myrepo + .dockerignore +``` + +Hence, inside the Dockerfile we expect to see something like + +```dockerfile +COPY dependencies . +COPY dependencies/b/src . +COPY dependencies/myrepo . +``` + +> Note that Cloud Harness does not add the COPY/ADD statements to the Dockerfile \ No newline at end of file diff --git a/docs/applications/development/backend-development.md b/docs/applications/development/backend-development.md index 34d044bb..169f495e 100644 --- a/docs/applications/development/backend-development.md +++ b/docs/applications/development/backend-development.md @@ -55,7 +55,9 @@ harness: Every image defined as a base image or a common image can be used as a build dependency. -For more details about how to define your custom image and the available images, see [here](../../base-common-images.md) +For more details about how to define your custom image and the available images, see [here](../../base-common-images.md). + +For more info about dependencies, see [here](../dependencies.md) ## Use the CloudHarness runtime Python library diff --git a/docs/base-common-images.md b/docs/base-common-images.md index 314995f8..29a5e2bf 100644 --- a/docs/base-common-images.md +++ b/docs/base-common-images.md @@ -15,9 +15,9 @@ a specific purpose (e.g. enable widely used application stacks to inherit from). After generating the codeChange the Dockerfile in order to inherit from the main Docker image need to: -1. Add the image as a build dependency to the values.yaml file of your application. The name of the image corresponds to the directory name where the Dockerfile is located +1. Add the image as a [build dependency](applications/dependencies.md) to the values.yaml file of your application. The name of the image corresponds to the directory name where the Dockerfile is located -``` +```yaml harness: dependencies: build: From 35f73dafba7edc9b75275a54c98b3d4065b33af7 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Wed, 31 Jan 2024 18:15:58 +0100 Subject: [PATCH 23/43] CH-37 add support for path spec --- tools/deployment-cli-tools/ch_cli_tools/codefresh.py | 2 +- tools/deployment-cli-tools/ch_cli_tools/skaffold.py | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/tools/deployment-cli-tools/ch_cli_tools/codefresh.py b/tools/deployment-cli-tools/ch_cli_tools/codefresh.py index 3eb48888..d6b699a5 100644 --- a/tools/deployment-cli-tools/ch_cli_tools/codefresh.py +++ b/tools/deployment-cli-tools/ch_cli_tools/codefresh.py @@ -51,7 +51,7 @@ def clone_step_spec(conf: GitDependencyConfig, context_path: str): "type": "git-clone", "repo": conf.url, "revision": conf.branch_tag, - "working_directory": join(context_path, "dependencies", os.path.basename(conf.url)), + "working_directory": join(context_path, "dependencies", conf.path or os.path.basename(conf.url)), "git": get_main_domain(conf.url) # Cannot really tell what's the git config name, usually the name of the repo } diff --git a/tools/deployment-cli-tools/ch_cli_tools/skaffold.py b/tools/deployment-cli-tools/ch_cli_tools/skaffold.py index b8d2c854..bd2f4da4 100644 --- a/tools/deployment-cli-tools/ch_cli_tools/skaffold.py +++ b/tools/deployment-cli-tools/ch_cli_tools/skaffold.py @@ -201,8 +201,7 @@ def git_clone_hook(conf: GitDependencyConfig, context_path: str): 'tools/clone.sh', conf.branch_tag, conf.url, - join(context_path, "dependencies", os.path.basename(conf.url)) - + join(context_path, "dependencies", conf.path or os.path.basename(conf.url)) ] } From c68e6acceae7f399a1b5a60066d13418aa31e6de Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Wed, 31 Jan 2024 19:00:59 +0100 Subject: [PATCH 24/43] CH-37 add tests and fix edge cases --- .../deployment-cli-tools/ch_cli_tools/utils.py | 17 ++++++++++++++++- .../myapp/dependencies/a/Dockerfile | 0 .../applications/myapp/deploy/values.yaml | 6 ++++++ .../tests/test_codefresh.py | 2 ++ .../deployment-cli-tools/tests/test_skaffold.py | 3 ++- tools/deployment-cli-tools/tests/test_utils.py | 12 +++++++++++- 6 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 tools/deployment-cli-tools/tests/resources/applications/myapp/dependencies/a/Dockerfile diff --git a/tools/deployment-cli-tools/ch_cli_tools/utils.py b/tools/deployment-cli-tools/ch_cli_tools/utils.py index 983b6a55..9e2cbf9e 100644 --- a/tools/deployment-cli-tools/ch_cli_tools/utils.py +++ b/tools/deployment-cli-tools/ch_cli_tools/utils.py @@ -59,7 +59,22 @@ def find_subdirs(base_path): def find_dockerfiles_paths(base_directory): - return find_file_paths(base_directory, 'Dockerfile') + all_dockerfiles = find_file_paths(base_directory, 'Dockerfile') + + # We want to remove all dockerfiles that are not in a git repository + # This will exclude the cloned dependencies and other repos cloned for convenience + dockerfiles_without_git = [] + + for dockerfile in all_dockerfiles: + directory = dockerfile + while not os.path.samefile(directory, base_directory): + if os.path.exists(os.path.join(directory, '.git')): + break + directory = os.path.dirname(directory) + else: + dockerfiles_without_git.append(dockerfile.replace(os.sep, "/")) + + return tuple(dockerfiles_without_git) def get_parent_app_name(app_relative_path): diff --git a/tools/deployment-cli-tools/tests/resources/applications/myapp/dependencies/a/Dockerfile b/tools/deployment-cli-tools/tests/resources/applications/myapp/dependencies/a/Dockerfile new file mode 100644 index 00000000..e69de29b diff --git a/tools/deployment-cli-tools/tests/resources/applications/myapp/deploy/values.yaml b/tools/deployment-cli-tools/tests/resources/applications/myapp/deploy/values.yaml index 434b042b..e386702a 100644 --- a/tools/deployment-cli-tools/tests/resources/applications/myapp/deploy/values.yaml +++ b/tools/deployment-cli-tools/tests/resources/applications/myapp/deploy/values.yaml @@ -6,6 +6,12 @@ harness: - legacy build: - cloudharness-flask + git: + - url: https://github.com/a/b.git + branch_tag: master + - url: https://github.com/c/d.git + branch_tag: v1.0.0 + path: myrepo test: unit: commands: diff --git a/tools/deployment-cli-tools/tests/test_codefresh.py b/tools/deployment-cli-tools/tests/test_codefresh.py index aee93d37..3cd24f0a 100644 --- a/tools/deployment-cli-tools/tests/test_codefresh.py +++ b/tools/deployment-cli-tools/tests/test_codefresh.py @@ -123,6 +123,8 @@ def test_create_codefresh_configuration(): assert len( tstep['commands']) == 2, "Unit test commands are not properly loaded from the unit test configuration file" assert tstep['commands'][0] == "tox", "Unit test commands are not properly loaded from the unit test configuration file" + + assert len(l1_steps[CD_BUILD_STEP_DEPENDENCIES]['steps']) == 3, "3 clone steps should be included as we have 2 dependencies from myapp, plus cloudharness" finally: shutil.rmtree(BUILD_MERGE_DIR) diff --git a/tools/deployment-cli-tools/tests/test_skaffold.py b/tools/deployment-cli-tools/tests/test_skaffold.py index 94998892..04cf4420 100644 --- a/tools/deployment-cli-tools/tests/test_skaffold.py +++ b/tools/deployment-cli-tools/tests/test_skaffold.py @@ -86,7 +86,8 @@ def test_create_skaffold_configuration(): a for a in sk['build']['artifacts'] if a['image'] == 'reg/cloudharness/myapp') assert os.path.samefile(myapp_artifact['context'], join( RESOURCES, 'applications/myapp')) - + assert myapp_artifact['hooks']['before'], 'The hook for dependencies should be included' + assert len(myapp_artifact['hooks']['before']) == 2, 'The hook for dependencies should include 2 clone commands' accounts_artifact = next( a for a in sk['build']['artifacts'] if a['image'] == 'reg/cloudharness/accounts') assert os.path.samefile(accounts_artifact['context'], '/tmp/build/applications/accounts') diff --git a/tools/deployment-cli-tools/tests/test_utils.py b/tools/deployment-cli-tools/tests/test_utils.py index 507f75b9..cbd813c1 100644 --- a/tools/deployment-cli-tools/tests/test_utils.py +++ b/tools/deployment-cli-tools/tests/test_utils.py @@ -64,4 +64,14 @@ def test_guess_build_dependencies_from_dockerfile(): def test_check_docker_manifest_exists(): assert check_docker_manifest_exists("gcr.io/metacellllc", "cloudharness/cloudharness-base", "latest") assert not check_docker_manifest_exists("gcr.io/metacellllc", "cloudharness/cloudharness-base", "RANDOM_TAG") - \ No newline at end of file + +def test_find_dockerfile_paths(): + + myapp_path = os.path.join(HERE, "resources/applications/myapp") + if not os.path.exists(os.path.join(myapp_path, "dependencies/a/.git")): + os.makedirs(os.path.join(myapp_path, "dependencies/a/.git")) + + dockerfiles = find_dockerfiles_paths(myapp_path) + assert len(dockerfiles) == 2 + assert next(d for d in dockerfiles if d.endswith("myapp")), "Must find the Dockerfile in the root directory" + assert next(d for d in dockerfiles if d.endswith("myapp/tasks/mytask")), "Must find the Dockerfile in the tasks directory" \ No newline at end of file From b718be6a8c2d80fec1e67136b82e3f492875bc8d Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Wed, 31 Jan 2024 19:03:30 +0100 Subject: [PATCH 25/43] CH-37 add dockerignore to templates --- application-templates/base/.dockerignore | 73 ++++++++++++++++++ .../django-app/.dockerignore | 1 + .../flask-server/backend/.dockerignore | 2 + application-templates/webapp/.dockerignore | 75 ++++++++++++++++++- 4 files changed, 149 insertions(+), 2 deletions(-) create mode 100644 application-templates/base/.dockerignore diff --git a/application-templates/base/.dockerignore b/application-templates/base/.dockerignore new file mode 100644 index 00000000..827cf7ca --- /dev/null +++ b/application-templates/base/.dockerignore @@ -0,0 +1,73 @@ +.travis.yaml +.openapi-generator-ignore +README.md +tox.ini +git_push.sh +test-requirements.txt + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ +venv/ +.python-version + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +#Ipython Notebook +.ipynb_checkpoints + +.git \ No newline at end of file diff --git a/application-templates/django-app/.dockerignore b/application-templates/django-app/.dockerignore index f06235c4..f2e3d311 100644 --- a/application-templates/django-app/.dockerignore +++ b/application-templates/django-app/.dockerignore @@ -1,2 +1,3 @@ node_modules dist +.git \ No newline at end of file diff --git a/application-templates/flask-server/backend/.dockerignore b/application-templates/flask-server/backend/.dockerignore index a05d73b5..827cf7ca 100644 --- a/application-templates/flask-server/backend/.dockerignore +++ b/application-templates/flask-server/backend/.dockerignore @@ -69,3 +69,5 @@ target/ #Ipython Notebook .ipynb_checkpoints + +.git \ No newline at end of file diff --git a/application-templates/webapp/.dockerignore b/application-templates/webapp/.dockerignore index f06235c4..827cf7ca 100644 --- a/application-templates/webapp/.dockerignore +++ b/application-templates/webapp/.dockerignore @@ -1,2 +1,73 @@ -node_modules -dist +.travis.yaml +.openapi-generator-ignore +README.md +tox.ini +git_push.sh +test-requirements.txt + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ +venv/ +.python-version + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +#Ipython Notebook +.ipynb_checkpoints + +.git \ No newline at end of file From bdfbbd212e532e56700b2c5d62acd0598af8ff84 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Wed, 31 Jan 2024 19:16:04 +0100 Subject: [PATCH 26/43] CH-37 Fix tests as .git cannot be committed --- tools/deployment-cli-tools/tests/test_codefresh.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/deployment-cli-tools/tests/test_codefresh.py b/tools/deployment-cli-tools/tests/test_codefresh.py index 3cd24f0a..7e3abd4d 100644 --- a/tools/deployment-cli-tools/tests/test_codefresh.py +++ b/tools/deployment-cli-tools/tests/test_codefresh.py @@ -9,6 +9,9 @@ CLOUDHARNESS_ROOT = os.path.dirname(os.path.dirname(os.path.dirname(HERE))) BUILD_MERGE_DIR = "./build/test_deployment" +myapp_path = os.path.join(HERE, "resources/applications/myapp") +if not os.path.exists(os.path.join(myapp_path, "dependencies/a/.git")): + os.makedirs(os.path.join(myapp_path, "dependencies/a/.git")) def test_create_codefresh_configuration(): values = create_helm_chart( From 8163bfb3d9cc486ca5f90044d8e57ade2a70b886 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Thu, 1 Feb 2024 13:04:36 +0100 Subject: [PATCH 27/43] CH-37 Fix inexact docs --- docs/applications/dependencies.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/applications/dependencies.md b/docs/applications/dependencies.md index 9cf9923a..e6d1a5b7 100644 --- a/docs/applications/dependencies.md +++ b/docs/applications/dependencies.md @@ -75,7 +75,7 @@ The directory structure will be as following: ``` Dockerfile dependencies - b + b.git myrepo .dockerignore ``` @@ -84,7 +84,7 @@ Hence, inside the Dockerfile we expect to see something like ```dockerfile COPY dependencies . -COPY dependencies/b/src . +COPY dependencies/b.git/src . COPY dependencies/myrepo . ``` From 1296b59974b3a6129926548e3e00f97393ffc0b2 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Mon, 5 Feb 2024 17:54:31 +0100 Subject: [PATCH 28/43] CH-37 related fixes --- docs/applications/dependencies.md | 8 ++++++-- tools/deployment-cli-tools/ch_cli_tools/codefresh.py | 4 ++-- tools/deployment-cli-tools/ch_cli_tools/skaffold.py | 6 ++++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/applications/dependencies.md b/docs/applications/dependencies.md index e6d1a5b7..5a9606be 100644 --- a/docs/applications/dependencies.md +++ b/docs/applications/dependencies.md @@ -70,6 +70,7 @@ harness: branch_tag: v1.0.0 path: myrepo ``` +> Note that the path parameter is optional and its use should be restricted to necessity (e.g. name clashes) The directory structure will be as following: ``` @@ -84,8 +85,11 @@ Hence, inside the Dockerfile we expect to see something like ```dockerfile COPY dependencies . -COPY dependencies/b.git/src . -COPY dependencies/myrepo . +``` +or +```dockerfile +COPY dependencies/b/src . +COPY dependencies/myrepo/b . ``` > Note that Cloud Harness does not add the COPY/ADD statements to the Dockerfile \ No newline at end of file diff --git a/tools/deployment-cli-tools/ch_cli_tools/codefresh.py b/tools/deployment-cli-tools/ch_cli_tools/codefresh.py index d6b699a5..c4b7dd26 100644 --- a/tools/deployment-cli-tools/ch_cli_tools/codefresh.py +++ b/tools/deployment-cli-tools/ch_cli_tools/codefresh.py @@ -51,7 +51,7 @@ def clone_step_spec(conf: GitDependencyConfig, context_path: str): "type": "git-clone", "repo": conf.url, "revision": conf.branch_tag, - "working_directory": join(context_path, "dependencies", conf.path or os.path.basename(conf.url)), + "working_directory": join(context_path, "dependencies", conf.path or ""), "git": get_main_domain(conf.url) # Cannot really tell what's the git config name, usually the name of the repo } @@ -176,7 +176,7 @@ def codefresh_steps_from_base_path(base_path, build_step, fixed_context=None, in if app_config and app_config.dependencies and app_config.dependencies.git: for dep in app_config.dependencies.git: - steps[CD_BUILD_STEP_DEPENDENCIES]['steps'].append(clone_step_spec(dep, base_path)) + steps[CD_BUILD_STEP_DEPENDENCIES]['steps'].append(clone_step_spec(dep, dockerfile_relative_to_root)) build = None if build_step in steps: diff --git a/tools/deployment-cli-tools/ch_cli_tools/skaffold.py b/tools/deployment-cli-tools/ch_cli_tools/skaffold.py index bd2f4da4..e96d7129 100644 --- a/tools/deployment-cli-tools/ch_cli_tools/skaffold.py +++ b/tools/deployment-cli-tools/ch_cli_tools/skaffold.py @@ -12,6 +12,8 @@ from .utils import get_template, dict_merge, find_dockerfiles_paths, app_name_from_path, \ find_file_paths, guess_build_dependencies_from_dockerfile, merge_to_yaml_file, get_json_template, get_image_name +from . import HERE + def relpath_if(p1, p2): if os.path.isabs(p1): return p1 @@ -198,10 +200,10 @@ def git_clone_hook(conf: GitDependencyConfig, context_path: str): return { 'command': [ 'sh', - 'tools/clone.sh', + join(os.path.dirname(os.path.dirname(HERE)), 'clone.sh'), conf.branch_tag, conf.url, - join(context_path, "dependencies", conf.path or os.path.basename(conf.url)) + join(context_path, "dependencies", conf.path or os.path.basename(conf.url).split('.')[0]) ] } From ca90ac977fd5bcae448f755bcccb7c287d24a42b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Feb 2024 18:11:31 +0000 Subject: [PATCH 29/43] Bump fastapi Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.77.1 to 0.109.1. - [Release notes](https://github.com/tiangolo/fastapi/releases) - [Commits](https://github.com/tiangolo/fastapi/compare/0.77.1...0.109.1) --- updated-dependencies: - dependency-name: fastapi dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- .../cloudharness-fastapi/libraries/fastapi/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/infrastructure/common-images/cloudharness-fastapi/libraries/fastapi/requirements.txt b/infrastructure/common-images/cloudharness-fastapi/libraries/fastapi/requirements.txt index 0386bea4..24ea43e7 100644 --- a/infrastructure/common-images/cloudharness-fastapi/libraries/fastapi/requirements.txt +++ b/infrastructure/common-images/cloudharness-fastapi/libraries/fastapi/requirements.txt @@ -1,3 +1,3 @@ -fastapi==0.77.1 +fastapi==0.109.1 fastapi-code-generator==0.3.5 uvicorn==0.17.6 From 7a8c27606a601043fdb6b2209bf30c06364028a4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Feb 2024 18:11:32 +0000 Subject: [PATCH 30/43] Bump fastapi Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.77.1 to 0.109.1. - [Release notes](https://github.com/tiangolo/fastapi/releases) - [Commits](https://github.com/tiangolo/fastapi/compare/0.77.1...0.109.1) --- updated-dependencies: - dependency-name: fastapi dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- .../cloudharness-django/libraries/fastapi/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/infrastructure/common-images/cloudharness-django/libraries/fastapi/requirements.txt b/infrastructure/common-images/cloudharness-django/libraries/fastapi/requirements.txt index 0386bea4..24ea43e7 100644 --- a/infrastructure/common-images/cloudharness-django/libraries/fastapi/requirements.txt +++ b/infrastructure/common-images/cloudharness-django/libraries/fastapi/requirements.txt @@ -1,3 +1,3 @@ -fastapi==0.77.1 +fastapi==0.109.1 fastapi-code-generator==0.3.5 uvicorn==0.17.6 From 084da85b394abd8570dcdeb82e562e9484022c20 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Feb 2024 03:29:00 +0000 Subject: [PATCH 31/43] Bump cryptography in /libraries/cloudharness-common Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.7 to 42.0.0. - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/41.0.7...42.0.0) --- updated-dependencies: - dependency-name: cryptography dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- libraries/cloudharness-common/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/cloudharness-common/requirements.txt b/libraries/cloudharness-common/requirements.txt index e3cf698f..6450109d 100644 --- a/libraries/cloudharness-common/requirements.txt +++ b/libraries/cloudharness-common/requirements.txt @@ -5,7 +5,7 @@ certifi==2023.11.17 cffi==1.16.0 charset-normalizer==3.3.2 click==8.1.7 -cryptography==41.0.7 +cryptography==42.0.0 deprecation==2.1.0 ecdsa==0.18.0 idna==3.6 From 76b4eb04606e58e2f04fa7cf0d929b6b5f31630f Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Tue, 13 Feb 2024 18:02:04 +0100 Subject: [PATCH 32/43] CH-117 update pull request template --- .github/pull_request_template.md | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 36622e0b..89a6c7bf 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,24 +1,29 @@ -Closes # +Closes [CH-X](https://metacell.atlassian.net/browse/CH-X) -Implemented solution: ... +# Implemented solution -How to test this PR: ... +... -### Sanity checks: +# How to test this PR + +... + +# Sanity checks: - [ ] The pull request is explicitly linked to the relevant issue(s) - [ ] The issue is well described: clearly states the problem and the general proposed solution(s) -- [ ] From the issue and the current PR it is explicitly stated how to test the current change +- [ ] In this PR it is explicitly stated how to test the current change - [ ] The labels in the issue set the scope and the type of issue (bug, feature, etc.) +- [ ] The relevant components are - [ ] All the automated test checks are passing - [ ] All the linked issues are included in one milestone -- [ ] All the linked issues are in the Review/QA column of the [board](https://app.zenhub.com/workspaces/cloud-harness-5fdb203b7e195b0015a273d7/board) +- [ ] All the linked issues are in the Review state - [ ] All the linked issues are assigned -### Breaking changes (select one): +# Breaking changes (select one): - [ ] The present changes do not change the preexisting api in any way -- [ ] This PR and the issue are tagged as a `breaking-change` +- [ ] This PR and the issue are tagged as a `breaking-change` and the migration procedure is well described [above](#implemented-solution) -### Possible deployment updates issues (select one): +# Possible deployment updates issues (select one): - [ ] There is no reason why deployments based on CloudHarness may break after the current update - [ ] This PR and the issue are tagged as `alert:deployment` From 8074fca517c442324df2c93e37d91866e6b57d38 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Tue, 13 Feb 2024 18:19:35 +0100 Subject: [PATCH 33/43] CH-111 text correction --- .github/pull_request_template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 89a6c7bf..17adf63e 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -13,7 +13,7 @@ Closes [CH-X](https://metacell.atlassian.net/browse/CH-X) - [ ] The issue is well described: clearly states the problem and the general proposed solution(s) - [ ] In this PR it is explicitly stated how to test the current change - [ ] The labels in the issue set the scope and the type of issue (bug, feature, etc.) -- [ ] The relevant components are +- [ ] The relevant components are indicated in the issue (if any) - [ ] All the automated test checks are passing - [ ] All the linked issues are included in one milestone - [ ] All the linked issues are in the Review state From f4393385884d3ae4e4fea31b39e5f516e9855e73 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Tue, 13 Feb 2024 18:26:26 +0100 Subject: [PATCH 34/43] CH-111 text edit --- .github/pull_request_template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 17adf63e..aa29401c 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -15,7 +15,7 @@ Closes [CH-X](https://metacell.atlassian.net/browse/CH-X) - [ ] The labels in the issue set the scope and the type of issue (bug, feature, etc.) - [ ] The relevant components are indicated in the issue (if any) - [ ] All the automated test checks are passing -- [ ] All the linked issues are included in one milestone +- [ ] All the linked issues are included in one release - [ ] All the linked issues are in the Review state - [ ] All the linked issues are assigned From f40beb706f233202a966b392a5c23d80703956f5 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Tue, 13 Feb 2024 18:28:18 +0100 Subject: [PATCH 35/43] CH-111 text edit --- .github/pull_request_template.md | 2 +- applications/samples/dependencies/ch.git | 1 + applications/samples/dependencies/nwb-explorer.git | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) create mode 160000 applications/samples/dependencies/ch.git create mode 160000 applications/samples/dependencies/nwb-explorer.git diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index aa29401c..56a79e76 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -15,7 +15,7 @@ Closes [CH-X](https://metacell.atlassian.net/browse/CH-X) - [ ] The labels in the issue set the scope and the type of issue (bug, feature, etc.) - [ ] The relevant components are indicated in the issue (if any) - [ ] All the automated test checks are passing -- [ ] All the linked issues are included in one release +- [ ] All the linked issues are included in one Sprint - [ ] All the linked issues are in the Review state - [ ] All the linked issues are assigned diff --git a/applications/samples/dependencies/ch.git b/applications/samples/dependencies/ch.git new file mode 160000 index 00000000..c460baac --- /dev/null +++ b/applications/samples/dependencies/ch.git @@ -0,0 +1 @@ +Subproject commit c460baac095e79f6136638a5c7d5c5a15822c9c2 diff --git a/applications/samples/dependencies/nwb-explorer.git b/applications/samples/dependencies/nwb-explorer.git new file mode 160000 index 00000000..afd99960 --- /dev/null +++ b/applications/samples/dependencies/nwb-explorer.git @@ -0,0 +1 @@ +Subproject commit afd999603398a5f9d327ef87d6840c1ad181591f From 01673c300c5445a1bb7c835d0e76da43dc3bad01 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Feb 2024 17:30:12 +0000 Subject: [PATCH 36/43] Bump axios from 0.21.4 to 1.6.0 in /applications/samples/frontend Bumps [axios](https://github.com/axios/axios) from 0.21.4 to 1.6.0. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v0.21.4...v1.6.0) --- updated-dependencies: - dependency-name: axios dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- applications/samples/frontend/package.json | 2 +- applications/samples/frontend/yarn.lock | 47 ++++++++++++++++++---- 2 files changed, 41 insertions(+), 8 deletions(-) diff --git a/applications/samples/frontend/package.json b/applications/samples/frontend/package.json index 359eec27..2ebb4f2c 100644 --- a/applications/samples/frontend/package.json +++ b/applications/samples/frontend/package.json @@ -16,7 +16,7 @@ "author": "", "license": "MIT", "dependencies": { - "axios": "^0.21.1", + "axios": "^1.6.0", "react": "^16.12.0", "react-dom": "^16.12.0", "react-router": "^5.0.0", diff --git a/applications/samples/frontend/yarn.lock b/applications/samples/frontend/yarn.lock index 06a9b00c..44bbec56 100644 --- a/applications/samples/frontend/yarn.lock +++ b/applications/samples/frontend/yarn.lock @@ -1750,17 +1750,24 @@ asynciterator.prototype@^1.0.0: dependencies: has-symbols "^1.0.3" +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== + available-typed-arrays@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== -axios@^0.21.1: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== +axios@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.0.tgz#f1e5292f26b2fd5c2e66876adc5b06cdbd7d2102" + integrity sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg== dependencies: - follow-redirects "^1.14.0" + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" babel-eslint@^10.1.0: version "10.1.0" @@ -2424,6 +2431,13 @@ colorette@^2.0.10, colorette@^2.0.14: resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== +combined-stream@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + commander@2.17.x: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" @@ -2779,6 +2793,11 @@ del@^4.1.1: pify "^4.0.1" rimraf "^2.6.3" +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== + depd@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" @@ -3614,7 +3633,7 @@ flatted@^2.0.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== -follow-redirects@^1.0.0, follow-redirects@^1.14.0: +follow-redirects@^1.0.0, follow-redirects@^1.15.0: version "1.15.5" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== @@ -3626,6 +3645,15 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + forwarded@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" @@ -4993,7 +5021,7 @@ mime-db@1.52.0, "mime-db@>= 1.43.0 < 2", mime-db@^1.28.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -5755,6 +5783,11 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" From af1b7dcc4cb26d9b2ec6d1ca3e0cd1802c53d368 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 14 Feb 2024 17:30:17 +0000 Subject: [PATCH 37/43] Bump fonttools from 4.38.0 to 4.43.0 in /libraries/models Bumps [fonttools](https://github.com/fonttools/fonttools) from 4.38.0 to 4.43.0. - [Release notes](https://github.com/fonttools/fonttools/releases) - [Changelog](https://github.com/fonttools/fonttools/blob/main/NEWS.rst) - [Commits](https://github.com/fonttools/fonttools/compare/4.38.0...4.43.0) --- updated-dependencies: - dependency-name: fonttools dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- libraries/models/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/models/requirements.txt b/libraries/models/requirements.txt index a7ebe665..183e9115 100644 --- a/libraries/models/requirements.txt +++ b/libraries/models/requirements.txt @@ -1,4 +1,4 @@ -fonttools==4.38.0 +fonttools==4.43.0 Jinja2==3.1.3 MarkupSafe==2.1.3 oyaml==1.0 From b81182de44d26b6ec4695c09881eb617b2ee9309 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Mon, 19 Feb 2024 16:07:38 +0100 Subject: [PATCH 38/43] CH-122 fix stage template --- deployment-configuration/codefresh-template-stage.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment-configuration/codefresh-template-stage.yaml b/deployment-configuration/codefresh-template-stage.yaml index ae6725b2..a585a269 100644 --- a/deployment-configuration/codefresh-template-stage.yaml +++ b/deployment-configuration/codefresh-template-stage.yaml @@ -30,7 +30,7 @@ steps: working_directory: . commands: - bash cloud-harness/install.sh - - harness-deployment . cloud-harness -t $INCLUDE -n ${{NAMESPACE}} -t ${{DEPLOYMENT_TAG}} -d ${{DOMAIN}} -r ${{REGISTRY}} -rs ${{REGISTRY_SECRET}} -e $ENV -N + - harness-deployment $PATHS -t ${{DEPLOYMENT_TAG}} -d ${{DOMAIN}} -r ${{REGISTRY}} -rs ${{REGISTRY_SECRET}} -n ${{NAMESPACE}} -e $ENV $PARAMS prepare_deployment_view: commands: - 'helm template ./deployment/helm --debug -n ${{NAMESPACE}}' From 7ba9d364e1da83cd74453c96f311459191afcae8 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Mon, 4 Mar 2024 19:02:24 +0100 Subject: [PATCH 39/43] CH-123 add parameters to Sentry init --- .../cloudharness/sentry/__init__.py | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/libraries/cloudharness-common/cloudharness/sentry/__init__.py b/libraries/cloudharness-common/cloudharness/sentry/__init__.py index 98d262c5..fd1b3e5a 100644 --- a/libraries/cloudharness-common/cloudharness/sentry/__init__.py +++ b/libraries/cloudharness-common/cloudharness/sentry/__init__.py @@ -2,6 +2,7 @@ import requests from cloudharness.utils.env import get_common_service_cluster_address +from cloudharness.applications import get_current_configuration sentry_environment = os.environ.get("DOMAIN", "Production") @@ -29,32 +30,39 @@ def get_dsn(appname): else: return None -def init(appname, traces_sample_rate=0): +def init(appname=None, traces_sample_rate=0, integrations=None, **kwargs): """ Init cloudharness Sentry functionality for the current app Args: appname: the slug of the application - traces_sample_rate: performance trace sample rate + others/kwargs: additional parameters for sentry_sdk.init + Usage examples: import cloudharness.sentry as sentry sentry.init('notifications') """ + if appname is None: + appname = get_current_configuration().harness.name + dsn = get_dsn(appname) + if dsn: import sentry_sdk - try: - from flask import current_app as app - from sentry_sdk.integrations.flask import FlaskIntegration - integrations = [FlaskIntegration()] - except: - integrations = [] + if not integrations: + try: + from flask import current_app as app + from sentry_sdk.integrations.flask import FlaskIntegration + integrations = [FlaskIntegration()] + except: + integrations = [] sentry_sdk.init( dsn=dsn, - traces_sample_rate=traces_sample_rate, environment=sentry_environment, - integrations=integrations + integrations=integrations, + traces_sample_rate=traces_sample_rate, + **kwargs ) __all__ = ['get_dsn', 'init'] From 99715741e3179da15956ea6ec1d6384943f662aa Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Wed, 20 Mar 2024 10:44:18 +0100 Subject: [PATCH 40/43] CH-124 add forwarded headers configuration --- deployment-configuration/helm/templates/ingress.yaml | 1 + deployment-configuration/helm/values.yaml | 2 ++ 2 files changed, 3 insertions(+) diff --git a/deployment-configuration/helm/templates/ingress.yaml b/deployment-configuration/helm/templates/ingress.yaml index 38b568a2..276d999c 100644 --- a/deployment-configuration/helm/templates/ingress.yaml +++ b/deployment-configuration/helm/templates/ingress.yaml @@ -45,6 +45,7 @@ metadata: nginx.ingress.kubernetes.io/auth-keepalive-timeout: {{ .Values.proxy.timeout.keepalive | quote }} nginx.ingress.kubernetes.io/proxy-read-timeout: {{ .Values.proxy.timeout.read | quote }} nginx.ingress.kubernetes.io/proxy-send-timeout: {{ .Values.proxy.timeout.send | quote }} + nginx.ingress.kubernetes.io/use-forwarded-headers: {{ .Values.proxy.forwardedHeaders | quote }} spec: rules: {{- range $app := .Values.apps }} diff --git a/deployment-configuration/helm/values.yaml b/deployment-configuration/helm/values.yaml index 434dcac7..bb01409e 100644 --- a/deployment-configuration/helm/values.yaml +++ b/deployment-configuration/helm/values.yaml @@ -68,6 +68,8 @@ backup: # -- K8s cpu resource definition. cpu: "50m" proxy: + # -- Set to false to hide remote client headers + forwardedHeaders: true timeout: # -- Timeout for proxy connections in seconds. send: 60 From 170feed5058b556258bd0775ab7f36ee0fc23184 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Wed, 20 Mar 2024 10:51:36 +0100 Subject: [PATCH 41/43] CH-124 update docs --- deployment-configuration/helm/values.yaml | 2 +- docs/ingress-domains-proxies.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/deployment-configuration/helm/values.yaml b/deployment-configuration/helm/values.yaml index bb01409e..59fd7a67 100644 --- a/deployment-configuration/helm/values.yaml +++ b/deployment-configuration/helm/values.yaml @@ -68,7 +68,7 @@ backup: # -- K8s cpu resource definition. cpu: "50m" proxy: - # -- Set to false to hide remote client headers + # -- Set to false to hide remote client headers. Will hide the client IPs in all logs forwardedHeaders: true timeout: # -- Timeout for proxy connections in seconds. diff --git a/docs/ingress-domains-proxies.md b/docs/ingress-domains-proxies.md index 49903818..08b86f5c 100644 --- a/docs/ingress-domains-proxies.md +++ b/docs/ingress-domains-proxies.md @@ -53,6 +53,8 @@ To configure it, override the following values in your `deployment-configuration ```yaml proxy: + # -- Set to false to hide remote client headers. Will hide the client IPs in all logs + forwardedHeaders: true timeout: # -- Timeout for proxy connections in seconds. send: 60 From 9dbcd2e1b22a731d73dd9490e9170ff271f30bf6 Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Wed, 20 Mar 2024 11:00:43 +0100 Subject: [PATCH 42/43] CH-122 stage template test fixes --- .../codefresh-template-stage.yaml | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/deployment-configuration/codefresh-template-stage.yaml b/deployment-configuration/codefresh-template-stage.yaml index a585a269..7a1ff574 100644 --- a/deployment-configuration/codefresh-template-stage.yaml +++ b/deployment-configuration/codefresh-template-stage.yaml @@ -1,7 +1,9 @@ version: '1.0' stages: - prepare + - build - deploy + - qa - publish steps: main_clone: @@ -30,7 +32,7 @@ steps: working_directory: . commands: - bash cloud-harness/install.sh - - harness-deployment $PATHS -t ${{DEPLOYMENT_TAG}} -d ${{DOMAIN}} -r ${{REGISTRY}} -rs ${{REGISTRY_SECRET}} -n ${{NAMESPACE}} -e $ENV $PARAMS + - harness-deployment $PATHS -t ${{DEPLOYMENT_TAG}} -d ${{DOMAIN}} -r ${{REGISTRY}} -rs ${{REGISTRY_SECRET}} -n ${{NAMESPACE}} -e $ENV $PARAMS prepare_deployment_view: commands: - 'helm template ./deployment/helm --debug -n ${{NAMESPACE}}' @@ -55,29 +57,48 @@ steps: cmd_ps: --wait --timeout 600s --create-namespace custom_value_files: - ./deployment/helm/values.yaml + build_test_images: + title: Build test images + type: parallel + stage: qa + steps: [] + when: + condition: + all: + whenVarExists: 'includes("${{SKIP_TESTS}}", "{{SKIP_TESTS}}") == true' wait_deployment: stage: qa title: Wait deployment to be ready image: codefresh/kubectl commands: - kubectl config use-context ${{CLUSTER_NAME}} - - kubectl config set-context --current --namespace=test-${{CF_REPO_NAME}}-${{CF_SHORT_REVISION}} + - kubectl config set-context --current --namespace=${{NAMESPACE}} tests_api: stage: qa title: Api tests working_directory: /home/test - image: "${{api-jest}}" + image: "${{test-api}}" + fail_fast: false commands: - echo $APP_NAME scale: {} + when: + condition: + all: + whenVarExists: 'includes("${{SKIP_TESTS}}", "{{SKIP_TESTS}}") == true' tests_e2e: stage: qa title: End to end tests working_directory: /home/test - image: "${{jest-puppeteer}}" + image: "${{test-e2e}}" + fail_fast: false commands: - yarn test scale: {} + when: + condition: + all: + whenVarExists: 'includes("${{SKIP_TESTS}}", "{{SKIP_TESTS}}") == true' manual_tests: type: pending-approval stage: publish From 48181584a1c93a46a5f25bd8d4b05d5f01e30c1d Mon Sep 17 00:00:00 2001 From: Filippo Ledda Date: Wed, 20 Mar 2024 12:27:34 +0100 Subject: [PATCH 43/43] chore: update version numbers --- applications/common/server/setup.py | 2 +- applications/notifications/server/setup.py | 2 +- applications/samples/backend/setup.py | 2 +- applications/samples/dependencies/ch.git | 1 - applications/samples/dependencies/nwb-explorer.git | 1 - applications/volumemanager/server/setup.py | 2 +- applications/workflows/server/setup.py | 2 +- libraries/client/cloudharness_cli/setup.py | 2 +- libraries/cloudharness-common/setup.py | 2 +- libraries/cloudharness-utils/setup.py | 2 +- libraries/models/setup.py | 2 +- tools/cloudharness-test/setup.py | 2 +- tools/deployment-cli-tools/setup.py | 2 +- 13 files changed, 11 insertions(+), 13 deletions(-) delete mode 160000 applications/samples/dependencies/ch.git delete mode 160000 applications/samples/dependencies/nwb-explorer.git diff --git a/applications/common/server/setup.py b/applications/common/server/setup.py index 29d7afcd..007ca859 100644 --- a/applications/common/server/setup.py +++ b/applications/common/server/setup.py @@ -4,7 +4,7 @@ from setuptools import setup, find_packages NAME = "openapi_server" -VERSION = "1.0.0" +VERSION = "2.3.0" # To install the library, run the following # diff --git a/applications/notifications/server/setup.py b/applications/notifications/server/setup.py index 885389cf..cccc107f 100644 --- a/applications/notifications/server/setup.py +++ b/applications/notifications/server/setup.py @@ -4,7 +4,7 @@ from setuptools import setup, find_packages NAME = "notifications" -VERSION = "1.0.0" +VERSION = "2.3.0" # To install the library, run the following # diff --git a/applications/samples/backend/setup.py b/applications/samples/backend/setup.py index 04b9bc8b..471cf86b 100644 --- a/applications/samples/backend/setup.py +++ b/applications/samples/backend/setup.py @@ -4,7 +4,7 @@ from setuptools import setup, find_packages NAME = "samples" -VERSION = "1.0.0" +VERSION = "2.3.0" # To install the library, run the following # diff --git a/applications/samples/dependencies/ch.git b/applications/samples/dependencies/ch.git deleted file mode 160000 index c460baac..00000000 --- a/applications/samples/dependencies/ch.git +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c460baac095e79f6136638a5c7d5c5a15822c9c2 diff --git a/applications/samples/dependencies/nwb-explorer.git b/applications/samples/dependencies/nwb-explorer.git deleted file mode 160000 index afd99960..00000000 --- a/applications/samples/dependencies/nwb-explorer.git +++ /dev/null @@ -1 +0,0 @@ -Subproject commit afd999603398a5f9d327ef87d6840c1ad181591f diff --git a/applications/volumemanager/server/setup.py b/applications/volumemanager/server/setup.py index efe2a815..5efc5693 100644 --- a/applications/volumemanager/server/setup.py +++ b/applications/volumemanager/server/setup.py @@ -4,7 +4,7 @@ from setuptools import setup, find_packages NAME = "volumemanager" -VERSION = "1.0.0" +VERSION = "2.3.0" # To install the library, run the following # diff --git a/applications/workflows/server/setup.py b/applications/workflows/server/setup.py index 9bd6a02e..796a4812 100644 --- a/applications/workflows/server/setup.py +++ b/applications/workflows/server/setup.py @@ -4,7 +4,7 @@ from setuptools import setup, find_packages NAME = "workflows_api" -VERSION = "1.0.0" +VERSION = "2.3.0" # To install the library, run the following # diff --git a/libraries/client/cloudharness_cli/setup.py b/libraries/client/cloudharness_cli/setup.py index 516450bc..890b95c2 100644 --- a/libraries/client/cloudharness_cli/setup.py +++ b/libraries/client/cloudharness_cli/setup.py @@ -12,7 +12,7 @@ from setuptools import setup, find_packages # noqa: H301 NAME = "cloudharness-cli" -VERSION = "2.0.0" +VERSION = "2.3.0" # To install the library, run the following # # python setup.py install diff --git a/libraries/cloudharness-common/setup.py b/libraries/cloudharness-common/setup.py index b07f056b..d3bee95c 100644 --- a/libraries/cloudharness-common/setup.py +++ b/libraries/cloudharness-common/setup.py @@ -3,7 +3,7 @@ NAME = "cloudharness" -VERSION = "2.1.0" +VERSION = "2.3.0" # To install the library, run the following # # python setup.py install diff --git a/libraries/cloudharness-utils/setup.py b/libraries/cloudharness-utils/setup.py index accab329..38b81ff8 100644 --- a/libraries/cloudharness-utils/setup.py +++ b/libraries/cloudharness-utils/setup.py @@ -11,7 +11,7 @@ NAME = "cloudharness_utils" -VERSION = "2.0.0" +VERSION = "2.3.0" # To install the library, run the following # # python setup.py install diff --git a/libraries/models/setup.py b/libraries/models/setup.py index 82ef5a48..264ae235 100644 --- a/libraries/models/setup.py +++ b/libraries/models/setup.py @@ -8,7 +8,7 @@ HERE = dn(realpath(__file__)) NAME = "cloudharness_model" -VERSION = "1.0.0" +VERSION = "2.3.0" REQUIREMENTS = [ "swagger-ui-bundle >= 0.0.2", "python_dateutil >= 2.6.0", diff --git a/tools/cloudharness-test/setup.py b/tools/cloudharness-test/setup.py index dad49888..acb76ab4 100644 --- a/tools/cloudharness-test/setup.py +++ b/tools/cloudharness-test/setup.py @@ -12,7 +12,7 @@ NAME = "cloudharness-test" -VERSION = "2.0.0" +VERSION = "2.3.0" # To install the library, run the following # # python setup.py install diff --git a/tools/deployment-cli-tools/setup.py b/tools/deployment-cli-tools/setup.py index 15fb7f01..92814c43 100644 --- a/tools/deployment-cli-tools/setup.py +++ b/tools/deployment-cli-tools/setup.py @@ -12,7 +12,7 @@ NAME = "cloudharness-cli-tools" -VERSION = "2.0.0" +VERSION = "2.3.0" # To install the library, run the following # # python setup.py install