From 4cdce8662c5c2edde48eb10454d6c6330e6a85d9 Mon Sep 17 00:00:00 2001 From: achmelo <37397715+achmelo@users.noreply.github.com> Date: Wed, 23 Oct 2024 09:30:31 +0200 Subject: [PATCH 001/101] guide for the java sample client certificate authentication (#3961) * guide for the java sample application Signed-off-by: ac892247 * language refactor Signed-off-by: Andrew Jandacek * add minimum jdk version Signed-off-by: ac892247 * *newer Signed-off-by: ac892247 --------- Signed-off-by: ac892247 Signed-off-by: Andrew Jandacek Co-authored-by: Andrew Jandacek --- .../authenticating-with-client-certificates.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/user-guide/authenticating-with-client-certificates.md b/docs/user-guide/authenticating-with-client-certificates.md index b1a1d5d2bd..a9d6b64a4e 100644 --- a/docs/user-guide/authenticating-with-client-certificates.md +++ b/docs/user-guide/authenticating-with-client-certificates.md @@ -84,3 +84,18 @@ curl --cert /path/to/cert.pem --key /path/to/key.pem https://api-mediation-layer ``` Your Zowe instance is configured to accept x.509 client certificates authentication. +**Java sample application** + +**Note:** This code sample requires JDK 17 or newer. + +You can find a [Java sample application](https://github.com/zowe/api-layer/blob/v3.x.x/client-cert-auth-sample/src/main/java/org/zowe/apiml/Main.java) in the Zowe API Layer repository. This sample can help you get started with client certificate authentication. + +Replace the following placeholder values in the sample application with your actual configuration: + +```text + API_URL - URL that points to your API ML instance + CLIENT_CERT_PATH - PKCS12 keystore that contains your client certificate + CLIENT_CERT_PASSWORD - keystore password + CLIENT_CERT_ALIAS - client certificate alias + PRIVATE_KEY_ALIAS - client certificate private key alias - usualy is the same value +``` \ No newline at end of file From 9361731bfcc462f0a979865ca5ca1a637457e70e Mon Sep 17 00:00:00 2001 From: Pablo Carle Date: Wed, 23 Oct 2024 17:36:02 +0200 Subject: [PATCH 002/101] Update AT-TLS configuration articles (#3897) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --------- Signed-off-by: Pablo Hernán Carle Signed-off-by: Andrew Jandacek Co-authored-by: Pablo Hernán Carle Co-authored-by: Andrew Jandacek --- .../api-mediation/configuration-at-tls.md | 329 --------- docs/user-guide/at-tls-configuration.md | 686 +++++++++++++++++- sidebars.js | 23 +- 3 files changed, 688 insertions(+), 350 deletions(-) delete mode 100644 docs/user-guide/api-mediation/configuration-at-tls.md diff --git a/docs/user-guide/api-mediation/configuration-at-tls.md b/docs/user-guide/api-mediation/configuration-at-tls.md deleted file mode 100644 index 48131622ac..0000000000 --- a/docs/user-guide/api-mediation/configuration-at-tls.md +++ /dev/null @@ -1,329 +0,0 @@ -# Configuring AT-TLS for API Mediation Layer - -Review this article for descriptions of the configuration parameters required to make Zowe API Mediation Layer work with AT-TLS, including AT-TLS inbound and outbound rules, using AT-TLS in high availability, and troubleshooting. Security recommendations are also provided. - -:::info Role: security administrator -::: - -- [AT-TLS configuration for Zowe](#at-tls-configuration-for-zowe) -- [AT-TLS rules](#at-tls-rules) - - [Inbound rules](#inbound-rules) - - [Outbound rules](#outbound-rules) - - [For z/OSMF](#for-zosmf) - - [For communication between API Gateway and other core services](#for-communication-between-api-gateway-and-other-core-services) - - [For communication between API Gateway and southbound services](#for-communication-between-api-gateway-and-southbound-services) - - [Ciphers](#ciphers) -- [Using AT-TLS for API ML in High Availability](#using-at-tls-for-api-ml-in-high-availability) -- [AT-TLS Troubleshooting](#at-tls-troubleshooting) - -## AT-TLS configuration for Zowe - -:::tip -Support for AT-TLS was introduced in Zowe v1.24. In this early version, startup was not possible in some versions of Zowe. For full support, we recommend that you upgrade to v2.13 or a later version of Zowe. -::: - -Follow these steps to configure Zowe to support AT-TLS: - -1. Enable the AT-TLS profile and disable the TLS application in API ML. -Update `zowe.yaml` with the following values under `gateway`, `discovery`, `api-catalog`, `caching-service` and `metrics-service` in the `zowe.components` section. - -**Example:** - -```yaml -zowe: - components: - gateway: - spring: - profiles: - active: attls - server: - ssl: - enabled: false - internal: - ssl: - enabled: false - discovery: - spring: - profiles: - active: attls - server: - ssl: - enabled: false - api-catalog: - spring: - profiles: - active: attls - server: - ssl: - enabled: false - caching-service: - spring: - profiles: - active: attls - server: - ssl: - enabled: false - metrics-service: - spring: - profiles: - active: attls - server: - ssl: - enabled: false -``` - -While API ML does not handle TLS on its own with AT-TLS enabled, API ML requires information about the server certificate that is defined in the AT-TLS rule. Ensure that the server certificates provided by the AT-TLS layer are trusted in the configured Zowe keyring. Ideally, AT-TLS should be configured with the same Zowe keyring. - -If there is an outbound AT-TLS rule configured for the link between the API Gateway and z/OSMF, set the `zowe.zOSMF.scheme` property to `http`. - -:::note Notes -* AT-TLS is supported in the API Cloud Gateway Mediation Layer component beginning with version 2.17. - -* As the Gateway is a core component of API ML, other components that need to interact with the Gateway, such as Zowe ZLUX App Server, also require AT-TLS configuration. -::: - -:::caution Important security consideration - -Configuring AT-TLS for the Zowe API Mediation Layer requires careful consideration of security settings. These security settings apply to the Client Certificate authentication feature in Zowe API Mediation Layer components, as well as for onboarded services that support the x.509 client certificates authentication scheme. - -Outbound AT-TLS rules (i.e. to make a transparent https call through http) that are configured to send the server certificate should be limited to the services that __require__ service to service authentication. If an API ML-onboarded southbound service needs to support x.509 client certificate authentication, we recommend to use the integrated TLS handshake capabilities of API ML. Do not configure an outbound AT-TLS rule for these services. - -The Discovery Service endpoints are not reachable by standard API Gateway routing by default. -::: - -## AT-TLS rules - -This section describes suggested AT-TLS settings, and serves as guidelines to set your AT-TLS rules. - -### Inbound rules - -A generic inbound rule can be set for all core API Mediation Layer services: - -```pagent -TTLSRule ApimlServerRule -{ - LocalAddr All - RemoteAddr All - LocalPortRange 7551-7555 - Jobname ZWE* - Direction Inbound - TTLSGroupActionRef ServerGroupAction - TTLSEnvironmentActionRef ApimlServerEnvironmentAction - TTLSConnectionActionRef ApimlServerConnectionAction -} - -TTLSGroupAction ServerGroupAction -{ - TTLSEnabled On -} - -TTLSEnvironmentAction ApimlServerEnvironmentAction -{ - HandshakeRole ServerWithClientAuth - EnvironmentUserInstance 0 - TTLSEnvironmentAdvancedParmsRef ServerEnvironmentAdvParms - TTLSKeyringParmsRef ApimlKeyring -} - -TTLSConnectionAction ApimlServerConnectionAction -{ - HandshakeRole ServerWithClientAuth - TTLSCipherParmsRef CipherParms - TTLSConnectionAdvancedParmsRef ApimlConnectionAdvParms -} -``` - -The `PortRange` of this inbound rule is taken from the list of API Mediation Layer components in the `zowe.yaml` file. The `PortRange` should cover the following components: - -| Component | Port | -|----|-----------------------| -| Gateway | default port 7554 | -| Discovery | default port 7553 | -|Caching Service | 7555 | -|API Catalog | default port 7552 | -| Metrics Service | default port 7551 | - -**Follow this step:** - -Replace `ApimlKeyring` with the keyring configured for your installation. Follow [the SAF keyring instructions](../../getting-started/zowe-certificates-overview.md#saf-keyring) in the article _Zowe Certificates overview_ to configure keyrings for your Zowe instance. - -Note the setting `HandshakeRole`. This setting applies to core services which authenticate through certificates with each other. This setting allows the API Gateway to receive and accept X.509 client certificates from API Clients. - -### Outbound rules - -#### For z/OSMF - -```pagent -TTLSRule ApimlZosmfClientRule -{ - LocalAddr All - LocalPortRange 1024-65535 - RemoteAddr All - RemotePortRange 449 - Jobname ZWE1AG* - Direction Outbound - TTLSGroupActionRef ClientGroupAction - TTLSEnvironmentActionRef ApimlClientEnvironmentAction - TTLSConnectionActionRef ApimlNoX509ClientConnAction -} - -TTLSGroupAction ClientGroupAction -{ - TTLSEnabled ON -} - -TTLSEnvironmentAction ApimlClientEnvironmentAction -{ - HandshakeRole Client - TTLSKeyringParmsRef ApimlKeyring - TTLSCipherParmsRef CipherParms - TTLSEnvironmentAdvancedParmsRef ClientEnvironmentAdvParms -} -``` - -:::note -`Jobname` is defined explicitly for the API Gateway and is formed with the `zowe.job.prefix` setting from `zowe.yaml` plus `AG` as the Gateway identifier. -::: - -#### For communication between API Gateway and other core services - -```pagent -TTLSRule ApimlClientRule -{ - LocalAddr All - LocalPortRange 1024-65535 - RemoteAddr All - RemotePortRange 7551-7555 - Jobname ZWE1A* - Direction Outbound - TTLSGroupActionRef ClientGroupAction - TTLSEnvironmentActionRef ApimlClientEnvironmentAction - TTLSConnectionActionRef ApimlX509ClientConnAction -} - -TTLSConnectionAction ApimlX509ClientConnAction -{ - HandshakeRole Client - TTLSCipherParmsRef CipherParms - TTLSConnectionAdvancedParmsRef ApimlClientX509ConnAdvParms -} - -TTLSConnectionAdvancedParms ApimlClientX509ConnAdvParms -{ - ApplicationControlled Off - CertificateLabel Zowe Server - SecondaryMap Off -} -``` - -#### For communication between API Gateway and southbound services - -```pagent -TTLSRule ApimlServiceClientRule -{ - LocalAddr All - LocalPortRange 1024-65535 - RemoteAddr All - RemotePortRange 40030 - Jobname ZWE1AG* - Direction Outbound - TTLSGroupActionRef ClientGroupAction - TTLSEnvironmentActionRef ApimlClientEnvironmentAction - TTLSConnectionActionRef ApimlNoX509ClientConnAction -} - -TTLSConnectionAction ApimlNoX509ClientConnAction -{ - HandshakeRole Client - TTLSCipherParmsRef CipherParms - TTLSConnectionAdvancedParmsRef ApimlClientNoX509ConnAdvParms -} - -TTLSConnectionAdvancedParms ApimlClientNoX509ConnAdvParms -{ - ApplicationControlled Off - SecondaryMap Off -} -``` -:::important -- The outbound connection from the Gateway Service to the Discovery Service must be configured without a `CertificateLabel`. Ensure that the certificate label is not included to avoid sending the certificate in case routing would be possible to the Discovery Service. Note that this route is disabled by default. - -- Outbound connections from the Gateway to southbound services (onboarded services) must not send the server certificate if the service accepts x.509 Client Certificate authentication. If the server certificate is sent, it is the server user who would be authenticated. -::: - -### Ciphers - -:::note -This list of ciphers is provided as an example only. Actual ciphers should be customized according to your specific configuration. -::: - -The list of supported ciphers should be constructed according to the TLS supported versions. -Ensure that the cipher list has matches with non-AT-TLS-aware clients. - -```pagent -TTLSCipherParms CipherParms -{ - V2CipherSuites TLS_RC4_128_WITH_MD5 - V2CipherSuites TLS_RC4_128_EXPORT40_WITH_MD5 - V2CipherSuites TLS_RC2_CBC_128_CBC_WITH_MD5 - V2CipherSuites TLS_RC2_CBC_128_CBC_EXPORT40_WITH_MD5 - V2CipherSuites TLS_RC2_CBC_128_CBC_EXPORT40_WITH_MD5 - V2CipherSuites TLS_DES_192_EDE3_CBC_WITH_MD5 - V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 - V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 - V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 - V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 - V3CipherSuites TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - V3CipherSuites TLS_AES_128_GCM_SHA256 - V3CipherSuites TLS_AES_256_GCM_SHA384 - V3CipherSuites TLS_CHACHA20_POLY1305_SHA256 -} -``` - -## Using AT-TLS for API ML in High Availability - -AT-TLS settings for a Zowe API Mediation Layer installation configured in High Availability mode do not differ extensively. Changes need to be made to the previously described rules to allow for cross-lpar communication: - -Ensure that the `RemoteAddr` setting in the rules accounts for the following connections: - -- Discovery Service to Discovery Service. This is the replica request. -- Gateway Service to southbound services running in another LPAR. -- Southbound services to Discovery Service. This applies during onboarding. - -## Multi-tenancy deployment - -For specific scenario when Central API ML is running on z/OS with AT-TLS enabled, it is important to override protocol for external URL. This information is used by the Central API ML to call domain API ML and it needs to reflect outbound AT-TLS rule. In this case, update your domain API ML configuration as follows: - -``` -zowe: - components: - gateway: - apiml: - gateway: - externalProtocol: http -``` - -## AT-TLS Troubleshooting - -This section describes some common issues when using AT-TLS with API ML and how to resolve these issues. - -### The message `This combination of port requires SSL` is thrown - -Make sure the URL starts with `https://`. This message indicates that AT-TLS rules are in place and it is trying to connect on port 80 to the API Gateway, however the latter is still only listening on the secure port 443. - -**Solution:** -Review settings in the API Gateway. Ensure that the changes described in [AT-TLS configuration for Zowe](#at-tls-configuration-for-zowe) are applied. - -### AT-TLS rules are not applied - -If the application is responding in http, the application may not be properly configured to support http-only calls. AT-TLS is not correctly configured. - -**Solution:** -Ensure the rules are active and that the filters on port range and job names are properly set. - -### Non matching ciphers - -An error can occur if the [list of ciphers](#ciphers) does not match between the ones configured in the AT-TLS rules and the ones used by non AT-TLS-aware clients. - -**Solution:** -Review the supported TLS versions and ciphers used in both the client and the server. diff --git a/docs/user-guide/at-tls-configuration.md b/docs/user-guide/at-tls-configuration.md index ab36c09d92..3878fa1d7f 100644 --- a/docs/user-guide/at-tls-configuration.md +++ b/docs/user-guide/at-tls-configuration.md @@ -1,23 +1,691 @@ -# Enabling AT-TLS across your Zowe environment + + +# Configuring AT-TLS for Zowe Server -The communication server on z/OS provides functionality to encrypt HTTP communication for on-platform jobs. This functionality is referred to as Application Transparent Transport Layer Security (AT-TLS). +You can configure parameters in the Zowe server to enable Zowe to work with AT-TLS. Review this article for information about AT-TLS inbound and outbound rules, and the required configuration to use AT-TLS in high availability. You can also find troubleshooting tips as well as security recommendations. -:::info Required roles: security administrator +:::info Role: security administrator ::: -## Configuration Parameters +- [AT-TLS configuration for Zowe](#at-tls-configuration-for-zowe) + - [Limitations](#limitations) +- [AT-TLS rules](#at-tls-rules) + - [Inbound rules](#inbound-rules) + - [Outbound rules](#outbound-rules) + - [For z/OSMF](#for-zosmf) + - [For communication between API Gateway and other core services](#for-communication-between-api-gateway-and-other-core-services) + - [For communication between API Gateway and southbound services](#for-communication-between-api-gateway-and-southbound-services) + - [Services that validate tokens against the API Mediation Layer](#services-that-validate-tokens-against-the-api-mediation-layer) + - [Ciphers](#ciphers) +- [Using AT-TLS for API ML in High Availability](#using-at-tls-for-api-ml-in-high-availability) +- [Multi-tenancy deployment](#multi-tenancy-deployment) +- [AT-TLS Troubleshooting](#at-tls-troubleshooting) + - [The message `This combination of port requires SSL` is thrown when accesing an API ML service through a Browser](#the-message-this-combination-of-port-requires-ssl-is-thrown-when-accesing-an-api-ml-service-through-a-browser) + - [AT-TLS rules are not applied](#at-tls-rules-are-not-applied) + - [Non matching ciphers / protocols](#non-matching-ciphers--protocols) + - [Additional troubleshooting](#additional-troubleshooting) +- [Full example of AT-TLS configuration](#full-example-of-at-tls-configuration) +- [Additional Zowe feature configuration with AT-TLS](#additional-zowe-feature-configuration-with-at-tls) + +## AT-TLS configuration for Zowe + +Follow these steps to configure Zowe to support AT-TLS: -To enable AT-TLS for Zowe components, configure the following parameters: ```yaml zowe: network: + # For inbound traffic rules: server: tls: attls: true + # If outbound traffic rules will be configured: + client: + tls: + attls: true +``` + +While the Zowe Server components do not handle TLS on its own with AT-TLS enabled, the API Mediation Layer (API ML) requires information about the server certificate that is defined in the AT-TLS rule. Ensure that the server certificates provided by the AT-TLS layer are trusted in the configured Zowe keyring. We strongly recommend that AT-TLS be configured with the same Zowe keyring. + +:::note Notes + +- As the API ML Gateway is a core component of API ML, other components that need to interact with the Gateway, such as Zowe ZLUX App Server, also require AT-TLS configuration. + +- Do not set `attls: true` together with `minTls` or `maxTls`. Zowe does not handle TLS in AT-TLS aware mode. + +::: + +:::caution Important security consideration + +Configuring AT-TLS for Zowe requires careful consideration of security settings. These security settings apply to the Client Certificate authentication feature in Zowe API Mediation Layer components, as well as for onboarded services that support the x.509 client certificates authentication scheme. + +Outbound AT-TLS rules (i.e. to make a transparent https call through http) that are configured to send the server certificate should be limited to the services that __require__ service to service authentication. If an API ML-onboarded southbound service needs to support X.509 client certificate authentication, we recommend to use the integrated TLS handshake capabilities of API ML. Do not configure an outbound AT-TLS rule for these services. + +The Discovery Service endpoints are not reachable by standard API Gateway routing by default. + +Zowe v3 includes a new component named ZAAS (Zowe Authentication and Authorization Service). In AT-TLS-aware mode, calls to this service are all internal between API ML components. These must include the X.509 Client Certificate. +::: + +### Limitations + +If using AT-TLS with a z/OS Keyring backed by an ICSF hardware module, the only supported configuration is Zowe with z/OSMF authentication provider in JWT mode. +A LTPA token and SAF provider cannot be used in this configuration because API ML cannot access the hardware key to sign its own tokens. +Personal Access Tokens (PAT) are not supported in this configuration because API ML cannot access the hardware key to sign the tokens. + +## AT-TLS rules + +This section describes suggested AT-TLS settings, and serves as guidelines to set your AT-TLS rules. + +### Inbound rules + +A generic inbound rule can be set for all Zowe services: + +```bash +TTLSRule ZoweServerRule +{ + LocalAddr All + RemoteAddr All + LocalPortRange 7551-7559 # Range covers all Zowe services + Jobname ZWE1* # Jobname according to zowe.job.prefix in zowe.yaml + Direction Inbound + TTLSGroupActionRef ServerGroupAction + TTLSEnvironmentActionRef ZoweServerEnvironmentAction + TTLSConnectionActionRef ZoweServerConnectionAction +} + +TTLSGroupAction ServerGroupAction +{ + TTLSEnabled On +} + +TTLSEnvironmentAction ZoweServerEnvironmentAction +{ + HandshakeRole ServerWithClientAuth + EnvironmentUserInstance 0 + TTLSEnvironmentAdvancedParmsRef ServerEnvironmentAdvParms + TTLSKeyringParmsRef ZoweKeyring +} + +TTLSConnectionAction ZoweServerConnectionAction +{ + HandshakeRole ServerWithClientAuth + TTLSCipherParmsRef CipherParms + TTLSConnectionAdvancedParmsRef ZoweConnectionAdvParms +} +``` + +The `PortRange` of this inbound rule is taken from the list of API Mediation Layer components in the `zowe.yaml` file. The `PortRange` should cover the following components: + +| Component | Default Port | +|----|-----------------------| +| Gateway | 7554 | +| Discovery | 7553 | +| Caching Service | 7555 | +| API Catalog | 7552 | +| ZAAS | 7558 | +| Zowe System Services (ZSS) | 7557 | +| Zowe Application Server | 7556 | + +**Follow this step:** + +Replace `ZoweKeyring` with the keyring configured for your installation. Follow [the SAF keyring instructions](../../getting-started/zowe-certificates-overview.md#saf-keyring) in the article _Zowe Certificates overview_ to configure keyrings for your Zowe instance. + +Note the setting `HandshakeRole`. This setting applies to core services which authenticate through certificates with each other. This setting allows the API Gateway to receive and accept X.509 client certificates from API Clients. + +For more granularity in the AT-TLS rules, separate the rules that need to support Client Certificate authentication (Discovery Service, Gateway Service) from the rules that do not need to support Client Certificate authentication(for example a rule covering API Gateway to an onboarded service). + +### Outbound rules + +Outbound rules in this section allow Zowe services to communicate with each other and to other southbound services using HTTP. + +:::caution Important: +Careful consideration needs to be set especially regarding which rules are to be configured to send a Client Certificate. Since configuration cannot be performed on a per-request basis it is essential not to configure the rule to send the Zowe Server certificate to the API Gateway or to a southbound service that supports X.509 Client Certificate authentication. Doing so will result in unintentionally authenticating the server ACID. + +::: + +**Example:** + +```yaml +TTLSConnectionAction ClientConnectionAction +{ + HandshakeRole Client + TTLSCipherParmsRef CipherParms + TTLSConnectionAdvancedParmsRef ConnectionAdvancedParms + CertificateLabel +} +``` + +#### For z/OSMF + +This example rule covers the connection between the API Gateway and the z/OSMF instance. This connection is made to authenticate users in z/OS. + +If `zowe.network.client.tls.attls` is `true`, this rule is assumed set. The requests to z/OSMF are issued using `http`. + +```bash +TTLSRule ApimlZosmfClientRule +{ + LocalAddr All + LocalPortRange 1024-65535 # Using any outbound port + RemoteAddr All + RemotePortRange 449 # Set to z/OSMF port + Jobname ZWE1AZ* # Generate according to zowe.job.prefix in zowe.yaml + AZ for ZAAS outbound + Direction Outbound + TTLSGroupActionRef ClientGroupAction + TTLSEnvironmentActionRef ApimlClientEnvironmentAction + TTLSConnectionActionRef ApimlNoX509ClientConnAction # No X.509 Client Certificate required +} + +TTLSGroupAction ClientGroupAction +{ + TTLSEnabled ON +} + +TTLSEnvironmentAction ApimlClientEnvironmentAction +{ + HandshakeRole Client + TTLSKeyringParmsRef ApimlKeyring + TTLSCipherParmsRef CipherParms + TTLSEnvironmentAdvancedParmsRef ClientEnvironmentAdvParms +} +``` + +:::note +`Jobname` is defined explicitly for the ZAAS component and is formed with the `zowe.job.prefix` setting from `zowe.yaml` plus `AZ` as the ZAAS identifier. +::: + +#### For communication between API Gateway and other core services + +Use the example in this section as a template for internal connections between API Mediation Layer core services. + +:::caution Important + +The outbound connection from the Gateway Service to the Discovery Service must be configured without a `CertificateLabel`. Ensure that the certificate label is not included (but keep the `CertificateLabel` field) to avoid sending the certificate in case routing would be possible to the Discovery Service. Note that this route is disabled by default. + +::: + +```bash +TTLSRule ApimlClientRule +{ + LocalAddr All + LocalPortRange 1024-65535 + RemoteAddr All + RemotePortRange 7551-7555 # Range covers API ML services (gateway, zaas, discovery, api catalog, caching service) + Jobname ZWE1A* # Generate according to zowe.job.prefix in zowe.yaml + Direction Outbound + TTLSGroupActionRef ClientGroupAction + TTLSEnvironmentActionRef ApimlClientEnvironmentAction + TTLSConnectionActionRef ApimlX509ClientConnAction # X.509 Authentication is required in cross-service API ML communication +} + +TTLSConnectionAction ApimlX509ClientConnAction +{ + HandshakeRole Client + TTLSCipherParmsRef CipherParms + TTLSConnectionAdvancedParmsRef ApimlClientX509ConnAdvParms +} + +TTLSConnectionAdvancedParms ApimlClientX509ConnAdvParms +{ + ApplicationControlled Off + CertificateLabel Zowe Server + SecondaryMap Off +} +``` + +#### For communication between API Gateway and southbound services + +In this example, the rule covers all outbound connections originating from the API Gateway to an example southbound service listening on port 8080. +This rule applies for Zowe services as well, such as the ZSS and app-server if they are enabled. + +This covers routing scenarios. + +```bash +TTLSRule ApimlServiceClientRule +{ + LocalAddr All + LocalPortRange 1024-65535 + RemoteAddr All + RemotePortRange 8080 # Set to range of ports where services are listening + Jobname ZWE1AG* # Generate according to zowe.job.prefix in zowe.yaml + Direction Outbound + TTLSGroupActionRef ClientGroupAction + TTLSEnvironmentActionRef ApimlClientEnvironmentAction + TTLSConnectionActionRef ApimlNoX509ClientConnAction # Do not send X.509 Client Certificates +} + +TTLSConnectionAction ApimlNoX509ClientConnAction +{ + HandshakeRole Client + TTLSCipherParmsRef CipherParms + TTLSConnectionAdvancedParmsRef ApimlClientNoX509ConnAdvParms +} + +TTLSConnectionAdvancedParms ApimlClientNoX509ConnAdvParms +{ + ApplicationControlled Off + CertificateLabel # Leave empty to avoid sending a client certificate (i.e. if the keyring has a default certificate) + SecondaryMap Off +} +``` + +:::caution Important + +Outbound connections from the Gateway to southbound services (onboarded services) must not send the server certificate if the service accepts X.509 Client Certificate authentication. If the server certificate is sent, it is the server user who would be authenticated. + +::: + +#### Services that validate tokens against the API Mediation Layer + +In this scenario, the services will issue a request against the API Gateway to validate the received authentication token. + +This scenario includes services that set `zoweJwt` as authentication scheme, those that require an Open ID Connect (OIDC) token, or forwarded X.509 certificates. + +In this case it is necessary to have an Outbound rule from the service to the API Gateway. + +These service will also already have an outbound rule set for the onboarding process against the Discovery Service. + +Ensure these rules are followed: + +- Outbound rule to Discovery Service: Sends X.509 Client Certificate to authorize the onboarding. +- Outbound rule to API Gateway: __Do not__ set a Client Certificate. + +### Ciphers + +:::note +This list of ciphers is provided as an example only. Actual ciphers should be customized according to your specific configuration. +::: + +The list of supported ciphers should be constructed according to the TLS supported versions. +Ensure that the cipher list has matches with non-AT-TLS-aware clients. + +
+Click here for an example of Cipher parameters. + +```bash +TTLSCipherParms CipherParms +{ + V2CipherSuites TLS_RC4_128_WITH_MD5 + V2CipherSuites TLS_RC4_128_EXPORT40_WITH_MD5 + V2CipherSuites TLS_RC2_CBC_128_CBC_WITH_MD5 + V2CipherSuites TLS_RC2_CBC_128_CBC_EXPORT40_WITH_MD5 + V2CipherSuites TLS_RC2_CBC_128_CBC_EXPORT40_WITH_MD5 + V2CipherSuites TLS_DES_192_EDE3_CBC_WITH_MD5 + V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 + V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 + V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 + V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 + V3CipherSuites TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + V3CipherSuites TLS_AES_128_GCM_SHA256 + V3CipherSuites TLS_AES_256_GCM_SHA384 + V3CipherSuites TLS_CHACHA20_POLY1305_SHA256 +} ``` -## Component-Specific Configuration +
+ +## Using AT-TLS for API ML in High Availability + +AT-TLS settings for a Zowe installation configured in High Availability mode do not differ extensively. Changes need to be made to the previously described rules to allow for cross-lpar communication: + +Ensure that the `RemoteAddr` setting in the rules accounts for the following connections: + +- Discovery Service to Discovery Service. This is the replica request. +- Gateway Service to southbound services (including app-server and ZSS) running in another LPAR. +- Gateway Service to ZAAS running in another LPAR. +- Southbound services to Discovery Service. This applies during onboarding. +- All outbound connections need to account for all LPARs including the same where the rules are applied. + +## Multi-tenancy deployment + +For a specific scenario when Central API ML is running on z/OS with AT-TLS enabled, it is important to override the protocol for the external URL. This information is used by the Central API ML to call domain API ML and needs to reflect the outbound AT-TLS rule. In this case, update your domain API ML configuration: + +```yaml +zowe: + components: + gateway: + apiml: + gateway: + externalProtocol: http +``` + +## AT-TLS Troubleshooting + +This section describes some common issues when using AT-TLS with Zowe and how to resolve these issues. + +### The message `This combination of port requires SSL` is thrown when accesing an API ML service through a Browser + +Make sure the URL starts with `https://`. This message indicates that AT-TLS rules are in place and it is trying to connect on an unsecured port to the API Gateway, however the latter is still only listening on a application-controlled secured port. + +**Solution:** +Review settings in the API Gateway. Ensure that the changes described in [AT-TLS configuration for Zowe](#at-tls-configuration-for-zowe) are applied. + +### AT-TLS rules are not applied + +If the application is responding in http, the application may not be properly configured to support http-only calls. AT-TLS is not correctly configured. + +**Solution:** + +Ensure the rules are active and that the filters on port range and job names are properly set. + +### Non matching ciphers / protocols + +An error can occur if the [list of ciphers](#ciphers) or the TLS protocol does not match between the ones configured in the AT-TLS rules and the ones used by non AT-TLS-aware clients. + +**Solution:** +Review the supported TLS versions and ciphers used in both the client and the server. + +### Additional troubleshooting + +When asking for support make sure to follow IBM guides for troubleshooting AT-TLS problems. This is covered in the "Diagnosing Application Transparent Transport Layer Security (AT-TLS)" article on IBM documentation. + +Ensure you collect the logs and current configurations when contacting support. + +## Full example of AT-TLS configuration + +Review a full working example of an AT-TLS configuration file on z/OS, specifically used for defining secure communication between different services in a mainframe environment. All port values are examples. +The example is commented for convenience. +
+ +Click here to display the full AT-TLS configuration file. + +```bash +# Main inbound rule, all Zowe services have it defined. +TTLSRule ZoweServerRule +{ + LocalAddr All + RemoteAddr All + LocalPortRange 7554-7559 # Range covers all possible Zowe services + Jobname ZWE1* + Direction Inbound + TTLSGroupActionRef ServerGroupAction + TTLSEnvironmentActionRef ZoweServerEnvironmentAction + TTLSConnectionActionRef ZoweServerConnectionAction +} + +# Example southbound service inbound rule +TTLSRule ApimlDCServerRule +{ + LocalAddr All + RemoteAddr All + LocalPortRange 8080-8090 # Example service ports + Jobname ZWE1DC* # Jobname prefix (optional) + Direction Inbound + TTLSGroupActionRef ServerGroupAction + TTLSEnvironmentActionRef ZoweDCServerEnvironmentAction + TTLSConnectionActionRef ZoweServerConnectionAction +} + +TTLSGroupAction ServerGroupAction +{ + TTLSEnabled On +} + +# Environment action for all Zowe service +TTLSEnvironmentAction ZoweServerEnvironmentAction +{ + HandshakeRole ServerWithClientAuth # Zowe Servers can optionally support Client Certificate authentication + EnvironmentUserInstance 0 + TTLSEnvironmentAdvancedParmsRef ServerEnvironmentAdvParms + TTLSKeyringParmsRef ZoweKeyring + TTLSSignatureParmsRef TNESigParms +} + +# Environment action for sample southbound service +TTLSEnvironmentAction ZoweDCServerEnvironmentAction +{ + HandshakeRole Server + EnvironmentUserInstance 0 + TTLSEnvironmentAdvancedParmsRef ServerEnvironmentAdvParms + TTLSKeyringParmsRef ZoweKeyring + TTLSSignatureParmsRef TNESigParms +} + +# Keyring, used for TLS, will be used also to load trusted certificates +TTLSKeyringParms ZoweKeyring +{ + Keyring ZWEKRNG +} + +# Advanced TLS settings, choose TLS versions supported. +TTLSEnvironmentAdvancedParms ServerEnvironmentAdvParms +{ + ClientAuthType Full # Support optional Client Certificate authentication + ApplicationControlled Off + Renegotiation Disabled + SSLv2 Off + SSLv3 Off + TLSv1 Off + TLSv1.1 Off + TLSv1.2 On + TLSv1.3 On +} + +# Server Connection Action for API ML core services. +TTLSConnectionAction ZoweServerConnectionAction +{ + HandshakeRole ServerWithClientAuth # API ML Core Services use Client Certificate authentication + TTLSCipherParmsRef CipherParms + TTLSConnectionAdvancedParmsRef ZoweConnectionAdvParms + TTLSSignatureParmsRef TNESigParms +} + +# API ML Server connection action. +# Certificate label indicates which certificate is used in the client certificate authentication process between core services. +TTLSConnectionAdvancedParms ZoweConnectionAdvParms +{ + ApplicationControlled Off + ServerCertificateLabel apimlcert + CertificateLabel apimlcert + SecondaryMap Off +} + +# Example outbound TTLS rule for a client calling API ML +# In this scenario this client (a southbound service) presents client certificate to authenticate (for example during onboarding) +TTLSRule ZoweClientRule +{ + LocalAddr All + LocalPortRange 1024-65535 + RemoteAddr All + RemotePortRange 7553-7555 # API ML Core services ports + Jobname ZWE1* + Direction Outbound + TTLSGroupActionRef ClientGroupAction + TTLSEnvironmentActionRef ApimlClientEnvironmentAction + TTLSConnectionActionRef ApimlX509ClientConnAction +} + +# Example outbound rule for connections from API ML Gateway to a southbound service running in port 40030 (during request routing) +# Note ConnectionAction doesn't configure a client certificate. +TTLSRule ApimlServiceClientRule +{ + LocalAddr All + LocalPortRange 1024-65535 + RemoteAddr All + RemotePortRange 40030 # Service ports + Jobname ZWE1AG* + Direction Outbound + TTLSGroupActionRef ClientGroupAction + TTLSEnvironmentActionRef ApimlClientEnvironmentAction + TTLSConnectionActionRef ApimlNoX509ClientConnAction +} + +# Optional. Can configure the outbound connection from Gateway to work with AT-TLS while connecting to z/OSMF. +TTLSRule ApimlZosmfClientRule +{ + LocalAddr All + LocalPortRange 1024-65535 + RemoteAddr All + RemotePortRange 449 # z/OSMF Port + Jobname ZWE1AG* + Direction Outbound + TTLSGroupActionRef ClientGroupAction + TTLSEnvironmentActionRef ApimlClientEnvironmentAction + TTLSConnectionActionRef ApimlNoX509ClientConnAction +} + +# Configure the GW -> ZAAS rule +TTLSRule ApimlZosmfClientRule +{ + LocalAddr All + LocalPortRange 1024-65535 + RemoteAddr All + RemotePortRange 7558 # ZAAS Port (default) + Jobname ZWE1AG* + Direction Outbound + TTLSGroupActionRef ClientGroupAction + TTLSEnvironmentActionRef ApimlClientEnvironmentAction + TTLSConnectionActionRef ApimlX509ClientConnAction # Calls from GW to ZAAS are authenticated with client certificate. +} + +# Example outbound rule from app server to gateway. +TTLSRule ApimlZLUXClientRule +{ + LocalAddr All + LocalPortRange 1024-65535 + RemoteAddr All + RemotePortRange 7556 + Jobname ZWE1AG* + Direction Outbound + TTLSGroupActionRef ClientGroupAction + TTLSEnvironmentActionRef ApimlClientEnvironmentAction + TTLSConnectionActionRef ApimlNoX509ClientConnAction # Southbound services should not send a client certificate to Gateway +} + +TTLSEnvironmentAction ApimlClientEnvironmentAction +{ + HandshakeRole Client + TTLSKeyringParmsRef ApimlKeyring + TTLSEnvironmentAdvancedParmsRef ClientEnvironmentAdvParms + EnvironmentUserInstance 0 + TTLSSignatureParmsRef TNESigParms +} + +TTLSEnvironmentAdvancedParms ClientEnvironmentAdvParms +{ + Renegotiation Disabled + 3DESKEYCHECK OFF + CLIENTEDHGROUPSIZE legacy + SERVEREDHGROUPSIZE legacy + PEERMINCERTVERSION any + SERVERSCSV OFF + MIDDLEBOXCOMPATMODE Off + CertValidationMode Any +} + +TTLSGroupAction ClientGroupAction +{ + TTLSEnabled ON +} + +TTLSConnectionAction ApimlX509ClientConnAction +{ + HandshakeRole Client + TTLSCipherParmsRef CipherParms + TTLSConnectionAdvancedParmsRef ApimlClientX509ConnAdvParms +} + +TTLSConnectionAction ApimlNoX509ClientConnAction +{ + HandshakeRole Client + TTLSCipherParmsRef CipherParms + TTLSConnectionAdvancedParmsRef ZoweClientNoX509ConnAdvParms +} + +# ConnectionAdvanced parameters for connections not requiring x.509 Client Certificate authentication +# If the set Keyring has a default certificate this will not prevent sending it +TTLSConnectionAdvancedParms ZoweClientNoX509ConnAdvParms +{ + SSLv3 Off + TLSv1 Off + TLSv1.1 Off + ApplicationControlled Off + CertificateLabel # Keep the Label empty to ensure a default certificate will not be picked from the keyring + SecondaryMap Off + TLSv1.2 On + TLSv1.3 Off +} + +# In case the connection requires a client certificate authentication, this is where the label is set for outbound connections. +TTLSConnectionAdvancedParms ZoweClientX509ConnAdvParms +{ + SSLv3 Off + TLSv1 Off + TLSv1.1 Off + CertificateLabel apimlcert + SecondaryMap Off + TLSv1.2 On + TLSv1.3 On +} + +TTLSSignatureParms TNESigParms +{ + CLientECurves Any +} + +# Example list of supported ciphers in handshake. Validate and filter this list based on local setup +TTLSCipherParms CipherParms +{ + V3CipherSuites TLS_AES_128_GCM_SHA256 + V3CipherSuites TLS_AES_256_GCM_SHA384 + V3CipherSuites TLS_CHACHA20_POLY1305_SHA256 + V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 + V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 + V3CipherSuites TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 + V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA + V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 + V3CipherSuites TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 + V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 + V3CipherSuites TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 + V3CipherSuites TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 + V3CipherSuites TLS_DHE_RSA_WITH_AES_256_CBC_SHA + V3CipherSuites TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 + V3CipherSuites TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 + V3CipherSuites TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 + V3CipherSuites TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 + V3CipherSuites TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 + V3CipherSuites TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 + V3CipherSuites TLS_RSA_WITH_AES_128_CBC_SHA + V3CipherSuites TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 + V3CipherSuites TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 + V3CipherSuites TLS_RSA_WITH_AES_256_GCM_SHA384 + V3CipherSuites TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 + V3CipherSuites TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 + V3CipherSuites TLS_DH_DSS_WITH_AES_256_GCM_SHA384 + V3CipherSuites TLS_DH_RSA_WITH_AES_256_GCM_SHA384 + V3CipherSuites TLS_RSA_WITH_AES_256_CBC_SHA256 + V3CipherSuites TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 + V3CipherSuites TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 + V3CipherSuites TLS_DH_DSS_WITH_AES_256_CBC_SHA256 + V3CipherSuites TLS_DH_RSA_WITH_AES_256_CBC_SHA256 + V3CipherSuites TLS_RSA_WITH_AES_256_CBC_SHA + V3CipherSuites TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA + V3CipherSuites TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA + V3CipherSuites TLS_ECDH_RSA_WITH_AES_256_CBC_SHA + V3CipherSuites TLS_DHE_DSS_WITH_AES_256_CBC_SHA + V3CipherSuites TLS_DH_DSS_WITH_AES_256_CBC_SHA + V3CipherSuites TLS_DH_RSA_WITH_AES_256_CBC_SHA + V3CipherSuites TLS_RSA_WITH_AES_128_GCM_SHA256 + V3CipherSuites TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 + V3CipherSuites TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 + V3CipherSuites TLS_DH_DSS_WITH_AES_128_GCM_SHA256 + V3CipherSuites TLS_DH_RSA_WITH_AES_128_GCM_SHA256 + V3CipherSuites TLS_RSA_WITH_AES_128_CBC_SHA256 + V3CipherSuites TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 + V3CipherSuites TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 + V3CipherSuites TLS_DH_DSS_WITH_AES_128_CBC_SHA256 + V3CipherSuites TLS_DH_RSA_WITH_AES_128_CBC_SHA256 + V3CipherSuites TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA + V3CipherSuites TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA + V3CipherSuites TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA + V3CipherSuites TLS_ECDH_RSA_WITH_AES_128_CBC_SHA + V3CipherSuites TLS_DHE_DSS_WITH_AES_128_CBC_SHA + V3CipherSuites TLS_DHE_RSA_WITH_AES_128_CBC_SHA + V3CipherSuites TLS_DH_DSS_WITH_AES_128_CBC_SHA + V3CipherSuites TLS_DH_RSA_WITH_AES_128_CBC_SHA +} +``` + +
+ +## Additional Zowe feature configuration with AT-TLS -For detailed configuration instructions specific to each component, refer to the following guides: -- [Configuring AT-TLS for API Mediation Layer](../user-guide/api-mediation/configuration-at-tls.md) -- [Using AT-TLS in the App Framework](../user-guide/mvd-configuration#using-at-tls-in-the-app-framework) \ No newline at end of file +The Zowe Application Framework also leverages AT-TLS. For more information, see [Using AT-TLS in the App Framework](../user-guide/mvd-configuration#using-at-tls-in-the-app-framework). diff --git a/sidebars.js b/sidebars.js index e43a0780bb..f5a291f459 100644 --- a/sidebars.js +++ b/sidebars.js @@ -279,17 +279,17 @@ module.exports = { "user-guide/api-mediation/configuration-access-specific-instance-of-service", "user-guide/api-mediation/configuration-distributed-load-balancer-cache", "user-guide/api-mediation/configuration-set-consistent-service-id", - { - "type": "category", - "label": "Customizing management of API ML load limits", - "link": { "type": "doc", "id": "user-guide/api-mediation/configuration-customizing-management-of-apiml-load-limits" }, - "items": [ - "user-guide/api-mediation/configuration-connection-limits", - "user-guide/api-mediation/configuration-gateway-timeouts", - "user-guide/api-mediation/configuration-customizing-java-heap-sizes" - ] - } - ] + { + "type": "category", + "label": "Customizing management of API ML load limits", + "link": { "type": "doc", "id": "user-guide/api-mediation/configuration-customizing-management-of-apiml-load-limits" }, + "items": [ + "user-guide/api-mediation/configuration-connection-limits", + "user-guide/api-mediation/configuration-gateway-timeouts", + "user-guide/api-mediation/configuration-customizing-java-heap-sizes" + ] + } + ] }, { "type": "category", @@ -312,7 +312,6 @@ module.exports = { ] }, "user-guide/api-mediation/configuration-customizing-the-api-catalog-ui", - "user-guide/api-mediation/configuration-at-tls", "user-guide/api-mediation/configuration-logging", ] } From 984e783856e532af0ed8741a19b899a21eab9274 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Hern=C3=A1n=20Carle?= Date: Tue, 29 Oct 2024 11:28:02 +0100 Subject: [PATCH 003/101] fix attls sidebars MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Pablo Hernán Carle --- ...s-configuration.md => configuring-at-tls-for-zowe-server.md} | 2 -- sidebars.js | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) rename docs/user-guide/{at-tls-configuration.md => configuring-at-tls-for-zowe-server.md} (99%) diff --git a/docs/user-guide/at-tls-configuration.md b/docs/user-guide/configuring-at-tls-for-zowe-server.md similarity index 99% rename from docs/user-guide/at-tls-configuration.md rename to docs/user-guide/configuring-at-tls-for-zowe-server.md index 3878fa1d7f..9f4e2e11e4 100644 --- a/docs/user-guide/at-tls-configuration.md +++ b/docs/user-guide/configuring-at-tls-for-zowe-server.md @@ -1,5 +1,3 @@ - - # Configuring AT-TLS for Zowe Server You can configure parameters in the Zowe server to enable Zowe to work with AT-TLS. Review this article for information about AT-TLS inbound and outbound rules, and the required configuration to use AT-TLS in high availability. You can also find troubleshooting tips as well as security recommendations. diff --git a/sidebars.js b/sidebars.js index f5a291f459..367fe5b0fa 100644 --- a/sidebars.js +++ b/sidebars.js @@ -205,7 +205,7 @@ module.exports = { "user-guide/generate-certificates", "user-guide/use-certificates", "user-guide/certificates-setup", - "user-guide/at-tls-configuration", + "user-guide/configuring-at-tls-for-zowe-server", ], }, { From 651edee64cc138b41d17c4e5b008f7447769bf09 Mon Sep 17 00:00:00 2001 From: Andrew Jandacek Date: Tue, 29 Oct 2024 12:08:09 +0100 Subject: [PATCH 004/101] fix links Signed-off-by: Andrew Jandacek --- .../zowe-certificates-overview.md | 19 +++++--- .../advanced-apiml-configuration.md | 2 +- .../configuring-at-tls-for-zowe-server.md | 43 ++++++++++--------- 3 files changed, 35 insertions(+), 29 deletions(-) diff --git a/docs/getting-started/zowe-certificates-overview.md b/docs/getting-started/zowe-certificates-overview.md index 09c4c055a0..93d6f1039d 100644 --- a/docs/getting-started/zowe-certificates-overview.md +++ b/docs/getting-started/zowe-certificates-overview.md @@ -2,12 +2,17 @@ In order to leverage certificates in Zowe, it is useful to review the key concepts of digital certificates-based security and how Zowe implements this technology. -- [Digital certificates definition](#digital-certificates-definition) -- [Digital certificates usage](#digital-certificates-usage) -- [PKI (Public Key Infrastructure)](#public-key-infrastructure) -- [Transport Layer Security (TLS)](#transport-layer-security) -- [Digital certificates types](#digital-certificates-types) -- [Certificates storage](#certificates-storage) +- [Zowe Certificates overview](#zowe-certificates-overview) + - [Digital certificates definition](#digital-certificates-definition) + - [Digital certificates usage](#digital-certificates-usage) + - [Public key infrastructure](#public-key-infrastructure) + - [Transport Layer Security](#transport-layer-security) + - [Digital certificates types](#digital-certificates-types) + - [Certificates storage](#certificates-storage) + - [Keystore and Truststore](#keystore-and-truststore) + - [Keystores](#keystores) + - [Truststores](#truststores) + - [SAF Keyring](#saf-keyring) ## Digital certificates definition A Digital Certificate is an electronic file that is tied to a cryptographic (public and private) key pair and authenticates the identity of a website, individual, organization, user, device or server. @@ -78,7 +83,7 @@ as well as between client applications and Zowe server components. For more information, see the [TLS requirements in Zowe API ML requirements](../extend/extend-apiml/zowe-api-mediation-layer-security-overview#zowe-api-ml-tls-requirements). :::note -When installed on a mainframe system, Zowe is able to utilize AT-TLS implementation if supported by the corresponding z/OS version/installation. For more information, see [Configuring AT-TLS for API Mediation Layer](../user-guide/api-mediation/configuration-at-tls.md). +When installed on a mainframe system, Zowe is able to utilize AT-TLS implementation if supported by the corresponding z/OS version/installation. For more information, see [Configuring AT-TLS for Zowe server](../user-guide/configuring-at-tls-for-zowe-server.md). ::: ## Digital certificates types diff --git a/docs/user-guide/advanced-apiml-configuration.md b/docs/user-guide/advanced-apiml-configuration.md index 7279759348..7e01a9b320 100644 --- a/docs/user-guide/advanced-apiml-configuration.md +++ b/docs/user-guide/advanced-apiml-configuration.md @@ -31,6 +31,6 @@ There are multiple options for customizing Zowe API Mediation Layer according to * [Using VSAM as a storage solution through the Caching service](../extend/extend-apiml/api-mediation-vsam.md) * [Using Redis as a storage solution through the Caching service](../extend/extend-apiml/api-mediation-redis.md) * [Customizing the API Catalog UI](./api-mediation/configuration-customizing-the-api-catalog-ui.md) -* [Configuring AT-TLS for API Mediation Layer](./api-mediation/configuration-at-tls.md) +* [Configuring AT-TLS for Zowe server](./configuring-at-tls-for-zowe-server.md) * [Customizing logging for API Mediation Layer](./api-mediation/configuration-logging.md) diff --git a/docs/user-guide/configuring-at-tls-for-zowe-server.md b/docs/user-guide/configuring-at-tls-for-zowe-server.md index 9f4e2e11e4..865c3214f3 100644 --- a/docs/user-guide/configuring-at-tls-for-zowe-server.md +++ b/docs/user-guide/configuring-at-tls-for-zowe-server.md @@ -5,25 +5,26 @@ You can configure parameters in the Zowe server to enable Zowe to work with AT-T :::info Role: security administrator ::: -- [AT-TLS configuration for Zowe](#at-tls-configuration-for-zowe) - - [Limitations](#limitations) -- [AT-TLS rules](#at-tls-rules) - - [Inbound rules](#inbound-rules) - - [Outbound rules](#outbound-rules) - - [For z/OSMF](#for-zosmf) - - [For communication between API Gateway and other core services](#for-communication-between-api-gateway-and-other-core-services) - - [For communication between API Gateway and southbound services](#for-communication-between-api-gateway-and-southbound-services) - - [Services that validate tokens against the API Mediation Layer](#services-that-validate-tokens-against-the-api-mediation-layer) - - [Ciphers](#ciphers) -- [Using AT-TLS for API ML in High Availability](#using-at-tls-for-api-ml-in-high-availability) -- [Multi-tenancy deployment](#multi-tenancy-deployment) -- [AT-TLS Troubleshooting](#at-tls-troubleshooting) - - [The message `This combination of port requires SSL` is thrown when accesing an API ML service through a Browser](#the-message-this-combination-of-port-requires-ssl-is-thrown-when-accesing-an-api-ml-service-through-a-browser) - - [AT-TLS rules are not applied](#at-tls-rules-are-not-applied) - - [Non matching ciphers / protocols](#non-matching-ciphers--protocols) - - [Additional troubleshooting](#additional-troubleshooting) -- [Full example of AT-TLS configuration](#full-example-of-at-tls-configuration) -- [Additional Zowe feature configuration with AT-TLS](#additional-zowe-feature-configuration-with-at-tls) +- [Configuring AT-TLS for Zowe Server](#configuring-at-tls-for-zowe-server) + - [AT-TLS configuration for Zowe](#at-tls-configuration-for-zowe) + - [Limitations](#limitations) + - [AT-TLS rules](#at-tls-rules) + - [Inbound rules](#inbound-rules) + - [Outbound rules](#outbound-rules) + - [For z/OSMF](#for-zosmf) + - [For communication between API Gateway and other core services](#for-communication-between-api-gateway-and-other-core-services) + - [For communication between API Gateway and southbound services](#for-communication-between-api-gateway-and-southbound-services) + - [Services that validate tokens against the API Mediation Layer](#services-that-validate-tokens-against-the-api-mediation-layer) + - [Ciphers](#ciphers) + - [Using AT-TLS for API ML in High Availability](#using-at-tls-for-api-ml-in-high-availability) + - [Multi-tenancy deployment](#multi-tenancy-deployment) + - [AT-TLS Troubleshooting](#at-tls-troubleshooting) + - [The message `This combination of port requires SSL` is thrown when accesing an API ML service through a Browser](#the-message-this-combination-of-port-requires-ssl-is-thrown-when-accesing-an-api-ml-service-through-a-browser) + - [AT-TLS rules are not applied](#at-tls-rules-are-not-applied) + - [Non matching ciphers / protocols](#non-matching-ciphers--protocols) + - [Additional troubleshooting](#additional-troubleshooting) + - [Full example of AT-TLS configuration](#full-example-of-at-tls-configuration) + - [Additional Zowe feature configuration with AT-TLS](#additional-zowe-feature-configuration-with-at-tls) ## AT-TLS configuration for Zowe @@ -125,11 +126,11 @@ The `PortRange` of this inbound rule is taken from the list of API Mediation Lay **Follow this step:** -Replace `ZoweKeyring` with the keyring configured for your installation. Follow [the SAF keyring instructions](../../getting-started/zowe-certificates-overview.md#saf-keyring) in the article _Zowe Certificates overview_ to configure keyrings for your Zowe instance. +Replace `ZoweKeyring` with the keyring configured for your installation. Follow [the SAF keyring instructions](../getting-started/zowe-certificates-overview.md#saf-keyring) in the article _Zowe Certificates overview_ to configure keyrings for your Zowe instance. Note the setting `HandshakeRole`. This setting applies to core services which authenticate through certificates with each other. This setting allows the API Gateway to receive and accept X.509 client certificates from API Clients. -For more granularity in the AT-TLS rules, separate the rules that need to support Client Certificate authentication (Discovery Service, Gateway Service) from the rules that do not need to support Client Certificate authentication(for example a rule covering API Gateway to an onboarded service). +For more granularity in the AT-TLS rules, separate the rules that need to support Client Certificate authentication (Discovery Service, Gateway Service) from the rules that do not need to support Client Certificate authentication (for example a rule covering API Gateway to an onboarded service). ### Outbound rules From 62cc43dcab582084c9f56c64e9ce30967a2f473d Mon Sep 17 00:00:00 2001 From: Olha Date: Tue, 5 Nov 2024 15:09:35 +0100 Subject: [PATCH 005/101] add rate limiter documentation --- .../configuration-rate-limiter.md | 32 +++++++++++++++++++ .../api-mediation/configuration-routing.md | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 docs/user-guide/api-mediation/configuration-rate-limiter.md diff --git a/docs/user-guide/api-mediation/configuration-rate-limiter.md b/docs/user-guide/api-mediation/configuration-rate-limiter.md new file mode 100644 index 0000000000..230965f134 --- /dev/null +++ b/docs/user-guide/api-mediation/configuration-rate-limiter.md @@ -0,0 +1,32 @@ +# Configuring custom rate limiter + + +The API Gateway offers a way to customize rate limit per service by introducing a configurable rate limiter. +Below is an example configuration: +# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + apiml: + gateway: + routing: + rateLimiterCapacity: 20 + rateLimiterTokens: 20 + rateLimiterRefillDuration: 1 + servicesToLimitRequestRate: discoverableclient, apicatalog + cookieNameForRateLimit: apimlAuthenticationToken + + + +Description: +1. Set rate limiting properties: + +* rateLimiterCapacity - Defines the total number of requests that can be allowed at one time per user. +* rateLimiterTokens - Defines the number of requests that are added to the service’s allowance at regular intervals. This controls how quickly requests are replenished after being consumed. +* rateLimiterRefillDuration - Sets the time interval (in minutes) at which new requests (or tokens) are added. + +2. Define services to limit: + + Use servicesToLimitRequestRate to specify a list of services to limit. + + +3. Define a cookie name for user identification: + + Use cookieNameForRateLimit to specify a cookie name that identifies the user for rate-limiting purposes. \ No newline at end of file diff --git a/docs/user-guide/api-mediation/configuration-routing.md b/docs/user-guide/api-mediation/configuration-routing.md index f153cfde01..c62d309b56 100644 --- a/docs/user-guide/api-mediation/configuration-routing.md +++ b/docs/user-guide/api-mediation/configuration-routing.md @@ -25,6 +25,8 @@ The Gateway retry policy, customizable through zowe.yaml, optimizes request hand To customize the Gateway retry policy, see [Customizing Gateway retry policy](./configuration-gateway-retry-policy.md). +To configure a custom rate limiter, see [Configuring custom rate limiter](./configuration-rate-limiter.md). + Additionally, API ML supports specific instance access and load balancer cache distribution, improving service identification and scalability. These configurations, including service ID adjustments for compatibility with Zowe v2, demonstrate Zowe's adaptability and robustness in API management. To configure a unique cookie name for each instance to prevent overwriting of the default cookie name in the case of multiple Zowe instances, or for more complex deployment strategies, see [Configuring a unique cookie name for a specific API ML instance](./configuration-unique-cookie-name-for-multiple-zowe-instances.md). From 8def497498fbaccd40f59ecf59040f17c163dc65 Mon Sep 17 00:00:00 2001 From: Olha Date: Tue, 5 Nov 2024 15:44:30 +0100 Subject: [PATCH 006/101] delete cookieName from docs --- .../user-guide/api-mediation/configuration-rate-limiter.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/docs/user-guide/api-mediation/configuration-rate-limiter.md b/docs/user-guide/api-mediation/configuration-rate-limiter.md index 230965f134..2bc4d1aeb9 100644 --- a/docs/user-guide/api-mediation/configuration-rate-limiter.md +++ b/docs/user-guide/api-mediation/configuration-rate-limiter.md @@ -10,8 +10,7 @@ Below is an example configuration: rateLimiterCapacity: 20 rateLimiterTokens: 20 rateLimiterRefillDuration: 1 - servicesToLimitRequestRate: discoverableclient, apicatalog - cookieNameForRateLimit: apimlAuthenticationToken + servicesToLimitRequestRate: apicatalog @@ -26,7 +25,3 @@ Description: Use servicesToLimitRequestRate to specify a list of services to limit. - -3. Define a cookie name for user identification: - - Use cookieNameForRateLimit to specify a cookie name that identifies the user for rate-limiting purposes. \ No newline at end of file From 161d6eadd8476ca89cbe7705f0d92a652a948998 Mon Sep 17 00:00:00 2001 From: Andrew Jandacek Date: Tue, 5 Nov 2024 16:38:39 +0100 Subject: [PATCH 007/101] language/style refactor Signed-off-by: Andrew Jandacek --- .../configuration-rate-limiter.md | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/docs/user-guide/api-mediation/configuration-rate-limiter.md b/docs/user-guide/api-mediation/configuration-rate-limiter.md index 2bc4d1aeb9..5f9e852c80 100644 --- a/docs/user-guide/api-mediation/configuration-rate-limiter.md +++ b/docs/user-guide/api-mediation/configuration-rate-limiter.md @@ -1,27 +1,32 @@ # Configuring custom rate limiter -The API Gateway offers a way to customize rate limit per service by introducing a configurable rate limiter. -Below is an example configuration: -# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - apiml: - gateway: - routing: - rateLimiterCapacity: 20 - rateLimiterTokens: 20 - rateLimiterRefillDuration: 1 - servicesToLimitRequestRate: apicatalog +The API Gateway offers a way to customize the rate limit per service by introducing a configurable rate limiter. + +## Procedure +1. In the zowe.yaml, set the following rate limiting properties in api/gateway/routing: + * **rateLimiterCapacity** + Defines the total number of requests that can be allowed at one time per user. -Description: -1. Set rate limiting properties: + * **rateLimiterTokens** + Defines the number of requests that are added to the service’s allowance at regular intervals. This property controls how quickly requests are replenished after being consumed. -* rateLimiterCapacity - Defines the total number of requests that can be allowed at one time per user. -* rateLimiterTokens - Defines the number of requests that are added to the service’s allowance at regular intervals. This controls how quickly requests are replenished after being consumed. -* rateLimiterRefillDuration - Sets the time interval (in minutes) at which new requests (or tokens) are added. + * **rateLimiterRefillDuration** + Sets the time interval (in minutes) at which new requests (or tokens) are added. -2. Define services to limit: +2. Define the services to limit: - Use servicesToLimitRequestRate to specify a list of services to limit. + Use `servicesToLimitRequestRate` to specify a list of services to limit. In the following example, this property applies to the API Catalog. +**Example configuration:** +``` + apiml: + gateway: + routing: + rateLimiterCapacity: 20 + rateLimiterTokens: 20 + rateLimiterRefillDuration: 1 + servicesToLimitRequestRate: apicatalog +``` From afc2a889b93fe63ee9ef3e280d7e456223aedc9f Mon Sep 17 00:00:00 2001 From: Olha Date: Tue, 5 Nov 2024 17:32:02 +0100 Subject: [PATCH 008/101] enhance the description --- .../api-mediation/configuration-rate-limiter.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/user-guide/api-mediation/configuration-rate-limiter.md b/docs/user-guide/api-mediation/configuration-rate-limiter.md index 2bc4d1aeb9..ff25816bb7 100644 --- a/docs/user-guide/api-mediation/configuration-rate-limiter.md +++ b/docs/user-guide/api-mediation/configuration-rate-limiter.md @@ -2,7 +2,12 @@ The API Gateway offers a way to customize rate limit per service by introducing a configurable rate limiter. -Below is an example configuration: + +It’s essential for the system to prevent individual users from overloading it. +By setting rate limits per user on selected services, this configuration helps ensure that one user's activity doesn’t negatively impact the experience of others, +mitigating the risk of Distributed Denial-of-Service (DDoS) attacks and other automated exploit attempts. By balancing user access over time, it ensures fair and secure access. + +Example configuration: # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> apiml: gateway: @@ -17,11 +22,14 @@ Below is an example configuration: Description: 1. Set rate limiting properties: -* rateLimiterCapacity - Defines the total number of requests that can be allowed at one time per user. -* rateLimiterTokens - Defines the number of requests that are added to the service’s allowance at regular intervals. This controls how quickly requests are replenished after being consumed. -* rateLimiterRefillDuration - Sets the time interval (in minutes) at which new requests (or tokens) are added. +* `rateLimiterCapacity` - Defines the total number of requests that can be allowed at one time per user. +* `rateLimiterTokens` - Defines the number of requests that are added to the service’s allowance at regular intervals. This controls how quickly requests are replenished after being consumed. +* `rateLimiterRefillDuration` - Sets the time interval (in minutes) at which new requests (or tokens) are added. 2. Define services to limit: Use servicesToLimitRequestRate to specify a list of services to limit. + +In simple terms, this rate-limiting configuration allows to control how many requests users can make to specified services and how quickly their request allowance renews, promoting fair access and better overall system stability. + From ae4615bc4d4285f8cd2567c16246584bfdf1c8fa Mon Sep 17 00:00:00 2001 From: Olha Date: Tue, 5 Nov 2024 17:47:30 +0100 Subject: [PATCH 009/101] fix the structure --- docs/user-guide/api-mediation/configuration-rate-limiter.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/user-guide/api-mediation/configuration-rate-limiter.md b/docs/user-guide/api-mediation/configuration-rate-limiter.md index 70bafb8647..d786c07c2d 100644 --- a/docs/user-guide/api-mediation/configuration-rate-limiter.md +++ b/docs/user-guide/api-mediation/configuration-rate-limiter.md @@ -6,6 +6,7 @@ The API Gateway offers a way to customize the rate limit per service by introduc It’s essential for the system to prevent individual users from overloading it. By setting rate limits per user on selected services, this configuration helps ensure that one user's activity doesn’t negatively impact the experience of others, mitigating the risk of Distributed Denial-of-Service (DDoS) attacks and other automated exploit attempts. + ## Procedure 1. In the zowe.yaml, set the following rate limiting properties in api/gateway/routing: From 64533c91a4f02b46bba6f680ad6277456ea38532 Mon Sep 17 00:00:00 2001 From: Andrew Jandacek Date: Thu, 7 Nov 2024 15:50:02 +0100 Subject: [PATCH 010/101] refacotr purpose and outcome of procedure Signed-off-by: Andrew Jandacek --- .../api-mediation/configuration-rate-limiter.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/docs/user-guide/api-mediation/configuration-rate-limiter.md b/docs/user-guide/api-mediation/configuration-rate-limiter.md index d786c07c2d..a3997c186a 100644 --- a/docs/user-guide/api-mediation/configuration-rate-limiter.md +++ b/docs/user-guide/api-mediation/configuration-rate-limiter.md @@ -1,11 +1,7 @@ # Configuring custom rate limiter -The API Gateway offers a way to customize the rate limit per service by introducing a configurable rate limiter. - -It’s essential for the system to prevent individual users from overloading it. -By setting rate limits per user on selected services, this configuration helps ensure that one user's activity doesn’t negatively impact the experience of others, -mitigating the risk of Distributed Denial-of-Service (DDoS) attacks and other automated exploit attempts. +The API Gateway offers a way to customize the rate limit for each service via a configurable rate limiter, which prevents individual users from overloading the system. Configuring the rate limiter helps ensure that a user's activity does not negatively impact the experience of other users by mitigating the risk of Distributed Denial-of-Service (DDoS) attacks and other automated exploit attempts. ## Procedure @@ -34,4 +30,5 @@ mitigating the risk of Distributed Denial-of-Service (DDoS) attacks and other au rateLimiterRefillDuration: 1 servicesToLimitRequestRate: apicatalog ``` -In simple terms, this rate-limiting configuration allows to control how many requests users can make to specified services and how quickly their request allowance renews, promoting fair access and better overall system stability. +You configured the properties of the rate limiter for the API Catalog, thereby improving user accessibility and overall system stability. + From 26cd82050e5c68f3589aeeb6b85d7ec851adffca Mon Sep 17 00:00:00 2001 From: Andrew Jandacek Date: Thu, 7 Nov 2024 17:02:44 +0100 Subject: [PATCH 011/101] change title to Customizing Gateway rate limiter Signed-off-by: Andrew Jandacek --- ...ion-rate-limiter.md => customizing-gateway-rate-limiter.md} | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) rename docs/user-guide/api-mediation/{configuration-rate-limiter.md => customizing-gateway-rate-limiter.md} (97%) diff --git a/docs/user-guide/api-mediation/configuration-rate-limiter.md b/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md similarity index 97% rename from docs/user-guide/api-mediation/configuration-rate-limiter.md rename to docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md index a3997c186a..e92bf545af 100644 --- a/docs/user-guide/api-mediation/configuration-rate-limiter.md +++ b/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md @@ -1,5 +1,4 @@ -# Configuring custom rate limiter - +# Customizing Gateway rate limiter The API Gateway offers a way to customize the rate limit for each service via a configurable rate limiter, which prevents individual users from overloading the system. Configuring the rate limiter helps ensure that a user's activity does not negatively impact the experience of other users by mitigating the risk of Distributed Denial-of-Service (DDoS) attacks and other automated exploit attempts. From 81ffa0958cb21ff455f16a7e8f2e3e6b3033d491 Mon Sep 17 00:00:00 2001 From: Andrew Jandacek Date: Thu, 7 Nov 2024 17:04:41 +0100 Subject: [PATCH 012/101] add customizing gateway rate limiter to sidebar.js Signed-off-by: Andrew Jandacek --- sidebars.js | 1 + 1 file changed, 1 insertion(+) diff --git a/sidebars.js b/sidebars.js index 367fe5b0fa..a315961bbb 100644 --- a/sidebars.js +++ b/sidebars.js @@ -286,6 +286,7 @@ module.exports = { "items": [ "user-guide/api-mediation/configuration-connection-limits", "user-guide/api-mediation/configuration-gateway-timeouts", + "user-guide/api-mediation/customizing-gateway-rate-limiter", "user-guide/api-mediation/configuration-customizing-java-heap-sizes" ] } From 365ceb98193b4cd89c9490eb50d003c5b7f1771e Mon Sep 17 00:00:00 2001 From: Andrew Jandacek Date: Thu, 7 Nov 2024 17:05:57 +0100 Subject: [PATCH 013/101] add role Signed-off-by: Andrew Jandacek --- .../api-mediation/customizing-gateway-rate-limiter.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md b/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md index e92bf545af..9e0353070b 100644 --- a/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md +++ b/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md @@ -1,5 +1,8 @@ # Customizing Gateway rate limiter +:::info Role: system programmer +::: + The API Gateway offers a way to customize the rate limit for each service via a configurable rate limiter, which prevents individual users from overloading the system. Configuring the rate limiter helps ensure that a user's activity does not negatively impact the experience of other users by mitigating the risk of Distributed Denial-of-Service (DDoS) attacks and other automated exploit attempts. ## Procedure From d3efc6a0c802959d5b3f53086dbcbe9e8f37b791 Mon Sep 17 00:00:00 2001 From: Andrew Jandacek Date: Thu, 7 Nov 2024 17:24:18 +0100 Subject: [PATCH 014/101] fix intro Signed-off-by: Andrew Jandacek --- .../api-mediation/customizing-gateway-rate-limiter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md b/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md index 9e0353070b..10ba85f691 100644 --- a/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md +++ b/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md @@ -5,7 +5,7 @@ The API Gateway offers a way to customize the rate limit for each service via a configurable rate limiter, which prevents individual users from overloading the system. Configuring the rate limiter helps ensure that a user's activity does not negatively impact the experience of other users by mitigating the risk of Distributed Denial-of-Service (DDoS) attacks and other automated exploit attempts. -## Procedure +Use the following procedure to customize the Gateway rate limiter: 1. In the zowe.yaml, set the following rate limiting properties in api/gateway/routing: From 1fbe49837305d0bb044488a53bc3cb715b2c6703 Mon Sep 17 00:00:00 2001 From: Olha Date: Fri, 8 Nov 2024 10:38:44 +0100 Subject: [PATCH 015/101] rename the reference --- docs/user-guide/api-mediation/configuration-routing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/user-guide/api-mediation/configuration-routing.md b/docs/user-guide/api-mediation/configuration-routing.md index c62d309b56..84ec5123a1 100644 --- a/docs/user-guide/api-mediation/configuration-routing.md +++ b/docs/user-guide/api-mediation/configuration-routing.md @@ -25,7 +25,7 @@ The Gateway retry policy, customizable through zowe.yaml, optimizes request hand To customize the Gateway retry policy, see [Customizing Gateway retry policy](./configuration-gateway-retry-policy.md). -To configure a custom rate limiter, see [Configuring custom rate limiter](./configuration-rate-limiter.md). +To configure a custom rate limiter, see [Configuring custom rate limiter](./customizing-gateway-rate-limiter.md). Additionally, API ML supports specific instance access and load balancer cache distribution, improving service identification and scalability. These configurations, including service ID adjustments for compatibility with Zowe v2, demonstrate Zowe's adaptability and robustness in API management. From 8ecb1cef3f246a4ad32ea591adf94e351d104ef8 Mon Sep 17 00:00:00 2001 From: Andrew Jandacek Date: Fri, 8 Nov 2024 11:38:11 +0100 Subject: [PATCH 016/101] add missing sub-topics Signed-off-by: Andrew Jandacek --- ...nfiguration-customizing-management-of-apiml-load-limits.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/user-guide/api-mediation/configuration-customizing-management-of-apiml-load-limits.md b/docs/user-guide/api-mediation/configuration-customizing-management-of-apiml-load-limits.md index a2808c0e6a..a08edb2bd5 100644 --- a/docs/user-guide/api-mediation/configuration-customizing-management-of-apiml-load-limits.md +++ b/docs/user-guide/api-mediation/configuration-customizing-management-of-apiml-load-limits.md @@ -8,6 +8,10 @@ As a system programmer, you can customize your configuration for how API ML mana * To change the number of concurrent connections per route passing through the API Gateway, see [Customizing connection limits](./configuration-connection-limits.md). * To change the global Gateway timeout value for the API ML instance, see [Customizing Gateway timeouts](./configuration-gateway-timeouts.md). + + * To change the number of concurrent requests an application should support and its impact on the size of the Java memory heap, see [Customizing Java Heap sizes](./configuration-customizing-java-heap-sizes.md). + + * To customize the rate limit for each service, see [Customizing Gateway rate limiter](./customizing-gateway-rate-limiter.md). * Also see the following properties in API Gateway configuration parameters: * `server.maxTotalConnections` From 40980b6a9273a4c8df41bf7eb8842d8af9041266 Mon Sep 17 00:00:00 2001 From: Andrew Jandacek Date: Fri, 8 Nov 2024 11:40:54 +0100 Subject: [PATCH 017/101] remove rate limiter from configuration-routing Signed-off-by: Andrew Jandacek --- docs/user-guide/api-mediation/configuration-routing.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/user-guide/api-mediation/configuration-routing.md b/docs/user-guide/api-mediation/configuration-routing.md index 84ec5123a1..f153cfde01 100644 --- a/docs/user-guide/api-mediation/configuration-routing.md +++ b/docs/user-guide/api-mediation/configuration-routing.md @@ -25,8 +25,6 @@ The Gateway retry policy, customizable through zowe.yaml, optimizes request hand To customize the Gateway retry policy, see [Customizing Gateway retry policy](./configuration-gateway-retry-policy.md). -To configure a custom rate limiter, see [Configuring custom rate limiter](./customizing-gateway-rate-limiter.md). - Additionally, API ML supports specific instance access and load balancer cache distribution, improving service identification and scalability. These configurations, including service ID adjustments for compatibility with Zowe v2, demonstrate Zowe's adaptability and robustness in API management. To configure a unique cookie name for each instance to prevent overwriting of the default cookie name in the case of multiple Zowe instances, or for more complex deployment strategies, see [Configuring a unique cookie name for a specific API ML instance](./configuration-unique-cookie-name-for-multiple-zowe-instances.md). From e84800d0c8f339216019e7aa8f8aea42085b240a Mon Sep 17 00:00:00 2001 From: Olha Date: Fri, 8 Nov 2024 11:56:12 +0100 Subject: [PATCH 018/101] update the desription --- .../api-mediation/customizing-gateway-rate-limiter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md b/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md index 10ba85f691..c056793758 100644 --- a/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md +++ b/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md @@ -3,7 +3,7 @@ :::info Role: system programmer ::: -The API Gateway offers a way to customize the rate limit for each service via a configurable rate limiter, which prevents individual users from overloading the system. Configuring the rate limiter helps ensure that a user's activity does not negatively impact the experience of other users by mitigating the risk of Distributed Denial-of-Service (DDoS) attacks and other automated exploit attempts. +The API Gateway offers a way to customize the rate limit for each service via a configurable rate limiter, which prevents individual users from overloading the system with excessive requests. Configuring the rate limiter helps ensure that a user's activity does not negatively impact the experience of other users by mitigating the risk of Distributed Denial-of-Service (DDoS) attacks and other automated exploit attempts. Use the following procedure to customize the Gateway rate limiter: From ca06110fb5c8e30b7e54742af0f2431d31a969bb Mon Sep 17 00:00:00 2001 From: Timothy Johnson Date: Fri, 8 Nov 2024 12:16:39 -0500 Subject: [PATCH 019/101] Update Docusaurus to 3.6 and enable faster builds Signed-off-by: Timothy Johnson --- .github/workflows/build-docs.yml | 2 +- docusaurus.config.js | 17 +- package-lock.json | 6778 ++++++++++------- package.json | 14 +- src/theme/DocItem/DocContent.js | 4 +- src/theme/DocItem/Layout.js | 2 +- src/theme/DocItem/index.js | 2 +- src/theme/DocVersionBanner/index.js | 3 +- src/theme/MDXComponents/Tpsr.js | 2 +- .../DocsVersionDropdownNavbarItem.js | 2 +- 10 files changed, 4188 insertions(+), 2638 deletions(-) diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index f4ef01ab71..8e64ba2871 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -43,7 +43,7 @@ jobs: env: TAR_OPTIONS: "--remove-files" with: - path: node_modules/.cache/webpack + path: node_modules/.cache/rspack key: cache-webpack-${{ github.base_ref || github.ref_name }} - name: Install Dependencies diff --git a/docusaurus.config.js b/docusaurus.config.js index 288988abca..582d3bb843 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -3,8 +3,7 @@ const versionsArray = require("./versions.json"); module.exports = { title: "Zowe Docs", - tagline: - "Combining the past and the present to build the future of Mainframe", + tagline: "Combining the past and the present to build the future of Mainframe", url: "https://docs.zowe.org/", baseUrl: "/", onBrokenLinks: "warn", @@ -18,18 +17,12 @@ module.exports = { comments: true } }, - webpack: { - jsLoader: (isServer) => ({ - loader: require.resolve("esbuild-loader"), - options: { - loader: "tsx", - format: isServer ? "cjs" : undefined, - target: isServer ? "node12" : "es2017", - }, - }), + future: { + // https://docusaurus.io/blog/releases/3.6#docusaurus-faster + experimental_faster: true, }, themeConfig: { - docs: { + docs: { sidebar: { hideable: true } diff --git a/package-lock.json b/package-lock.json index 765b4aa091..9f3412a725 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,16 +8,16 @@ "name": "docs-site", "version": "0.0.0", "dependencies": { - "@docusaurus/core": "^3.4.0", - "@docusaurus/plugin-client-redirects": "^3.4.0", - "@docusaurus/plugin-pwa": "^3.4.0", - "@docusaurus/preset-classic": "^3.4.0", - "@mdx-js/react": "^3.0.0", + "@docusaurus/core": "^3.6.1", + "@docusaurus/faster": "^3.6.1", + "@docusaurus/plugin-client-redirects": "^3.6.1", + "@docusaurus/plugin-pwa": "^3.6.1", + "@docusaurus/preset-classic": "^3.6.1", + "@mdx-js/react": "^3.1.0", "clsx": "^2.1.1", - "esbuild-loader": "^4.2.2", "react": "^18.3.1", "react-dom": "^18.3.1", - "react-medium-image-zoom": "^5.2.8", + "react-medium-image-zoom": "^5.2.10", "reading-time": "^1.5.0" }, "devDependencies": { @@ -25,31 +25,34 @@ } }, "node_modules/@algolia/autocomplete-core": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", - "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.6.tgz", + "integrity": "sha512-lkDoW4I7h2kKlIgf3pUt1LqvxyYKkVyiypoGLlUnhPSnCpmeOwudM6rNq6YYsCmdQtnDQoW5lUNNuj6ASg3qeg==", + "license": "MIT", "dependencies": { - "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", - "@algolia/autocomplete-shared": "1.9.3" + "@algolia/autocomplete-plugin-algolia-insights": "1.17.6", + "@algolia/autocomplete-shared": "1.17.6" } }, "node_modules/@algolia/autocomplete-plugin-algolia-insights": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", - "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.6.tgz", + "integrity": "sha512-17NnaacuFzSWVuZu4NKzVeaFIe9Abpw8w+/gjc7xhZFtqj+GadufzodIdchwiB2eM2cDdiR3icW7gbNTB3K2YA==", + "license": "MIT", "dependencies": { - "@algolia/autocomplete-shared": "1.9.3" + "@algolia/autocomplete-shared": "1.17.6" }, "peerDependencies": { "search-insights": ">= 1 < 3" } }, "node_modules/@algolia/autocomplete-preset-algolia": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", - "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.6.tgz", + "integrity": "sha512-Cvg5JENdSCMuClwhJ1ON1/jSuojaYMiUW2KePm18IkdCzPJj/NXojaOxw58RFtQFpJgfVW8h2E8mEoDtLlMdeA==", + "license": "MIT", "dependencies": { - "@algolia/autocomplete-shared": "1.9.3" + "@algolia/autocomplete-shared": "1.17.6" }, "peerDependencies": { "@algolia/client-search": ">= 4.9.1 < 6", @@ -57,9 +60,10 @@ } }, "node_modules/@algolia/autocomplete-shared": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", - "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.6.tgz", + "integrity": "sha512-aq/3V9E00Tw2GC/PqgyPGXtqJUlVc17v4cn1EUhSc+O/4zd04Uwb3UmPm8KDaYQQOrkt1lwvCj2vG2wRE5IKhw==", + "license": "MIT", "peerDependencies": { "@algolia/client-search": ">= 4.9.1 < 6", "algoliasearch": ">= 4.9.1 < 6" @@ -69,6 +73,7 @@ "version": "4.24.0", "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.24.0.tgz", "integrity": "sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==", + "license": "MIT", "dependencies": { "@algolia/cache-common": "4.24.0" } @@ -76,30 +81,70 @@ "node_modules/@algolia/cache-common": { "version": "4.24.0", "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.24.0.tgz", - "integrity": "sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==" + "integrity": "sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==", + "license": "MIT" }, "node_modules/@algolia/cache-in-memory": { "version": "4.24.0", "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.24.0.tgz", "integrity": "sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==", + "license": "MIT", "dependencies": { "@algolia/cache-common": "4.24.0" } }, + "node_modules/@algolia/client-abtesting": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.13.0.tgz", + "integrity": "sha512-6CoQjlMi1pmQYMQO8tXfuGxSPf6iKX5FP9MuMe6IWmvC81wwTvOehnwchyBl2wuPVhcw2Ar53K53mQ60DAC64g==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.13.0", + "@algolia/requester-browser-xhr": "5.13.0", + "@algolia/requester-fetch": "5.13.0", + "@algolia/requester-node-http": "5.13.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/@algolia/client-account": { "version": "4.24.0", "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.24.0.tgz", "integrity": "sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==", + "license": "MIT", "dependencies": { "@algolia/client-common": "4.24.0", "@algolia/client-search": "4.24.0", "@algolia/transporter": "4.24.0" } }, + "node_modules/@algolia/client-account/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-account/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, "node_modules/@algolia/client-analytics": { "version": "4.24.0", "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.24.0.tgz", "integrity": "sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==", + "license": "MIT", "dependencies": { "@algolia/client-common": "4.24.0", "@algolia/client-search": "4.24.0", @@ -107,57 +152,158 @@ "@algolia/transporter": "4.24.0" } }, - "node_modules/@algolia/client-common": { + "node_modules/@algolia/client-analytics/node_modules/@algolia/client-common": { "version": "4.24.0", "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-analytics/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "license": "MIT", "dependencies": { + "@algolia/client-common": "4.24.0", "@algolia/requester-common": "4.24.0", "@algolia/transporter": "4.24.0" } }, + "node_modules/@algolia/client-common": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.13.0.tgz", + "integrity": "sha512-2SP6bGGWOTN920MLZv8s7yIR3OqY03vEe4U+vb2MGdL8a/8EQznF3L/nTC/rGf/hvEfZlX2tGFxPJaF2waravg==", + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.13.0.tgz", + "integrity": "sha512-ldHTe+LVgC6L4Wr6doAQQ7Ku0jAdhaaPg1T+IHzmmiRZb2Uq5OsjW2yC65JifOmzPCiMkIZE2mGRpWgkn5ktlw==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.13.0", + "@algolia/requester-browser-xhr": "5.13.0", + "@algolia/requester-fetch": "5.13.0", + "@algolia/requester-node-http": "5.13.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/@algolia/client-personalization": { "version": "4.24.0", "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.24.0.tgz", "integrity": "sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==", + "license": "MIT", "dependencies": { "@algolia/client-common": "4.24.0", "@algolia/requester-common": "4.24.0", "@algolia/transporter": "4.24.0" } }, - "node_modules/@algolia/client-search": { + "node_modules/@algolia/client-personalization/node_modules/@algolia/client-common": { "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", - "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "license": "MIT", "dependencies": { - "@algolia/client-common": "4.24.0", "@algolia/requester-common": "4.24.0", "@algolia/transporter": "4.24.0" } }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.13.0.tgz", + "integrity": "sha512-pYo0jbLUtPDN1r341UHTaF2fgN5rbaZfDZqjPRKPM+FRlRmxFxqFQm1UUfpkSUWYGn7lECwDpbKYiKUf81MTwA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.13.0", + "@algolia/requester-browser-xhr": "5.13.0", + "@algolia/requester-fetch": "5.13.0", + "@algolia/requester-node-http": "5.13.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.13.0.tgz", + "integrity": "sha512-s2ge3uZ6Zg2sPSFibqijgEYsuorxcc8KVHg3I95nOPHvFHdnBtSHymhZvq4sp/fu8ijt/Y8jLwkuqm5myn+2Sg==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.13.0", + "@algolia/requester-browser-xhr": "5.13.0", + "@algolia/requester-fetch": "5.13.0", + "@algolia/requester-node-http": "5.13.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/@algolia/events": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", - "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" + "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==", + "license": "MIT" + }, + "node_modules/@algolia/ingestion": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.13.0.tgz", + "integrity": "sha512-fm5LEOe4FPDOc1D+M9stEs8hfcdmbdD+pt9og5shql6ueTZJANDbFoQhDOpiPJizR/ps1GwmjkWfUEywx3sV+Q==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.13.0", + "@algolia/requester-browser-xhr": "5.13.0", + "@algolia/requester-fetch": "5.13.0", + "@algolia/requester-node-http": "5.13.0" + }, + "engines": { + "node": ">= 14.0.0" + } }, "node_modules/@algolia/logger-common": { "version": "4.24.0", "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.24.0.tgz", - "integrity": "sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==" + "integrity": "sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==", + "license": "MIT" }, "node_modules/@algolia/logger-console": { "version": "4.24.0", "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.24.0.tgz", "integrity": "sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==", + "license": "MIT", "dependencies": { "@algolia/logger-common": "4.24.0" } }, + "node_modules/@algolia/monitoring": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.13.0.tgz", + "integrity": "sha512-e8Hshlnm2G5fapyUgWTBwhJ22yXcnLtPC4LWZKx7KOvv35GcdoHtlUBX94I/sWCJLraUr65JvR8qOo3LXC43dg==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.13.0", + "@algolia/requester-browser-xhr": "5.13.0", + "@algolia/requester-fetch": "5.13.0", + "@algolia/requester-node-http": "5.13.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/@algolia/recommend": { "version": "4.24.0", "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.24.0.tgz", "integrity": "sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==", + "license": "MIT", "dependencies": { "@algolia/cache-browser-local-storage": "4.24.0", "@algolia/cache-common": "4.24.0", @@ -172,31 +318,92 @@ "@algolia/transporter": "4.24.0" } }, - "node_modules/@algolia/requester-browser-xhr": { + "node_modules/@algolia/recommend/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/requester-browser-xhr": { "version": "4.24.0", "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz", "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/@algolia/recommend/node_modules/@algolia/requester-node-http": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", + "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", + "license": "MIT", "dependencies": { "@algolia/requester-common": "4.24.0" } }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.13.0.tgz", + "integrity": "sha512-NV6oSCt5lFuzfsVQoSBpewEWf/h4ySr7pv2bfwu9yF/jc/g39pig8+YpuqsxlRWBm/lTGVA2V0Ai9ySwrNumIA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.13.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/@algolia/requester-common": { "version": "4.24.0", "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.24.0.tgz", - "integrity": "sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==" + "integrity": "sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==", + "license": "MIT" + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.13.0.tgz", + "integrity": "sha512-094bK4rumf+rXJazxv3mq6eKRM0ep5AxIo8T0YmOdldswQt79apeufFiPLN19nHEWH22xR2FelimD+T/wRSP+Q==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.13.0" + }, + "engines": { + "node": ">= 14.0.0" + } }, "node_modules/@algolia/requester-node-http": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", - "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.13.0.tgz", + "integrity": "sha512-JY5xhEYMgki53Wm+A6R2jUpOUdD0zZnBq+PC5R1TGMNOYL1s6JjDrJeMsvaI2YWxYMUSoCnRoltN/yf9RI8n3A==", + "license": "MIT", "dependencies": { - "@algolia/requester-common": "4.24.0" + "@algolia/client-common": "5.13.0" + }, + "engines": { + "node": ">= 14.0.0" } }, "node_modules/@algolia/transporter": { "version": "4.24.0", "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.24.0.tgz", "integrity": "sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==", + "license": "MIT", "dependencies": { "@algolia/cache-common": "4.24.0", "@algolia/logger-common": "4.24.0", @@ -232,104 +439,44 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", + "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz", - "integrity": "sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", + "license": "MIT", "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.9", - "@babel/parser": "^7.23.9", - "@babel/template": "^7.23.9", - "@babel/traverse": "^7.23.9", - "@babel/types": "^7.23.9", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -353,49 +500,55 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", + "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz", + "integrity": "sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -407,23 +560,23 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.23.10", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz", - "integrity": "sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw==", - "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", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz", + "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/traverse": "^7.25.9", "semver": "^6.3.1" }, "engines": { @@ -437,17 +590,19 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz", + "integrity": "sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", + "@babel/helper-annotate-as-pure": "^7.25.9", + "regexpu-core": "^6.1.1", "semver": "^6.3.1" }, "engines": { @@ -466,9 +621,10 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", - "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "license": "MIT", "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-plugin-utils": "^7.22.5", @@ -480,69 +636,41 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", + "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.23.0" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "license": "MIT", "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-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -552,32 +680,35 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", + "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", - "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz", + "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==", + "license": "MIT", "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-annotate-as-pure": "^7.25.9", + "@babel/helper-wrap-function": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -587,13 +718,14 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz", + "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==", + "license": "MIT", "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-member-expression-to-functions": "^7.25.9", + "@babel/helper-optimise-call-expression": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -603,182 +735,138 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz", + "integrity": "sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", + "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz", + "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==", + "license": "MIT", "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.9.tgz", - "integrity": "sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", + "license": "MIT", "dependencies": { - "@babel/template": "^7.23.9", - "@babel/traverse": "^7.23.9", - "@babel/types": "^7.23.9" + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "node_modules/@babel/parser": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "@babel/types": "^7.26.0" }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz", + "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==", + "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz", + "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==", + "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", - "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", - "bin": { - "parser": "bin/babel-parser.js" + "node": ">=6.9.0" }, - "engines": { - "node": ">=6.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", - "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz", + "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -788,13 +876,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", - "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==", + "license": "MIT", "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/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -804,12 +893,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", - "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz", + "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==", + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -829,10 +919,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -840,23 +930,28 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz", + "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -865,48 +960,58 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", - "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", - "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz", + "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -915,188 +1020,15 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz", + "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", - "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", - "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", - "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", - "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", - "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/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1106,13 +1038,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", - "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", + "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", + "license": "MIT", "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/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-remap-async-to-generator": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1122,11 +1055,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", - "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz", + "integrity": "sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1136,11 +1070,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", - "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz", + "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1150,12 +1085,13 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", - "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz", + "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1165,13 +1101,13 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", - "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz", + "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==", + "license": "MIT", "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/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1181,17 +1117,16 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", - "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", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz", + "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9", + "@babel/traverse": "^7.25.9", "globals": "^11.1.0" }, "engines": { @@ -1202,12 +1137,13 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", - "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz", + "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.15" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/template": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1217,11 +1153,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", - "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz", + "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1231,12 +1168,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", - "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz", + "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1246,11 +1184,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", - "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz", + "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1259,13 +1198,29 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", - "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz", + "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1275,12 +1230,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", - "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz", + "integrity": "sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA==", + "license": "MIT", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1290,12 +1246,12 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", - "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz", + "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1305,12 +1261,13 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", - "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz", + "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1320,13 +1277,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", - "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz", + "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==", + "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1336,12 +1294,12 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", - "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz", + "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1351,11 +1309,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", - "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz", + "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1365,12 +1324,12 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", - "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz", + "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1380,11 +1339,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", - "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz", + "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1394,12 +1354,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", - "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz", + "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1409,13 +1370,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", - "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz", + "integrity": "sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-simple-access": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1425,14 +1387,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", - "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz", + "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==", + "license": "MIT", "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/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1442,12 +1405,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", - "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz", + "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==", + "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-module-transforms": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1457,12 +1421,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz", + "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1472,11 +1437,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", - "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz", + "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1486,12 +1452,12 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", - "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz", + "integrity": "sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1501,12 +1467,12 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", - "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz", + "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1516,15 +1482,14 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", - "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz", + "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==", + "license": "MIT", "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/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1534,12 +1499,13 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", - "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz", + "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-replace-supers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1549,12 +1515,12 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", - "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz", + "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1564,13 +1530,13 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", - "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz", + "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==", + "license": "MIT", "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/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1580,11 +1546,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", - "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz", + "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1594,12 +1561,13 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", - "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz", + "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1609,14 +1577,14 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", - "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz", + "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==", + "license": "MIT", "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/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1626,11 +1594,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", - "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz", + "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1640,11 +1609,12 @@ } }, "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.25.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.1.tgz", - "integrity": "sha512-SLV/giH/V4SmloZ6Dt40HjTGTAIkxn33TVIHxNGNvo8ezMhrxBkzisj4op1KZYPIOHFLqhv60OHvX+YRu4xbmQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.9.tgz", + "integrity": "sha512-Ncw2JFsJVuvfRsa2lSHiC55kETQVLSnsYGQ1JDDwkUeWGTL/8Tom8aLTnlqgoeuopWrbbGndrc9AlLYrIosrow==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1654,11 +1624,12 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", - "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz", + "integrity": "sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1668,15 +1639,16 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", - "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", + "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", + "license": "MIT", "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/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1686,11 +1658,12 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", - "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz", + "integrity": "sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw==", + "license": "MIT", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" + "@babel/plugin-transform-react-jsx": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1700,12 +1673,13 @@ } }, "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", - "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz", + "integrity": "sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1715,11 +1689,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", - "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz", + "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.25.9", "regenerator-transform": "^0.15.2" }, "engines": { @@ -1729,12 +1704,29 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz", + "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", - "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz", + "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1744,15 +1736,16 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz", - "integrity": "sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ==", - "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz", + "integrity": "sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", "semver": "^6.3.1" }, "engines": { @@ -1766,16 +1759,18 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", - "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz", + "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1785,12 +1780,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", - "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz", + "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1800,11 +1796,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", - "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz", + "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1814,11 +1811,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", - "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz", + "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1828,11 +1826,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", - "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz", + "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1842,14 +1841,16 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", - "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz", + "integrity": "sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.23.6", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.23.3" + "@babel/helper-annotate-as-pure": "^7.25.9", + "@babel/helper-create-class-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", + "@babel/plugin-syntax-typescript": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1859,11 +1860,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", - "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz", + "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1873,12 +1875,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", - "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz", + "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1888,12 +1891,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", - "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz", + "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1903,12 +1907,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", - "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz", + "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -1918,89 +1923,79 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.9.tgz", - "integrity": "sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==", - "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", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.0.tgz", + "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", "@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-import-assertions": "^7.26.0", + "@babel/plugin-syntax-import-attributes": "^7.26.0", "@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.9", - "@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.9", - "@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/plugin-transform-arrow-functions": "^7.25.9", + "@babel/plugin-transform-async-generator-functions": "^7.25.9", + "@babel/plugin-transform-async-to-generator": "^7.25.9", + "@babel/plugin-transform-block-scoped-functions": "^7.25.9", + "@babel/plugin-transform-block-scoping": "^7.25.9", + "@babel/plugin-transform-class-properties": "^7.25.9", + "@babel/plugin-transform-class-static-block": "^7.26.0", + "@babel/plugin-transform-classes": "^7.25.9", + "@babel/plugin-transform-computed-properties": "^7.25.9", + "@babel/plugin-transform-destructuring": "^7.25.9", + "@babel/plugin-transform-dotall-regex": "^7.25.9", + "@babel/plugin-transform-duplicate-keys": "^7.25.9", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-dynamic-import": "^7.25.9", + "@babel/plugin-transform-exponentiation-operator": "^7.25.9", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-for-of": "^7.25.9", + "@babel/plugin-transform-function-name": "^7.25.9", + "@babel/plugin-transform-json-strings": "^7.25.9", + "@babel/plugin-transform-literals": "^7.25.9", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", + "@babel/plugin-transform-member-expression-literals": "^7.25.9", + "@babel/plugin-transform-modules-amd": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-modules-systemjs": "^7.25.9", + "@babel/plugin-transform-modules-umd": "^7.25.9", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", + "@babel/plugin-transform-new-target": "^7.25.9", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.9", + "@babel/plugin-transform-numeric-separator": "^7.25.9", + "@babel/plugin-transform-object-rest-spread": "^7.25.9", + "@babel/plugin-transform-object-super": "^7.25.9", + "@babel/plugin-transform-optional-catch-binding": "^7.25.9", + "@babel/plugin-transform-optional-chaining": "^7.25.9", + "@babel/plugin-transform-parameters": "^7.25.9", + "@babel/plugin-transform-private-methods": "^7.25.9", + "@babel/plugin-transform-private-property-in-object": "^7.25.9", + "@babel/plugin-transform-property-literals": "^7.25.9", + "@babel/plugin-transform-regenerator": "^7.25.9", + "@babel/plugin-transform-regexp-modifiers": "^7.26.0", + "@babel/plugin-transform-reserved-words": "^7.25.9", + "@babel/plugin-transform-shorthand-properties": "^7.25.9", + "@babel/plugin-transform-spread": "^7.25.9", + "@babel/plugin-transform-sticky-regex": "^7.25.9", + "@babel/plugin-transform-template-literals": "^7.25.9", + "@babel/plugin-transform-typeof-symbol": "^7.25.9", + "@babel/plugin-transform-unicode-escapes": "^7.25.9", + "@babel/plugin-transform-unicode-property-regex": "^7.25.9", + "@babel/plugin-transform-unicode-regex": "^7.25.9", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", - "core-js-compat": "^3.31.0", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.38.1", "semver": "^6.3.1" }, "engines": { @@ -2032,16 +2027,17 @@ } }, "node_modules/@babel/preset-react": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", - "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.25.9.tgz", + "integrity": "sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw==", + "license": "MIT", "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/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-transform-react-display-name": "^7.25.9", + "@babel/plugin-transform-react-jsx": "^7.25.9", + "@babel/plugin-transform-react-jsx-development": "^7.25.9", + "@babel/plugin-transform-react-pure-annotations": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2051,15 +2047,16 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", - "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz", + "integrity": "sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-typescript": "^7.23.3" + "@babel/helper-plugin-utils": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/plugin-transform-modules-commonjs": "^7.25.9", + "@babel/plugin-transform-typescript": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2068,15 +2065,11 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" - }, "node_modules/@babel/runtime": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz", - "integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.0.tgz", + "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==", + "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -2085,9 +2078,10 @@ } }, "node_modules/@babel/runtime-corejs3": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.9.tgz", - "integrity": "sha512-oeOFTrYWdWXCvXGB5orvMTJ6gCZ9I6FBjR+M38iKNXCsPxr4xT0RTdg5uz1H7QP8pp74IzPtwritEr+JscqHXQ==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.26.0.tgz", + "integrity": "sha512-YXHu5lN8kJCb1LOb9PgV6pvak43X2h4HvRApcN5SdWeaItQOzfn1hgP6jasD6KWQyJDBxrVmA9o9OivlnNJK/w==", + "license": "MIT", "dependencies": { "core-js-pure": "^3.30.2", "regenerator-runtime": "^0.14.0" @@ -2097,31 +2091,30 @@ } }, "node_modules/@babel/template": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.23.9.tgz", - "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.23.9", - "@babel/types": "^7.23.9" + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz", - "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==", - "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.9", - "@babel/types": "^7.23.9", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -2130,13 +2123,13 @@ } }, "node_modules/@babel/types": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", - "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2155,24 +2148,27 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "license": "MIT", "engines": { "node": ">=10.0.0" } }, "node_modules/@docsearch/css": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.1.tgz", - "integrity": "sha512-VtVb5DS+0hRIprU2CO6ZQjK2Zg4QU5HrDM1+ix6rT0umsYvFvatMAnf97NHZlVWDaaLlx7GRfR/7FikANiM2Fg==" + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.7.0.tgz", + "integrity": "sha512-1OorbTwi1eeDmr0v5t+ckSRlt1zM5GHjm92iIl3kUu7im3GHuP+csf6E0WBg8pdXQczTWP9J9+o9n+Vg6DH5cQ==", + "license": "MIT" }, "node_modules/@docsearch/react": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.1.tgz", - "integrity": "sha512-qXZkEPvybVhSXj0K7U3bXc233tk5e8PfhoZ6MhPOiik/qUQxYC+Dn9DnoS7CxHQQhHfCvTiN0eY9M12oRghEXw==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.7.0.tgz", + "integrity": "sha512-8e6tdDfkYoxafEEPuX5eE1h9cTkLvhe4KgoFkO5JCddXSQONnN1FHcDZRI4r8894eMpbYq6rdJF0dVYh8ikwNQ==", + "license": "MIT", "dependencies": { - "@algolia/autocomplete-core": "1.9.3", - "@algolia/autocomplete-preset-algolia": "1.9.3", - "@docsearch/css": "3.6.1", - "algoliasearch": "^4.19.1" + "@algolia/autocomplete-core": "1.17.6", + "@algolia/autocomplete-preset-algolia": "1.17.6", + "@docsearch/css": "3.7.0", + "algoliasearch": "^5.12.0" }, "peerDependencies": { "@types/react": ">= 16.8.0 < 19.0.0", @@ -2195,58 +2191,176 @@ } } }, - "node_modules/@docusaurus/core": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.4.0.tgz", - "integrity": "sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w==", + "node_modules/@docsearch/react/node_modules/@algolia/client-analytics": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.13.0.tgz", + "integrity": "sha512-pS3qyXiWTwKnrt/jE79fqkNqZp7kjsFNlJDcBGkSWid74DNc6DmArlkvPqyLxnoaYGjUGACT6g56n7E3mVV2TA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.13.0", + "@algolia/requester-browser-xhr": "5.13.0", + "@algolia/requester-fetch": "5.13.0", + "@algolia/requester-node-http": "5.13.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docsearch/react/node_modules/@algolia/client-personalization": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.13.0.tgz", + "integrity": "sha512-RnCfOSN4OUJDuMNHFca2M8lY64Tmw0kQOZikge4TknTqHmlbKJb8IbJE7Rol79Z80W2Y+B1ydcjV7DPje4GMRA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.13.0", + "@algolia/requester-browser-xhr": "5.13.0", + "@algolia/requester-fetch": "5.13.0", + "@algolia/requester-node-http": "5.13.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docsearch/react/node_modules/@algolia/recommend": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.13.0.tgz", + "integrity": "sha512-53/wW96oaj1FKMzGdFcZ/epygfTppLDUvgI1thLkd475EtVZCH3ZZVUNCEvf1AtnNyH1RnItkFzX8ayWCpx2PQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.13.0", + "@algolia/requester-browser-xhr": "5.13.0", + "@algolia/requester-fetch": "5.13.0", + "@algolia/requester-node-http": "5.13.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docsearch/react/node_modules/algoliasearch": { + "version": "5.13.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.13.0.tgz", + "integrity": "sha512-04lyQX3Ev/oLYQx+aagamQDXvkUUfX1mwrLrus15+9fNaYj28GDxxEzbwaRfvmHFcZyoxvup7mMtDTTw8SrTEQ==", + "license": "MIT", + "dependencies": { + "@algolia/client-abtesting": "5.13.0", + "@algolia/client-analytics": "5.13.0", + "@algolia/client-common": "5.13.0", + "@algolia/client-insights": "5.13.0", + "@algolia/client-personalization": "5.13.0", + "@algolia/client-query-suggestions": "5.13.0", + "@algolia/client-search": "5.13.0", + "@algolia/ingestion": "1.13.0", + "@algolia/monitoring": "1.13.0", + "@algolia/recommend": "5.13.0", + "@algolia/requester-browser-xhr": "5.13.0", + "@algolia/requester-fetch": "5.13.0", + "@algolia/requester-node-http": "5.13.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@docusaurus/babel": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/babel/-/babel-3.6.1.tgz", + "integrity": "sha512-JcKaunW8Ml2nTnfnvFc55T00Y+aCpNWnf1KY/gG+wWxHYDH0IdXOOz+k6NAlEAerW8+VYLfUqRIqHZ7N/DVXvQ==", + "license": "MIT", "dependencies": { - "@babel/core": "^7.23.3", - "@babel/generator": "^7.23.3", + "@babel/core": "^7.25.9", + "@babel/generator": "^7.25.9", "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.22.9", - "@babel/preset-env": "^7.22.9", - "@babel/preset-react": "^7.22.5", - "@babel/preset-typescript": "^7.22.5", - "@babel/runtime": "^7.22.6", - "@babel/runtime-corejs3": "^7.22.6", - "@babel/traverse": "^7.22.8", - "@docusaurus/cssnano-preset": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "autoprefixer": "^10.4.14", - "babel-loader": "^9.1.3", + "@babel/plugin-transform-runtime": "^7.25.9", + "@babel/preset-env": "^7.25.9", + "@babel/preset-react": "^7.25.9", + "@babel/preset-typescript": "^7.25.9", + "@babel/runtime": "^7.25.9", + "@babel/runtime-corejs3": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@docusaurus/logger": "3.6.1", + "@docusaurus/utils": "3.6.1", "babel-plugin-dynamic-import-node": "^2.3.3", + "fs-extra": "^11.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/bundler": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/bundler/-/bundler-3.6.1.tgz", + "integrity": "sha512-vHSEx8Ku9x/gfIC6k4xb8J2nTxagLia0KvZkPZhxfkD1+n8i+Dj4BZPWTmv+kCA17RbgAvECG0XRZ0/ZEspQBQ==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.9", + "@docusaurus/babel": "3.6.1", + "@docusaurus/cssnano-preset": "3.6.1", + "@docusaurus/logger": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils": "3.6.1", + "autoprefixer": "^10.4.14", + "babel-loader": "^9.2.1", + "clean-css": "^5.3.2", + "copy-webpack-plugin": "^11.0.0", + "css-loader": "^6.8.1", + "css-minimizer-webpack-plugin": "^5.0.1", + "cssnano": "^6.1.2", + "file-loader": "^6.2.0", + "html-minifier-terser": "^7.2.0", + "mini-css-extract-plugin": "^2.9.1", + "null-loader": "^4.0.1", + "postcss": "^8.4.26", + "postcss-loader": "^7.3.3", + "react-dev-utils": "^12.0.1", + "terser-webpack-plugin": "^5.3.9", + "tslib": "^2.6.0", + "url-loader": "^4.1.1", + "webpack": "^5.95.0", + "webpackbar": "^6.0.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/faster": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/faster": { + "optional": true + } + } + }, + "node_modules/@docusaurus/core": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.6.1.tgz", + "integrity": "sha512-cDKxPihiM2z7G+4QtpTczS7uxNfNG6naSqM65OmAJET0CFRHbc9mDlLFtQF0lsVES91SHqfcGaaLZmi2FjdwWA==", + "license": "MIT", + "dependencies": { + "@docusaurus/babel": "3.6.1", + "@docusaurus/bundler": "3.6.1", + "@docusaurus/logger": "3.6.1", + "@docusaurus/mdx-loader": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-common": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", "boxen": "^6.2.1", "chalk": "^4.1.2", "chokidar": "^3.5.3", - "clean-css": "^5.3.2", "cli-table3": "^0.6.3", "combine-promises": "^1.1.0", "commander": "^5.1.0", - "copy-webpack-plugin": "^11.0.0", "core-js": "^3.31.1", - "css-loader": "^6.8.1", - "css-minimizer-webpack-plugin": "^5.0.1", - "cssnano": "^6.1.2", "del": "^6.1.1", "detect-port": "^1.5.1", "escape-html": "^1.0.3", "eta": "^2.2.0", "eval": "^0.1.8", - "file-loader": "^6.2.0", "fs-extra": "^11.1.1", - "html-minifier-terser": "^7.2.0", "html-tags": "^3.3.1", - "html-webpack-plugin": "^5.5.3", + "html-webpack-plugin": "^5.6.0", "leven": "^3.1.0", "lodash": "^4.17.21", - "mini-css-extract-plugin": "^2.7.6", "p-map": "^4.0.0", - "postcss": "^8.4.26", - "postcss-loader": "^7.3.3", "prompts": "^2.4.2", "react-dev-utils": "^12.0.1", "react-helmet-async": "^1.3.0", @@ -2257,17 +2371,14 @@ "react-router-dom": "^5.3.4", "rtl-detect": "^1.0.4", "semver": "^7.5.4", - "serve-handler": "^6.1.5", + "serve-handler": "^6.1.6", "shelljs": "^0.8.5", - "terser-webpack-plugin": "^5.3.9", "tslib": "^2.6.0", "update-notifier": "^6.0.2", - "url-loader": "^4.1.1", - "webpack": "^5.88.1", - "webpack-bundle-analyzer": "^4.9.0", - "webpack-dev-server": "^4.15.1", - "webpack-merge": "^5.9.0", - "webpackbar": "^5.0.2" + "webpack": "^5.95.0", + "webpack-bundle-analyzer": "^4.10.2", + "webpack-dev-server": "^4.15.2", + "webpack-merge": "^6.0.1" }, "bin": { "docusaurus": "bin/docusaurus.mjs" @@ -2276,14 +2387,30 @@ "node": ">=18.0" }, "peerDependencies": { + "@mdx-js/react": "^3.0.0", "react": "^18.0.0", "react-dom": "^18.0.0" } }, + "node_modules/@docusaurus/core/node_modules/webpack-merge": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", + "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@docusaurus/cssnano-preset": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.4.0.tgz", - "integrity": "sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.6.1.tgz", + "integrity": "sha512-ZxYUmNeyQHW2w4/PJ7d07jQDuxzmKr9uPAQ6IVe5dTkeIeV0mDBB3jOLeJkNoI42Ru9JKEqQ9aVDtM9ct6QHnw==", + "license": "MIT", "dependencies": { "cssnano-preset-advanced": "^6.1.2", "postcss": "^8.4.38", @@ -2294,12 +2421,33 @@ "node": ">=18.0" } }, - "node_modules/@docusaurus/logger": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.4.0.tgz", - "integrity": "sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q==", - "dependencies": { - "chalk": "^4.1.2", + "node_modules/@docusaurus/faster": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/faster/-/faster-3.6.1.tgz", + "integrity": "sha512-W3a9m7Q/fEeOpOw9/XktLCHRtp1sV2AdZWMCjH3kP1jY1TDyLFFiHJ0+1uwVpOw4/oPJqZSTRKP+IdW4+65NgQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/types": "3.6.1", + "@rspack/core": "^1.0.14", + "@swc/core": "^1.7.39", + "@swc/html": "^1.7.39", + "browserslist": "^4.24.2", + "lightningcss": "^1.27.0", + "swc-loader": "^0.2.6", + "tslib": "^2.6.0", + "webpack": "^5.95.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/logger": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.6.1.tgz", + "integrity": "sha512-OvetI/nnOMBSqCkUzKAQhnIjhxduECK4qTu3tq/8/h/qqvLsvKURojm04WPE54L+Uy+UXMas0hnbBJd8zDlEOw==", + "license": "MIT", + "dependencies": { + "chalk": "^4.1.2", "tslib": "^2.6.0" }, "engines": { @@ -2307,13 +2455,14 @@ } }, "node_modules/@docusaurus/mdx-loader": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.4.0.tgz", - "integrity": "sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.6.1.tgz", + "integrity": "sha512-KPIsYi0S3X3/rNrW3V1fgOu5t6ahYWc31zTHHod8pacFxdmk9Uf6uuw+Jd6Cly1ilgal+41Ku+s0gmMuqKqiqg==", + "license": "MIT", "dependencies": { - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "@docusaurus/logger": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", "@mdx-js/mdx": "^3.0.0", "@slorber/remark-comment": "^1.0.0", "escape-html": "^1.0.3", @@ -2345,11 +2494,12 @@ } }, "node_modules/@docusaurus/module-type-aliases": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz", - "integrity": "sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.6.1.tgz", + "integrity": "sha512-J+q1jgm7TnEfVIUZImSFeLA1rghb6nwtoB9siHdcgKpDqFJ9/S7xhQL2aEKE7iZMZYzpu+2F390E9A7GkdEJNA==", + "license": "MIT", "dependencies": { - "@docusaurus/types": "3.4.0", + "@docusaurus/types": "3.6.1", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -2363,15 +2513,16 @@ } }, "node_modules/@docusaurus/plugin-client-redirects": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.4.0.tgz", - "integrity": "sha512-Pr8kyh/+OsmYCvdZhc60jy/FnrY6flD2TEAhl4rJxeVFxnvvRgEhoaIVX8q9MuJmaQoh6frPk94pjs7/6YgBDQ==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-client-redirects/-/plugin-client-redirects-3.6.1.tgz", + "integrity": "sha512-gY1LEQw4zSLSPNVxZk9mDj5ct+sJNux0SiY1PbMiI9sK8xXqkTC7QuRyrxRPelSZX9K4nyhK8PjYbVXAN+GUWQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/logger": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-common": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", "eta": "^2.2.0", "fs-extra": "^11.1.1", "lodash": "^4.17.21", @@ -2386,18 +2537,20 @@ } }, "node_modules/@docusaurus/plugin-content-blog": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.4.0.tgz", - "integrity": "sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "cheerio": "^1.0.0-rc.12", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.6.1.tgz", + "integrity": "sha512-FUmsn3xg/XD/K/4FQd8XHrs92aQdZO5LUtpHnRvO1/6DY87SMz6B6ERAN9IGQQld//M2/LVTHkZy8oVhQZQHIQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/logger": "3.6.1", + "@docusaurus/mdx-loader": "3.6.1", + "@docusaurus/theme-common": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-common": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", + "cheerio": "1.0.0-rc.12", "feed": "^4.2.2", "fs-extra": "^11.1.1", "lodash": "^4.17.21", @@ -2412,23 +2565,26 @@ "node": ">=18.0" }, "peerDependencies": { + "@docusaurus/plugin-content-docs": "*", "react": "^18.0.0", "react-dom": "^18.0.0" } }, "node_modules/@docusaurus/plugin-content-docs": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.4.0.tgz", - "integrity": "sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/module-type-aliases": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.6.1.tgz", + "integrity": "sha512-Uq8kyn5DYCDmkUlB9sWChhWghS4lUFNiQU+RXcAXJ3qCVXsBpPsh6RF+npQG1N+j4wAbjydM1iLLJJzp+x3eMQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/logger": "3.6.1", + "@docusaurus/mdx-loader": "3.6.1", + "@docusaurus/module-type-aliases": "3.6.1", + "@docusaurus/theme-common": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-common": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", "@types/react-router-config": "^5.0.7", "combine-promises": "^1.1.0", "fs-extra": "^11.1.1", @@ -2447,15 +2603,16 @@ } }, "node_modules/@docusaurus/plugin-content-pages": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.4.0.tgz", - "integrity": "sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.6.1.tgz", + "integrity": "sha512-TZtL+2zq20gqGalzoIT2rEF1T4YCZ26jTvlCJXs78+incIajfdHtmdOq7rQW0oV7oqTjpGllbp788nY/vY9jgw==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/mdx-loader": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", "fs-extra": "^11.1.1", "tslib": "^2.6.0", "webpack": "^5.88.1" @@ -2469,13 +2626,14 @@ } }, "node_modules/@docusaurus/plugin-debug": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.4.0.tgz", - "integrity": "sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.6.1.tgz", + "integrity": "sha512-DeKPZtoVExDSYCbzoz7y5Dhc6+YPqRWfVGwEEUyKopSyQYefp0OV8hvASmbJCn2WyThRgspOUhog3FSEhz+agw==", + "license": "MIT", "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", + "@docusaurus/core": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils": "3.6.1", "fs-extra": "^11.1.1", "react-json-view-lite": "^1.2.0", "tslib": "^2.6.0" @@ -2489,13 +2647,14 @@ } }, "node_modules/@docusaurus/plugin-google-analytics": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.4.0.tgz", - "integrity": "sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.6.1.tgz", + "integrity": "sha512-ZEoERiDHxSfhaEeT35ukQ892NzGHWiUvfxUsnPiRuGEhMoQlxMSp60shBuSZ1sUKuZlndoEl5qAXJg09Wls/Sg==", + "license": "MIT", "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "@docusaurus/core": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", "tslib": "^2.6.0" }, "engines": { @@ -2507,13 +2666,14 @@ } }, "node_modules/@docusaurus/plugin-google-gtag": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.4.0.tgz", - "integrity": "sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.6.1.tgz", + "integrity": "sha512-u/E9vXUsZxYaV6Brvfee8NiH/iR0cMml9P/ifz4EpH/Jfxdbw8rbCT0Nm/h7EFgEY48Uqkl5huSbIvFB9n8aTQ==", + "license": "MIT", "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "@docusaurus/core": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", "@types/gtag.js": "^0.0.12", "tslib": "^2.6.0" }, @@ -2526,13 +2686,14 @@ } }, "node_modules/@docusaurus/plugin-google-tag-manager": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.4.0.tgz", - "integrity": "sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.6.1.tgz", + "integrity": "sha512-By+NKkGYV8tSo8/RyS1OXikOtqsko5jJZ/uioJfBjsBGgSbiMJ+Y/HogFBke0mgSvf7NPGKZTbYm5+FJ8YUtPQ==", + "license": "MIT", "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "@docusaurus/core": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", "tslib": "^2.6.0" }, "engines": { @@ -2544,27 +2705,27 @@ } }, "node_modules/@docusaurus/plugin-pwa": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-pwa/-/plugin-pwa-3.4.0.tgz", - "integrity": "sha512-HC5gK1lFhy0E8SbGgWRl49+5LycAi4C+0YvFRiQRkF6ryJCfXGVIPXtgdXuatCb9iAN40trad3byw73GOragZg==", - "dependencies": { - "@babel/core": "^7.23.3", - "@babel/preset-env": "^7.23.3", - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/theme-common": "3.4.0", - "@docusaurus/theme-translations": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", - "babel-loader": "^9.1.3", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-pwa/-/plugin-pwa-3.6.1.tgz", + "integrity": "sha512-GsbpsgpAwdBpDpeVzk3UPNUQAc0oGU+0GL5s1LmFgqfpql5C7ZnkwD9FmW6lvieabQjC+Ga0d0zDqu20coqIRQ==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.9", + "@babel/preset-env": "^7.25.9", + "@docusaurus/bundler": "3.6.1", + "@docusaurus/core": "3.6.1", + "@docusaurus/logger": "3.6.1", + "@docusaurus/theme-common": "3.6.1", + "@docusaurus/theme-translations": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", + "babel-loader": "^9.2.1", "clsx": "^2.0.0", "core-js": "^3.31.1", - "terser-webpack-plugin": "^5.3.9", "tslib": "^2.6.0", - "webpack": "^5.88.1", + "webpack": "^5.95.0", "webpack-merge": "^5.9.0", - "webpackbar": "^5.0.2", "workbox-build": "^7.0.0", "workbox-precaching": "^7.0.0", "workbox-window": "^7.0.0" @@ -2578,16 +2739,17 @@ } }, "node_modules/@docusaurus/plugin-sitemap": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.4.0.tgz", - "integrity": "sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.6.1.tgz", + "integrity": "sha512-i8R/GTKew4Cufb+7YQTwfPcNOhKTJzZ1VZ5OqQwI9c3pZK2TltQyhqKDVN94KCTbSSKvOYYytYfRAB2uPnH1/A==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/logger": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-common": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", "fs-extra": "^11.1.1", "sitemap": "^7.1.1", "tslib": "^2.6.0" @@ -2601,23 +2763,24 @@ } }, "node_modules/@docusaurus/preset-classic": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.4.0.tgz", - "integrity": "sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/plugin-content-blog": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/plugin-content-pages": "3.4.0", - "@docusaurus/plugin-debug": "3.4.0", - "@docusaurus/plugin-google-analytics": "3.4.0", - "@docusaurus/plugin-google-gtag": "3.4.0", - "@docusaurus/plugin-google-tag-manager": "3.4.0", - "@docusaurus/plugin-sitemap": "3.4.0", - "@docusaurus/theme-classic": "3.4.0", - "@docusaurus/theme-common": "3.4.0", - "@docusaurus/theme-search-algolia": "3.4.0", - "@docusaurus/types": "3.4.0" + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.6.1.tgz", + "integrity": "sha512-b90Y1XRH9e+oa/E3NmiFEFOwgYUd+knFcZUy81nM3FJs038WbEA0T55NQsuPW0s7nOsCShQ7dVFyKxV+Wp31Nw==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/plugin-content-blog": "3.6.1", + "@docusaurus/plugin-content-docs": "3.6.1", + "@docusaurus/plugin-content-pages": "3.6.1", + "@docusaurus/plugin-debug": "3.6.1", + "@docusaurus/plugin-google-analytics": "3.6.1", + "@docusaurus/plugin-google-gtag": "3.6.1", + "@docusaurus/plugin-google-tag-manager": "3.6.1", + "@docusaurus/plugin-sitemap": "3.6.1", + "@docusaurus/theme-classic": "3.6.1", + "@docusaurus/theme-common": "3.6.1", + "@docusaurus/theme-search-algolia": "3.6.1", + "@docusaurus/types": "3.6.1" }, "engines": { "node": ">=18.0" @@ -2628,26 +2791,28 @@ } }, "node_modules/@docusaurus/theme-classic": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.4.0.tgz", - "integrity": "sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q==", - "dependencies": { - "@docusaurus/core": "3.4.0", - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/module-type-aliases": "3.4.0", - "@docusaurus/plugin-content-blog": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/plugin-content-pages": "3.4.0", - "@docusaurus/theme-common": "3.4.0", - "@docusaurus/theme-translations": "3.4.0", - "@docusaurus/types": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.6.1.tgz", + "integrity": "sha512-5lVUmIXk7zp+n9Ki2lYWrmhbd6mssOlKCnnDJvY4QDi3EgjRisIu5g4yKXoWTIbiqE7m7q/dS9cbeShEtfkKng==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.6.1", + "@docusaurus/logger": "3.6.1", + "@docusaurus/mdx-loader": "3.6.1", + "@docusaurus/module-type-aliases": "3.6.1", + "@docusaurus/plugin-content-blog": "3.6.1", + "@docusaurus/plugin-content-docs": "3.6.1", + "@docusaurus/plugin-content-pages": "3.6.1", + "@docusaurus/theme-common": "3.6.1", + "@docusaurus/theme-translations": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-common": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", "copy-text-to-clipboard": "^3.2.0", - "infima": "0.2.0-alpha.43", + "infima": "0.2.0-alpha.45", "lodash": "^4.17.21", "nprogress": "^0.2.0", "postcss": "^8.4.26", @@ -2667,17 +2832,15 @@ } }, "node_modules/@docusaurus/theme-common": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.4.0.tgz", - "integrity": "sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA==", - "dependencies": { - "@docusaurus/mdx-loader": "3.4.0", - "@docusaurus/module-type-aliases": "3.4.0", - "@docusaurus/plugin-content-blog": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/plugin-content-pages": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.6.1.tgz", + "integrity": "sha512-18iEYNpMvarGfq9gVRpGowSZD24vZ39Iz4acqaj64180i54V9el8tVnhNr/wRvrUm1FY30A1NHLqnMnDz4rYEQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/mdx-loader": "3.6.1", + "@docusaurus/module-type-aliases": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-common": "3.6.1", "@types/history": "^4.7.11", "@types/react": "*", "@types/react-router-config": "*", @@ -2691,23 +2854,25 @@ "node": ">=18.0" }, "peerDependencies": { + "@docusaurus/plugin-content-docs": "*", "react": "^18.0.0", "react-dom": "^18.0.0" } }, "node_modules/@docusaurus/theme-search-algolia": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.4.0.tgz", - "integrity": "sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.6.1.tgz", + "integrity": "sha512-BjmuiFRpQP1WEm8Mzu1Bb0Wdas6G65VHXDDNr7XTKgbstxalE6vuxt0ioXTDFS2YVep5748aVhKvnxR9gm2Liw==", + "license": "MIT", "dependencies": { "@docsearch/react": "^3.5.2", - "@docusaurus/core": "3.4.0", - "@docusaurus/logger": "3.4.0", - "@docusaurus/plugin-content-docs": "3.4.0", - "@docusaurus/theme-common": "3.4.0", - "@docusaurus/theme-translations": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-validation": "3.4.0", + "@docusaurus/core": "3.6.1", + "@docusaurus/logger": "3.6.1", + "@docusaurus/plugin-content-docs": "3.6.1", + "@docusaurus/theme-common": "3.6.1", + "@docusaurus/theme-translations": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-validation": "3.6.1", "algoliasearch": "^4.18.0", "algoliasearch-helper": "^3.13.3", "clsx": "^2.0.0", @@ -2726,9 +2891,10 @@ } }, "node_modules/@docusaurus/theme-translations": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.4.0.tgz", - "integrity": "sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.6.1.tgz", + "integrity": "sha512-bNm5G6sueUezvyhsBegA1wwM38yW0BnqpZTE9KHO2yKnkERNMaV5x/yPJ/DNCOHjJtCcJ5Uz55g2AS75Go31xA==", + "license": "MIT", "dependencies": { "fs-extra": "^11.1.1", "tslib": "^2.6.0" @@ -2738,9 +2904,10 @@ } }, "node_modules/@docusaurus/types": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz", - "integrity": "sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.6.1.tgz", + "integrity": "sha512-hCB1hj9DYutVYBisnPNobz9SzEmCcf1EetJv09O49Cov3BqOkm+vnnjB3d957YJMtpLGQoKBeN/FF1DZ830JwQ==", + "license": "MIT", "dependencies": { "@mdx-js/mdx": "^3.0.0", "@types/history": "^4.7.11", @@ -2749,7 +2916,7 @@ "joi": "^17.9.2", "react-helmet-async": "^1.3.0", "utility-types": "^3.10.0", - "webpack": "^5.88.1", + "webpack": "^5.95.0", "webpack-merge": "^5.9.0" }, "peerDependencies": { @@ -2758,12 +2925,14 @@ } }, "node_modules/@docusaurus/utils": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.4.0.tgz", - "integrity": "sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.6.1.tgz", + "integrity": "sha512-nS3WCvepwrnBEgSG5vQu40XG95lC9Jeh/odV5u5IhU1eQFEGDst9xBi6IK5yZdsGvbuaXBZLZtOqWYtuuFa/rQ==", + "license": "MIT", "dependencies": { - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils-common": "3.4.0", + "@docusaurus/logger": "3.6.1", + "@docusaurus/types": "3.6.1", + "@docusaurus/utils-common": "3.6.1", "@svgr/webpack": "^8.1.0", "escape-string-regexp": "^4.0.0", "file-loader": "^6.2.0", @@ -2785,43 +2954,30 @@ }, "engines": { "node": ">=18.0" - }, - "peerDependencies": { - "@docusaurus/types": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/types": { - "optional": true - } } }, "node_modules/@docusaurus/utils-common": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.4.0.tgz", - "integrity": "sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.6.1.tgz", + "integrity": "sha512-LX1qiTiC0aS8c92uZ+Wj2iNCNJyYZJIKY8/nZDKNMBfo759VYVS3RX3fKP3DznB+16sYp7++MyCz/T6fOGaRfw==", + "license": "MIT", "dependencies": { + "@docusaurus/types": "3.6.1", "tslib": "^2.6.0" }, "engines": { "node": ">=18.0" - }, - "peerDependencies": { - "@docusaurus/types": "*" - }, - "peerDependenciesMeta": { - "@docusaurus/types": { - "optional": true - } } }, "node_modules/@docusaurus/utils-validation": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz", - "integrity": "sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.6.1.tgz", + "integrity": "sha512-+iMd6zRl5cJQm7nUP+7pSO/oAXsN79eHO34ME7l2YJt4GEAr70l5kkD58u2jEPpp+wSXT70c7x2A2lzJI1E8jw==", + "license": "MIT", "dependencies": { - "@docusaurus/logger": "3.4.0", - "@docusaurus/utils": "3.4.0", - "@docusaurus/utils-common": "3.4.0", + "@docusaurus/logger": "3.6.1", + "@docusaurus/utils": "3.6.1", + "@docusaurus/utils-common": "3.6.1", "fs-extra": "^11.2.0", "joi": "^17.9.2", "js-yaml": "^4.1.0", @@ -2832,504 +2988,206 @@ "node": ">=18.0" } }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "license": "BSD-3-Clause" }, - "node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" } }, - "node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, "engines": { - "node": ">=12" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, "engines": { - "node": ">=12" + "node": ">=6.0.0" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "engines": { - "node": ">=12" + "node": ">=6.0.0" } }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=6.0.0" } }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "license": "MIT" + }, + "node_modules/@mdx-js/mdx": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.0.tgz", + "integrity": "sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], + "node_modules/@mdx-js/mdx/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "license": "BSD-3-Clause", "engines": { - "node": ">=12" + "node": ">= 8" } }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "node_modules/@mdx-js/react": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.0.tgz", + "integrity": "sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==", + "license": "MIT", + "dependencies": { + "@types/mdx": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" } }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", - "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", - "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", + "node_modules/@module-federation/runtime": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@module-federation/runtime/-/runtime-0.5.1.tgz", + "integrity": "sha512-xgiMUWwGLWDrvZc9JibuEbXIbhXg6z2oUkemogSvQ4LKvrl/n0kbqP1Blk669mXzyWbqtSp6PpvNdwaE1aN5xQ==", + "license": "MIT", "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@module-federation/sdk": "0.5.1" } }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" - }, - "node_modules/@mdx-js/mdx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz", - "integrity": "sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==", + "node_modules/@module-federation/runtime-tools": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@module-federation/runtime-tools/-/runtime-tools-0.5.1.tgz", + "integrity": "sha512-nfBedkoZ3/SWyO0hnmaxuz0R0iGPSikHZOAZ0N/dVSQaIzlffUo35B5nlC2wgWIc0JdMZfkwkjZRrnuuDIJbzg==", + "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdx": "^2.0.0", - "collapse-white-space": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-build-jsx": "^3.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "estree-util-to-js": "^2.0.0", - "estree-walker": "^3.0.0", - "hast-util-to-estree": "^3.0.0", - "hast-util-to-jsx-runtime": "^2.0.0", - "markdown-extensions": "^2.0.0", - "periscopic": "^3.0.0", - "remark-mdx": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.0.0", - "source-map": "^0.7.0", - "unified": "^11.0.0", - "unist-util-position-from-estree": "^2.0.0", - "unist-util-stringify-position": "^4.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "@module-federation/runtime": "0.5.1", + "@module-federation/webpack-bundler-runtime": "0.5.1" } }, - "node_modules/@mdx-js/mdx/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "engines": { - "node": ">= 8" - } + "node_modules/@module-federation/sdk": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@module-federation/sdk/-/sdk-0.5.1.tgz", + "integrity": "sha512-exvchtjNURJJkpqjQ3/opdbfeT2wPKvrbnGnyRkrwW5o3FH1LaST1tkiNviT6OXTexGaVc2DahbdniQHVtQ7pA==", + "license": "MIT" }, - "node_modules/@mdx-js/react": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.0.tgz", - "integrity": "sha512-nDctevR9KyYFyV+m+/+S4cpzCWHqj+iHDHq3QrsWezcC+B17uZdIWgCguESUkwFhM3n/56KxWVE3V6EokrmONQ==", + "node_modules/@module-federation/webpack-bundler-runtime": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-0.5.1.tgz", + "integrity": "sha512-mMhRFH0k2VjwHt3Jol9JkUsmI/4XlrAoBG3E0o7HoyoPYv1UFOWyqAflfANcUPgbYpvqmyLzDcO+3IT36LXnrA==", + "license": "MIT", "dependencies": { - "@types/mdx": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "@types/react": ">=16", - "react": ">=16" + "@module-federation/runtime": "0.5.1", + "@module-federation/sdk": "0.5.1" } }, "node_modules/@nodelib/fs.scandir": { @@ -3402,9 +3260,10 @@ } }, "node_modules/@polka/url": { - "version": "1.0.0-next.24", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz", - "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==" + "version": "1.0.0-next.28", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz", + "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==", + "license": "MIT" }, "node_modules/@puppeteer/browsers": { "version": "1.9.1", @@ -3506,33 +3365,204 @@ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" }, - "node_modules/@sideway/address": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", - "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", - "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" + "node_modules/@rspack/binding": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rspack/binding/-/binding-1.1.0.tgz", + "integrity": "sha512-zLduWacrw/bBYiFvhjN70f+AJxXnTzevywXp54vso8d0Nz7z4KIycdz/Ua5AGRUkG2ZuQw6waypN5pXf48EBcA==", + "license": "MIT", + "optionalDependencies": { + "@rspack/binding-darwin-arm64": "1.1.0", + "@rspack/binding-darwin-x64": "1.1.0", + "@rspack/binding-linux-arm64-gnu": "1.1.0", + "@rspack/binding-linux-arm64-musl": "1.1.0", + "@rspack/binding-linux-x64-gnu": "1.1.0", + "@rspack/binding-linux-x64-musl": "1.1.0", + "@rspack/binding-win32-arm64-msvc": "1.1.0", + "@rspack/binding-win32-ia32-msvc": "1.1.0", + "@rspack/binding-win32-x64-msvc": "1.1.0" + } + }, + "node_modules/@rspack/binding-darwin-arm64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-arm64/-/binding-darwin-arm64-1.1.0.tgz", + "integrity": "sha512-02YmzmtKMNHCSMzVT5sgbJuPDn+HunkrtWq0D95Fh9sGKYap9cs0JOpzTfyAL3KXJ9JzVfOAZA3VgVQOBaQNWQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + "node_modules/@rspack/binding-darwin-x64": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rspack/binding-darwin-x64/-/binding-darwin-x64-1.1.0.tgz", + "integrity": "sha512-HtBh8p6hml7BWNtZaqWFtGbOFP/tvFDn1uPWmA3R32WTILUXNRWXIsLDY95U3Z2U1Gt3SL58SOpJjXlFIb6wZg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rspack/binding-linux-arm64-gnu": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.1.0.tgz", + "integrity": "sha512-Q/i50Pieii3akdv5Q6my6QelV5Dpc8O/Ir4udpjYl0pbSdKamdI8M85fxrMxGAGcoNSD+X52fDvxJujXWMcP0w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-linux-arm64-musl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.1.0.tgz", + "integrity": "sha512-H7Eu3xC7LWPpxrI47n8X361eEGGpQOjZIWTz8tLdn4oNS2D9kqsBYES7LsuuLTTH4ueHTDuEtDdfZpBsE+qesw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-linux-x64-gnu": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.1.0.tgz", + "integrity": "sha512-dIZSutPo2z/OaO2f6SVlcYA6lGBH+4TrRtWmMyPshpTNPrkCGGfDhC43fZ4jCiUj2PO/Hcn8jyKhci4leBsVBA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-linux-x64-musl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rspack/binding-linux-x64-musl/-/binding-linux-x64-musl-1.1.0.tgz", + "integrity": "sha512-f6L2JWgbG9PKWnVw2YNZdntjzia1V2w2Xq458HkCQUDwhnEipWXaZ2zhfD9jcb4UYoMP8/2uD3B96sSFFNTdrQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rspack/binding-win32-arm64-msvc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.1.0.tgz", + "integrity": "sha512-opo6XR4iXh/QkHiauVQBlU2xR2JyjDmSwgkION27oszu81nr+IajTSXQX96x5I6Bq48GQLU4rItHse/doctQDA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rspack/binding-win32-ia32-msvc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.1.0.tgz", + "integrity": "sha512-FBcG+OPJokSE3nPi1+ZamLK2V4IWdNC+GMr0z7LUrBiKc5lO70y5VkldfyPV1Z+doSuroVINlhK+lRHdQgGwYg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rspack/binding-win32-x64-msvc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rspack/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.1.0.tgz", + "integrity": "sha512-H/6Glp1nZvxWAD5+2hRrp1kBs9f+pLb/un2TdFSUNd2tyXq5GyHCe70+N9psbe/jjGxD8e1vPNQtN/VvkuR0Zg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rspack/core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rspack/core/-/core-1.1.0.tgz", + "integrity": "sha512-+IYWSe9D3wB97VVBfaojuWLv3wGIBe9pfJkxNObkorN60Nj3UHYzBLuACrHn4hW2mZjAWrv06ReHXJUEGzQqaQ==", + "license": "MIT", + "dependencies": { + "@module-federation/runtime-tools": "0.5.1", + "@rspack/binding": "1.1.0", + "@rspack/lite-tapable": "1.0.1", + "caniuse-lite": "^1.0.30001616" + }, + "engines": { + "node": ">=16.0.0" + }, + "peerDependencies": { + "@swc/helpers": ">=0.5.1" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@rspack/lite-tapable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rspack/lite-tapable/-/lite-tapable-1.0.1.tgz", + "integrity": "sha512-VynGOEsVw2s8TAlLf/uESfrgfrq2+rcXB1muPJYBWbsm1Oa6r5qVQhjA5ggM6z/coYPrsVMgovl3Ff7Q7OCp1w==", + "license": "MIT", + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "license": "BSD-3-Clause" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "license": "BSD-3-Clause" }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "license": "MIT" }, "node_modules/@sindresorhus/is": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3544,6 +3574,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz", "integrity": "sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==", + "license": "MIT", "dependencies": { "micromark-factory-space": "^1.0.0", "micromark-util-character": "^1.1.0", @@ -3565,6 +3596,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -3580,6 +3612,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -3595,6 +3628,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -3610,6 +3644,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -3625,6 +3660,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -3640,6 +3676,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -3655,6 +3692,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -3670,6 +3708,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -3685,6 +3724,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "license": "MIT", "dependencies": { "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", @@ -3710,6 +3750,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "license": "MIT", "dependencies": { "@babel/core": "^7.21.3", "@svgr/babel-preset": "8.1.0", @@ -3729,6 +3770,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "license": "MIT", "dependencies": { "@babel/types": "^7.21.3", "entities": "^4.4.0" @@ -3741,67 +3783,467 @@ "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@svgr/plugin-jsx": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", - "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", - "dependencies": { - "@babel/core": "^7.21.3", - "@svgr/babel-preset": "8.1.0", - "@svgr/hast-util-to-babel-ast": "8.0.0", - "svg-parser": "^2.0.4" - }, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/webpack": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", + "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@babel/plugin-transform-react-constant-elements": "^7.21.3", + "@babel/preset-env": "^7.20.2", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.0", + "@svgr/core": "8.1.0", + "@svgr/plugin-jsx": "8.1.0", + "@svgr/plugin-svgo": "8.1.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@swc/core": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.9.1.tgz", + "integrity": "sha512-OnPc+Kt5oy3xTvr/KCUOqE9ptJcWbyQgAUr1ydh9EmbBcmJTaO1kfQCxm/axzJi6sKeDTxL9rX5zvLOhoYIaQw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.14" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.9.1", + "@swc/core-darwin-x64": "1.9.1", + "@swc/core-linux-arm-gnueabihf": "1.9.1", + "@swc/core-linux-arm64-gnu": "1.9.1", + "@swc/core-linux-arm64-musl": "1.9.1", + "@swc/core-linux-x64-gnu": "1.9.1", + "@swc/core-linux-x64-musl": "1.9.1", + "@swc/core-win32-arm64-msvc": "1.9.1", + "@swc/core-win32-ia32-msvc": "1.9.1", + "@swc/core-win32-x64-msvc": "1.9.1" + }, + "peerDependencies": { + "@swc/helpers": "*" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.9.1.tgz", + "integrity": "sha512-2/ncHSCdAh5OHem1fMITrWEzzl97OdMK1PHc9CkxSJnphLjRubfxB5sbc5tDhcO68a5tVy+DxwaBgDec3PXnOg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.9.1.tgz", + "integrity": "sha512-4MDOFC5zmNqRJ9RGFOH95oYf27J9HniLVpB1pYm2gGeNHdl2QvDMtx2QTuMHQ6+OTn/3y1BHYuhBGp7d405oLA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.9.1.tgz", + "integrity": "sha512-eVW/BjRW8/HpLe3+1jRU7w7PdRLBgnEEYTkHJISU8805/EKT03xNZn6CfaBpKfeAloY4043hbGzE/NP9IahdpQ==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.9.1.tgz", + "integrity": "sha512-8m3u1v8R8NgI/9+cHMkzk14w87blSy3OsQPWPfhOL+XPwhyLPvat+ahQJb2nZmltjTgkB4IbzKFSfbuA34LmNA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.9.1.tgz", + "integrity": "sha512-hpT0sQAZnW8l02I289yeyFfT9llGO9PzKDxUq8pocKtioEHiElRqR53juCWoSmzuWi+6KX7zUJ0NKCBrc8pmDg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.9.1.tgz", + "integrity": "sha512-sGFdpdAYusk/ropHiwtXom2JrdaKPxl8MqemRv6dvxZq1Gm/GdmOowxdXIPjCgBGMgoXVcgNviH6CgiO5q+UtA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.9.1.tgz", + "integrity": "sha512-YtNLNwIWs0Z2+XgBs6+LrCIGtfCDtNr4S4b6Q5HDOreEIGzSvhkef8eyBI5L+fJ2eGov4b7iEo61C4izDJS5RA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.9.1.tgz", + "integrity": "sha512-qSxD3uZW2vSiHqUt30vUi0PB92zDh9bjqh5YKpfhhVa7h1vt/xXhlid8yMvSNToTfzhRrTEffOAPUr7WVoyQUA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.9.1.tgz", + "integrity": "sha512-C3fPEwyX/WRPlX6zIToNykJuz1JkZX0sk8H1QH2vpnKuySUkt/Ur5K2FzLgSWzJdbfxstpgS151/es0VGAD+ZA==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.9.1.tgz", + "integrity": "sha512-2XZ+U1AyVsOAXeH6WK1syDm7+gwTjA8fShs93WcbxnK7HV+NigDlvr4124CeJLTHyh3fMh1o7+CnQnaBJhlysQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "license": "Apache-2.0" + }, + "node_modules/@swc/html": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/html/-/html-1.9.1.tgz", + "integrity": "sha512-b/5GqsI6xF55/GU95FrItW1+EdvBs4uojPJcBSkmbFcetdmHPZyprA45VpPUYyJeRWebu4lesZrTOU2GGSIsow==", + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3" + }, + "engines": { + "node": ">=14" + }, + "optionalDependencies": { + "@swc/html-darwin-arm64": "1.9.1", + "@swc/html-darwin-x64": "1.9.1", + "@swc/html-linux-arm-gnueabihf": "1.9.1", + "@swc/html-linux-arm64-gnu": "1.9.1", + "@swc/html-linux-arm64-musl": "1.9.1", + "@swc/html-linux-x64-gnu": "1.9.1", + "@swc/html-linux-x64-musl": "1.9.1", + "@swc/html-win32-arm64-msvc": "1.9.1", + "@swc/html-win32-ia32-msvc": "1.9.1", + "@swc/html-win32-x64-msvc": "1.9.1" + } + }, + "node_modules/@swc/html-darwin-arm64": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/html-darwin-arm64/-/html-darwin-arm64-1.9.1.tgz", + "integrity": "sha512-RBMLup2je+6yUlnbXy1iZDo8H8tXkVwsXBCqj1Iac6RVNhSg/prG+facSLZQMpmyerILE3A02kGpTXUjpi/a6A==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-darwin-x64": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/html-darwin-x64/-/html-darwin-x64-1.9.1.tgz", + "integrity": "sha512-VUa4itQHWCteFdFoAZP+dEWsfaVtgt54btV1miSjVvHAdyjAOO9S5RkjdW45Oz0C5XDzR7EIz2+oLZlYtEnpAw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-linux-arm-gnueabihf": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/html-linux-arm-gnueabihf/-/html-linux-arm-gnueabihf-1.9.1.tgz", + "integrity": "sha512-DAGJbgf0Fl6VcOcYvdiP+NOg2WITe7SlX+gE/o3ROEW1m5wAFB8kWbqQHDPJ3hNEjZyIx+rE+gEj9u7Ebuzblg==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-linux-arm64-gnu": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/html-linux-arm64-gnu/-/html-linux-arm64-gnu-1.9.1.tgz", + "integrity": "sha512-4YnV9SJYC/goH7Y1xAmUj39KcpU6/tMrThbLE+MisiA0xJGwZBa+uc1FczMknzNm91ga5aQMUmy7LPKS2OwJzg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-linux-arm64-musl": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/html-linux-arm64-musl/-/html-linux-arm64-musl-1.9.1.tgz", + "integrity": "sha512-y36k7DiFghomJhlzhWhSeskxxFwb0xiAumjMzLgqFbrCa4krCpwW/LPnImT2sw2joJFOSpuFG1CrtMekGNTjvw==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-linux-x64-gnu": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/html-linux-x64-gnu/-/html-linux-x64-gnu-1.9.1.tgz", + "integrity": "sha512-AvyWPZK1uhixFS5fDPTBK349/oklZJOs9dWvb6WCIB82wybLytofmHqZMJkhD5yS69FfjIljrC8QYzx2ARjUzQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-linux-x64-musl": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/html-linux-x64-musl/-/html-linux-x64-musl-1.9.1.tgz", + "integrity": "sha512-X2LA/0tCkpuRBAH8mF4w20z2yAnwc8TrH4GAZ0kJkJB+6KHN5BwN9grEydMTKOzBT3zBAlQvkohq4Vxb4uO0OA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-win32-arm64-msvc": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/html-win32-arm64-msvc/-/html-win32-arm64-msvc-1.9.1.tgz", + "integrity": "sha512-eLLP/MJQc6GY9JsOaDKR4TduFQ4mKs50MRsMHetaqnwMhS5TPTn6yhQldbe7ivouYwnCpWhs+62W89wa7AGQYw==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/html-win32-ia32-msvc": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/html-win32-ia32-msvc/-/html-win32-ia32-msvc-1.9.1.tgz", + "integrity": "sha512-yZDtJTxok7drMZFUL7d5PfLmVXDZ6XFS/DnpOU0PWZAMxXkp38ep5YP7Z+2O/SAtGJAJediUbNc0QFnaQ+DgxA==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" + "node": ">=10" } }, - "node_modules/@svgr/plugin-svgo": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", - "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", - "dependencies": { - "cosmiconfig": "^8.1.3", - "deepmerge": "^4.3.1", - "svgo": "^3.0.2" - }, + "node_modules/@swc/html-win32-x64-msvc": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@swc/html-win32-x64-msvc/-/html-win32-x64-msvc-1.9.1.tgz", + "integrity": "sha512-khcL6xk2j5YceJgrDLuSQqfjj/6JB81yOFQT6r2Vt4+6qeNNKCvqf5l9DMrK2KtQ+L0n50yVW6sjCBUULltbRQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - }, - "peerDependencies": { - "@svgr/core": "*" + "node": ">=10" } }, - "node_modules/@svgr/webpack": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-8.1.0.tgz", - "integrity": "sha512-LnhVjMWyMQV9ZmeEy26maJk+8HTIbd59cH4F2MJ439k9DqejRisfFNGAPvRYlKETuh9LrImlS8aKsBgKjMA8WA==", + "node_modules/@swc/types": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.14.tgz", + "integrity": "sha512-PbSmTiYCN+GMrvfjrMo9bdY+f2COnwbdnoMw7rqU/PI5jXpKjxOGZ0qqZCImxnT81NkNsKnmEpvu+hRXLBeCJg==", + "license": "Apache-2.0", "dependencies": { - "@babel/core": "^7.21.3", - "@babel/plugin-transform-react-constant-elements": "^7.21.3", - "@babel/preset-env": "^7.20.2", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.21.0", - "@svgr/core": "8.1.0", - "@svgr/plugin-jsx": "8.1.0", - "@svgr/plugin-svgo": "8.1.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "@swc/counter": "^0.1.3" } }, "node_modules/@szmarczak/http-timer": { @@ -3825,6 +4267,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", "engines": { "node": ">=10.13.0" } @@ -3833,6 +4276,7 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "license": "MIT", "dependencies": { "@types/estree": "*" } @@ -3841,6 +4285,7 @@ "version": "1.19.5", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "license": "MIT", "dependencies": { "@types/connect": "*", "@types/node": "*" @@ -3850,6 +4295,7 @@ "version": "3.5.13", "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -3858,6 +4304,7 @@ "version": "3.4.38", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -3866,6 +4313,7 @@ "version": "1.5.4", "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "license": "MIT", "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" @@ -3875,6 +4323,7 @@ "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", "dependencies": { "@types/ms": "*" } @@ -3898,14 +4347,16 @@ } }, "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "license": "MIT" }, "node_modules/@types/estree-jsx": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", "dependencies": { "@types/estree": "*" } @@ -3914,6 +4365,7 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -3922,9 +4374,22 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.42", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.42.tgz", - "integrity": "sha512-ckM3jm2bf/MfB3+spLPWYPUH573plBFwpOhqQ2WottxYV85j1HQFlxmnTq57X1yHY9awZPig06hL/cLMgNWHIQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.1.tgz", + "integrity": "sha512-CRICJIl0N5cXDONAdlTv5ShATZ4HEwk6kDDIW2/w9qOWKg+NU/5F8wYRWCrONad0/UKkloNSmmyN/wX4rtpbVA==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -3945,12 +4410,14 @@ "node_modules/@types/gtag.js": { "version": "0.0.12", "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", - "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==" + "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==", + "license": "MIT" }, "node_modules/@types/hast": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", "dependencies": { "@types/unist": "*" } @@ -3958,7 +4425,8 @@ "node_modules/@types/history": { "version": "4.7.11", "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", - "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", + "license": "MIT" }, "node_modules/@types/html-minifier-terser": { "version": "6.1.0", @@ -3973,12 +4441,14 @@ "node_modules/@types/http-errors": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "license": "MIT" }, "node_modules/@types/http-proxy": { - "version": "1.17.14", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", - "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -3986,12 +4456,14 @@ "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } @@ -4000,6 +4472,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } @@ -4022,6 +4495,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", "dependencies": { "@types/unist": "*" } @@ -4034,12 +4508,14 @@ "node_modules/@types/mime": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "license": "MIT" }, "node_modules/@types/ms": { "version": "0.7.34", "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", + "license": "MIT" }, "node_modules/@types/node": { "version": "18.16.3", @@ -4050,6 +4526,7 @@ "version": "1.3.11", "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4060,9 +4537,10 @@ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, "node_modules/@types/prismjs": { - "version": "1.26.4", - "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.4.tgz", - "integrity": "sha512-rlAnzkW2sZOjbqZ743IHUhFcvzaGbqijwOu8QZnZCjfQzBqFE3s4lOTJEsxikImav9uzz/42I+O7YUs1mWgMlg==" + "version": "1.26.5", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.5.tgz", + "integrity": "sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==", + "license": "MIT" }, "node_modules/@types/prop-types": { "version": "15.7.5", @@ -4070,14 +4548,16 @@ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" }, "node_modules/@types/qs": { - "version": "6.9.11", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", - "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==" + "version": "6.9.17", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.17.tgz", + "integrity": "sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==", + "license": "MIT" }, "node_modules/@types/range-parser": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "license": "MIT" }, "node_modules/@types/react": { "version": "18.2.5", @@ -4093,6 +4573,7 @@ "version": "5.1.20", "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "license": "MIT", "dependencies": { "@types/history": "^4.7.11", "@types/react": "*" @@ -4102,6 +4583,7 @@ "version": "5.0.11", "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz", "integrity": "sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==", + "license": "MIT", "dependencies": { "@types/history": "^4.7.11", "@types/react": "*", @@ -4112,6 +4594,7 @@ "version": "5.3.3", "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "license": "MIT", "dependencies": { "@types/history": "^4.7.11", "@types/react": "*", @@ -4129,12 +4612,14 @@ "node_modules/@types/retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "license": "MIT" }, "node_modules/@types/sax": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4148,6 +4633,7 @@ "version": "0.17.4", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "license": "MIT", "dependencies": { "@types/mime": "^1", "@types/node": "*" @@ -4157,24 +4643,27 @@ "version": "1.9.4", "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "license": "MIT", "dependencies": { "@types/express": "*" } }, "node_modules/@types/serve-static": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", - "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "license": "MIT", "dependencies": { "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" + "@types/node": "*", + "@types/send": "*" } }, "node_modules/@types/sockjs": { "version": "0.3.36", "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4185,22 +4674,25 @@ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" }, "node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" }, "node_modules/@types/ws": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "version": "8.5.13", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.13.tgz", + "integrity": "sha512-osM/gWBTPKgHV8XkTunnegTRIsvF6owmf5w+JtAfOw472dptdm0dlGv4xCt6GwQRcC2XVOvvRE/0bAoQcL2QkA==", + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } @@ -4208,7 +4700,8 @@ "node_modules/@types/yargs-parser": { "version": "21.0.3", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT" }, "node_modules/@types/yauzl": { "version": "2.10.3", @@ -4223,153 +4716,172 @@ "node_modules/@ungap/structured-clone": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "license": "ISC" }, "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "license": "MIT", "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" } }, "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "license": "MIT", "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "license": "MIT" }, "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "license": "MIT", "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/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" } }, "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "license": "MIT" }, "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "license": "MIT", "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/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "license": "MIT", "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/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "license": "MIT", "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/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" } }, "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "license": "MIT", "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/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" } }, "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "license": "MIT", "dependencies": { - "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" } }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "license": "BSD-3-Clause" }, "node_modules/@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==" + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "license": "Apache-2.0" }, "node_modules/accepts": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -4378,10 +4890,20 @@ "node": ">= 0.6" } }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -4389,26 +4911,23 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "peerDependencies": { - "acorn": "^8" - } - }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, "engines": { "node": ">=0.4.0" } @@ -4464,6 +4983,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", "dependencies": { "ajv": "^8.0.0" }, @@ -4476,10 +4996,23 @@ } } }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, "node_modules/algoliasearch": { "version": "4.24.0", "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.24.0.tgz", "integrity": "sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==", + "license": "MIT", "dependencies": { "@algolia/cache-browser-local-storage": "4.24.0", "@algolia/cache-common": "4.24.0", @@ -4499,9 +5032,10 @@ } }, "node_modules/algoliasearch-helper": { - "version": "3.22.3", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.22.3.tgz", - "integrity": "sha512-2eoEz8mG4KHE+DzfrBTrCmDPxVXv7aZZWPojAJFtARpxxMO6lkos1dJ+XDCXdPvq7q3tpYWRi6xXmVQikejtpA==", + "version": "3.22.5", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.22.5.tgz", + "integrity": "sha512-lWvhdnc+aKOKx8jyA3bsdEgHzm/sglC4cYdMG4xSQyRiPLJVJtH/IVYZG3Hp6PkTEhQqhyVYkeP9z2IlcHJsWw==", + "license": "MIT", "dependencies": { "@algolia/events": "^4.0.1" }, @@ -4509,6 +5043,45 @@ "algoliasearch": ">= 3.1 < 6" } }, + "node_modules/algoliasearch/node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "license": "MIT", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/requester-browser-xhr": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz", + "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/algoliasearch/node_modules/@algolia/requester-node-http": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", + "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", + "license": "MIT", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, "node_modules/ansi-align": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", @@ -4535,6 +5108,33 @@ "node": ">=8" } }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ansi-html-community": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", @@ -4542,6 +5142,7 @@ "engines": [ "node >= 0.8.0" ], + "license": "Apache-2.0", "bin": { "ansi-html": "bin/ansi-html" } @@ -4583,7 +5184,8 @@ "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" }, "node_modules/argparse": { "version": "2.0.1", @@ -4602,6 +5204,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, "node_modules/array-union": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", @@ -4643,9 +5251,10 @@ } }, "node_modules/astring": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", - "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "license": "MIT", "bin": { "astring": "bin/astring" } @@ -4664,9 +5273,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "funding": [ { "type": "opencollective", @@ -4681,12 +5290,13 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -4717,9 +5327,10 @@ "dev": true }, "node_modules/babel-loader": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", - "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", + "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", + "license": "MIT", "dependencies": { "find-cache-dir": "^4.0.0", "schema-utils": "^4.0.0" @@ -4736,17 +5347,19 @@ "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==", + "license": "MIT", "dependencies": { "object.assign": "^4.1.0" } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", - "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "license": "MIT", "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.5.0", + "@babel/helper-define-polyfill-provider": "^0.6.2", "semver": "^6.3.1" }, "peerDependencies": { @@ -4757,28 +5370,31 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", - "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0", - "core-js-compat": "^3.34.0" + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", - "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0" + "@babel/helper-define-polyfill-provider": "^0.6.2" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -4788,6 +5404,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -4837,7 +5454,8 @@ "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "license": "MIT" }, "node_modules/big.js": { "version": "5.2.2", @@ -4856,9 +5474,10 @@ } }, "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -4868,7 +5487,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", + "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -4882,6 +5501,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -4890,6 +5510,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -4897,12 +5518,14 @@ "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/bonjour-service": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "multicast-dns": "^7.2.5" @@ -4955,9 +5578,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", - "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", "funding": [ { "type": "opencollective", @@ -4972,11 +5595,12 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001640", - "electron-to-chromium": "^1.4.820", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.1.0" + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" @@ -5038,6 +5662,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -5079,13 +5704,19 @@ } }, "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "license": "MIT", "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5123,6 +5754,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "license": "MIT", "dependencies": { "browserslist": "^4.0.0", "caniuse-lite": "^1.0.0", @@ -5131,9 +5763,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001643", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz", - "integrity": "sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==", + "version": "1.0.30001679", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001679.tgz", + "integrity": "sha512-j2YqID/YwpLnKzCmBOS4tlZdWprXm3ZmQLBH9ZBXFOhoxLA46fwyBvx6toCBWBmnuwUY/qB3kEU6gFx8qgCroA==", "funding": [ { "type": "opencollective", @@ -5147,12 +5779,14 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/ccount": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5177,6 +5811,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "license": "MIT", "engines": { "node": ">=10" } @@ -5185,6 +5820,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5194,6 +5830,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5203,6 +5840,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5212,6 +5850,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5221,6 +5860,7 @@ "version": "1.0.0-rc.12", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", + "license": "MIT", "dependencies": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", @@ -5241,6 +5881,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-select": "^5.1.0", @@ -5463,6 +6104,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5487,12 +6129,14 @@ "node_modules/colord": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "license": "MIT" }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "license": "MIT" }, "node_modules/combine-promises": { "version": "1.1.0", @@ -5506,6 +6150,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5522,7 +6167,8 @@ "node_modules/common-path-prefix": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", + "license": "ISC" }, "node_modules/common-tags": { "version": "1.8.2", @@ -5536,6 +6182,7 @@ "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", "dependencies": { "mime-db": ">= 1.43.0 < 2" }, @@ -5544,26 +6191,37 @@ } }, "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-bQJ0YRck5ak3LgtnpKkiabX5pNF7tMUh1BSy2ZBOTh0Dim0BUu6aPPwByIns6/A5Prh8PufSPerMDUklpzes2Q==", + "license": "MIT", "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", + "bytes": "3.1.2", + "compressible": "~2.0.18", "debug": "2.6.9", + "negotiator": "~0.6.4", "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", + "safe-buffer": "5.2.1", "vary": "~1.1.2" }, "engines": { "node": ">= 0.8.0" } }, + "node_modules/compression/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/compression/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -5571,7 +6229,8 @@ "node_modules/compression/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", @@ -5609,14 +6268,19 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/consola": { - "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", + "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } }, "node_modules/console-stamp": { "version": "3.1.2", @@ -5635,6 +6299,7 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -5643,6 +6308,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -5653,9 +6319,10 @@ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, "node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -5663,12 +6330,14 @@ "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" }, "node_modules/copy-text-to-clipboard": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -5680,6 +6349,7 @@ "version": "11.0.0", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "license": "MIT", "dependencies": { "fast-glob": "^3.2.11", "glob-parent": "^6.0.1", @@ -5703,6 +6373,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -5711,13 +6382,14 @@ } }, "node_modules/copy-webpack-plugin/node_modules/globby": { - "version": "13.1.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", - "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "license": "MIT", "dependencies": { "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", "merge2": "^1.4.1", "slash": "^4.0.0" }, @@ -5732,6 +6404,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -5750,11 +6423,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.35.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.35.1.tgz", - "integrity": "sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==", + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.39.0.tgz", + "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==", + "license": "MIT", "dependencies": { - "browserslist": "^4.22.2" + "browserslist": "^4.24.2" }, "funding": { "type": "opencollective", @@ -5762,10 +6436,11 @@ } }, "node_modules/core-js-pure": { - "version": "3.35.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.35.1.tgz", - "integrity": "sha512-zcIdi/CL3MWbBJYo5YCeVAAx+Sy9yJE9I3/u9LkFABwbeaPhTMRWraM8mYFp9jW5Z50hOy7FVzCc8dCrpZqtIQ==", + "version": "3.39.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.39.0.tgz", + "integrity": "sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg==", "hasInstallScript": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" @@ -5774,12 +6449,14 @@ "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" }, "node_modules/cosmiconfig": { "version": "8.3.6", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "license": "MIT", "dependencies": { "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", @@ -5843,6 +6520,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz", "integrity": "sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==", + "license": "ISC", "engines": { "node": "^14 || ^16 || >=18" }, @@ -5851,15 +6529,16 @@ } }, "node_modules/css-loader": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz", - "integrity": "sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "license": "MIT", "dependencies": { "icss-utils": "^5.1.0", "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.4", - "postcss-modules-scope": "^3.1.1", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", "semver": "^7.5.4" @@ -5888,6 +6567,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-5.0.1.tgz", "integrity": "sha512-3caImjKFQkS+ws1TGcFn0V1HyDJFq1Euy589JlD6/3rV2kj+w7r5G9WDMgSHvpvXHNZ2calVypZWuEDQd9wfLg==", + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "cssnano": "^6.0.1", @@ -5931,6 +6611,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", @@ -5946,6 +6627,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.30", "source-map-js": "^1.0.1" @@ -5969,6 +6651,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -5980,6 +6663,7 @@ "version": "6.1.2", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "license": "MIT", "dependencies": { "cssnano-preset-default": "^6.1.2", "lilconfig": "^3.1.1" @@ -5999,6 +6683,7 @@ "version": "6.1.2", "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", + "license": "MIT", "dependencies": { "autoprefixer": "^10.4.19", "browserslist": "^4.23.0", @@ -6019,6 +6704,7 @@ "version": "6.1.2", "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "css-declaration-sorter": "^7.2.0", @@ -6062,6 +6748,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -6073,6 +6760,7 @@ "version": "5.0.5", "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", "dependencies": { "css-tree": "~2.2.0" }, @@ -6085,6 +6773,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" @@ -6097,7 +6786,8 @@ "node_modules/csso/node_modules/mdn-data": { "version": "2.0.28", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==" + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" }, "node_modules/csstype": { "version": "3.1.2", @@ -6125,7 +6815,8 @@ "node_modules/debounce": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "license": "MIT" }, "node_modules/debug": { "version": "4.3.4", @@ -6147,6 +6838,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "license": "MIT", "dependencies": { "character-entities": "^2.0.0" }, @@ -6200,6 +6892,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "license": "BSD-2-Clause", "dependencies": { "execa": "^5.0.0" }, @@ -6216,16 +6909,20 @@ } }, "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/define-lazy-prop": { @@ -6290,6 +6987,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -6298,6 +6996,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -6306,15 +7005,29 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "license": "Apache-2.0", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/detect-node": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "license": "MIT" }, "node_modules/detect-port": { "version": "1.5.1", @@ -6362,6 +7075,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", "dependencies": { "dequal": "^2.0.0" }, @@ -6391,6 +7105,7 @@ "version": "5.6.1", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "license": "MIT", "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" }, @@ -6440,6 +7155,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", @@ -6464,6 +7180,7 @@ "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.3.0" }, @@ -6478,6 +7195,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", @@ -6531,7 +7249,8 @@ "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" }, "node_modules/ejs": { "version": "3.1.10", @@ -6548,9 +7267,10 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.2.tgz", - "integrity": "sha512-kc4r3U3V3WLaaZqThjYz/Y6z8tJe+7K0bbjUVo3i+LWIypVdMx5nXCkwRe6SWbY6ILqLdc1rKcKmr3HoH7wjSQ==" + "version": "1.5.55", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.55.tgz", + "integrity": "sha512-6maZ2ASDOTBtjt9FhqYPRnbvKU5tjG0IN9SztUOWYw2AzNDNpKJYLJmlK0/En4Hs/aiWnB+JZ+gW19PIGszgKg==", + "license": "ISC" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -6560,7 +7280,8 @@ "node_modules/emojilib": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", - "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==" + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", + "license": "MIT" }, "node_modules/emojis-list": { "version": "3.0.0", @@ -6571,18 +7292,20 @@ } }, "node_modules/emoticon": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.0.1.tgz", - "integrity": "sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.1.0.tgz", + "integrity": "sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -6597,9 +7320,10 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -6612,6 +7336,7 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -6688,6 +7413,27 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-module-lexer": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", @@ -6722,73 +7468,43 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" - } - }, - "node_modules/esbuild-loader": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/esbuild-loader/-/esbuild-loader-4.2.2.tgz", - "integrity": "sha512-Mdq/A1L8p37hkibp8jGFwuQTDSWhDmlueAefsrCPRwNWThEOlQmIglV7Gd6GE2mO5bt7ksfxKOMwkuY7jjVTXg==", + "node_modules/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "license": "MIT", "dependencies": { - "esbuild": "^0.21.0", - "get-tsconfig": "^4.7.0", - "loader-utils": "^2.0.4", - "webpack-sources": "^1.4.3" + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" }, "funding": { - "url": "https://github.com/privatenumber/esbuild-loader?sponsor=1" - }, - "peerDependencies": { - "webpack": "^4.40.0 || ^5.0.0" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/esbuild-loader/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "license": "MIT", "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -6905,6 +7621,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0" }, @@ -6917,6 +7634,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "license": "MIT", "dependencies": { "@types/estree-jsx": "^1.0.0", "devlop": "^1.0.0", @@ -6932,6 +7650,21 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" + }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" @@ -6941,6 +7674,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "license": "MIT", "dependencies": { "@types/estree-jsx": "^1.0.0", "astring": "^1.8.0", @@ -6955,14 +7689,16 @@ "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "license": "BSD-3-Clause", "engines": { "node": ">= 8" } }, "node_modules/estree-util-value-to-estree": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.1.2.tgz", - "integrity": "sha512-S0gW2+XZkmsx00tU2uJ4L9hUT7IFabbml9pHh2WQqFmAbxit++YGZne0sKJbNwkj9Wvg9E4uqWl4nCIFQMmfag==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.2.1.tgz", + "integrity": "sha512-Vt2UOjyPbNQQgT5eJh+K5aATti0OjCIAGc9SgMdOFYbohuifsWclR74l0iZTJwePMgWYdX1hlVS+dedH9XV8kw==", + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0" }, @@ -6974,6 +7710,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "license": "MIT", "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/unist": "^3.0.0" @@ -6987,6 +7724,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0" } @@ -7014,6 +7752,7 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -7033,7 +7772,8 @@ "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" }, "node_modules/events": { "version": "3.3.0", @@ -7047,6 +7787,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -7066,36 +7807,37 @@ } }, "node_modules/express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", + "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.6.0", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -7106,15 +7848,11 @@ "node": ">= 0.10.0" } }, - "node_modules/express/node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, "node_modules/express/node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", "dependencies": { "safe-buffer": "5.2.1" }, @@ -7126,6 +7864,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -7133,49 +7872,35 @@ "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", + "license": "MIT" }, "node_modules/express/node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, - "node_modules/express/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" }, "node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", "dependencies": { "is-extendable": "^0.1.0" }, @@ -7230,9 +7955,10 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -7249,14 +7975,6 @@ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, - "node_modules/fast-url-parser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", - "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", - "dependencies": { - "punycode": "^1.3.2" - } - }, "node_modules/fastq": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", @@ -7269,6 +7987,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", + "license": "MIT", "dependencies": { "format": "^0.2.0" }, @@ -7281,6 +8000,7 @@ "version": "0.11.4", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "license": "Apache-2.0", "dependencies": { "websocket-driver": ">=0.5.1" }, @@ -7301,6 +8021,7 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "license": "MIT", "dependencies": { "xml-js": "^1.6.11" }, @@ -7308,10 +8029,35 @@ "node": ">=0.4.0" } }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/file-loader": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" @@ -7331,6 +8077,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -7346,6 +8093,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } @@ -7353,12 +8101,14 @@ "node_modules/file-loader/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" }, "node_modules/file-loader/node_modules/schema-utils": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", - "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -7419,12 +8169,13 @@ } }, "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "license": "MIT", "dependencies": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -7439,6 +8190,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -7446,12 +8198,14 @@ "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/find-cache-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "license": "MIT", "dependencies": { "common-path-prefix": "^3.0.0", "pkg-dir": "^7.0.0" @@ -7467,6 +8221,7 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "license": "MIT", "dependencies": { "locate-path": "^7.1.0", "path-exists": "^5.0.0" @@ -7482,6 +8237,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } @@ -7495,15 +8251,16 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -7661,6 +8418,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -7669,6 +8427,7 @@ "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", "engines": { "node": "*" }, @@ -7681,6 +8440,7 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -7772,15 +8532,20 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "license": "MIT", "dependencies": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "hasown": "^2.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -7816,17 +8581,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-tsconfig": { - "version": "4.7.6", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.6.tgz", - "integrity": "sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==", - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, "node_modules/get-uri": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.3.tgz", @@ -7845,7 +8599,8 @@ "node_modules/github-slugger": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", - "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==", + "license": "ISC" }, "node_modules/glob": { "version": "7.2.3", @@ -7880,7 +8635,8 @@ "node_modules/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==" + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "license": "BSD-2-Clause" }, "node_modules/global-dirs": { "version": "3.0.1", @@ -7943,6 +8699,7 @@ "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "license": "MIT", "engines": { "node": ">=4" } @@ -8035,6 +8792,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "license": "MIT", "dependencies": { "js-yaml": "^3.13.1", "kind-of": "^6.0.2", @@ -8049,6 +8807,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } @@ -8057,6 +8816,7 @@ "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -8082,7 +8842,8 @@ "node_modules/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==" + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "license": "MIT" }, "node_modules/has": { "version": "1.0.3", @@ -8112,11 +8873,12 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.2" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -8184,6 +8946,7 @@ "version": "8.0.1", "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", @@ -8203,6 +8966,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0" }, @@ -8215,6 +8979,7 @@ "version": "9.0.4", "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.4.tgz", "integrity": "sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", @@ -8239,6 +9004,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", @@ -8262,10 +9028,26 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/hast-util-to-estree/node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", + "license": "MIT" + }, + "node_modules/hast-util-to-estree/node_modules/style-to-object": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, "node_modules/hast-util-to-jsx-runtime": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz", - "integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.2.tgz", + "integrity": "sha512-1ngXYb+V9UT5h+PxNRa1O1FYguZK/XL+gkeqvp7EdHlB9oHUG0eYRo/vY5inBdcqo3RkPMC58/H94HvkbfGdyg==", + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", @@ -8288,23 +9070,11 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-to-jsx-runtime/node_modules/inline-style-parser": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.3.tgz", - "integrity": "sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g==" - }, - "node_modules/hast-util-to-jsx-runtime/node_modules/style-to-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.6.tgz", - "integrity": "sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==", - "dependencies": { - "inline-style-parser": "0.2.3" - } - }, "node_modules/hast-util-to-parse5": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", @@ -8323,6 +9093,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0" }, @@ -8335,6 +9106,7 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", @@ -8380,6 +9152,7 @@ "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "license": "MIT", "dependencies": { "inherits": "^2.0.1", "obuf": "^1.0.0", @@ -8390,12 +9163,14 @@ "node_modules/hpack.js/node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" }, "node_modules/hpack.js/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -8406,18 +9181,25 @@ "util-deprecate": "~1.0.1" } }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, "node_modules/hpack.js/node_modules/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==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } }, "node_modules/html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz", + "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==", "funding": [ { "type": "github", @@ -8427,17 +9209,20 @@ "type": "patreon", "url": "https://patreon.com/mdevils" } - ] + ], + "license": "MIT" }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "license": "MIT" }, "node_modules/html-minifier-terser": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", + "license": "MIT", "dependencies": { "camel-case": "^4.1.2", "clean-css": "~5.3.2", @@ -8458,6 +9243,7 @@ "version": "10.0.1", "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "license": "MIT", "engines": { "node": ">=14" } @@ -8477,6 +9263,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -8552,6 +9339,7 @@ "url": "https://github.com/sponsors/fb55" } ], + "license": "MIT", "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", @@ -8567,12 +9355,14 @@ "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "license": "MIT" }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -8587,12 +9377,14 @@ "node_modules/http-parser-js": { "version": "0.5.8", "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "license": "MIT" }, "node_modules/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==", + "license": "MIT", "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", @@ -8616,9 +9408,10 @@ } }, "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", + "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", + "license": "MIT", "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", @@ -8642,6 +9435,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -8678,6 +9472,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } @@ -8686,6 +9481,7 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -8697,6 +9493,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -8741,6 +9538,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", + "license": "MIT", "dependencies": { "queue": "6.0.2" }, @@ -8800,9 +9598,10 @@ } }, "node_modules/infima": { - "version": "0.2.0-alpha.43", - "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.43.tgz", - "integrity": "sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ==", + "version": "0.2.0-alpha.45", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.45.tgz", + "integrity": "sha512-uyH0zfr1erU1OohLk0fT4Rrb94AOhguWNOcD9uGrSpRvNB+6gZXUoJX5J0NtvzBO10YZ9PgvA4NFgt+fYg8ojw==", + "license": "MIT", "engines": { "node": ">=12" } @@ -8827,9 +9626,10 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "node_modules/inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", + "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==", + "license": "MIT" }, "node_modules/internal-slot": { "version": "1.0.6", @@ -8880,9 +9680,10 @@ "dev": true }, "node_modules/ipaddr.js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", - "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "license": "MIT", "engines": { "node": ">= 10" } @@ -8891,6 +9692,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -8900,6 +9702,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", "dependencies": { "is-alphabetical": "^2.0.0", "is-decimal": "^2.0.0" @@ -9015,6 +9818,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -9038,6 +9842,7 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9073,6 +9878,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -9170,6 +9976,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -9177,22 +9984,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-reference": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", - "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", - "dependencies": { - "@types/estree": "*" - } - }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -9362,6 +10153,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -9378,6 +10170,7 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "license": "MIT", "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", @@ -9392,6 +10185,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -9403,9 +10197,10 @@ } }, "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "license": "MIT", "bin": { "jiti": "bin/jiti.js" } @@ -9414,6 +10209,7 @@ "version": "17.13.3", "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", + "license": "BSD-3-Clause", "dependencies": { "@hapi/hoek": "^9.3.0", "@hapi/topo": "^5.1.0", @@ -9445,14 +10241,15 @@ "dev": true }, "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/json-buffer": { @@ -9518,52 +10315,282 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "engines": { - "node": ">=0.10.0" + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/latest-version": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", + "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", + "dependencies": { + "package-json": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/launch-editor": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", + "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", + "license": "MIT", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/lightningcss": { + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.28.1.tgz", + "integrity": "sha512-KRDkHlLlNj3DWh79CDt93fPlRJh2W1AuHV0ZSZAMMuN7lqlsZTV5842idfS1urWG8q9tc17velp1gCXhY7sLnQ==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.28.1", + "lightningcss-darwin-x64": "1.28.1", + "lightningcss-freebsd-x64": "1.28.1", + "lightningcss-linux-arm-gnueabihf": "1.28.1", + "lightningcss-linux-arm64-gnu": "1.28.1", + "lightningcss-linux-arm64-musl": "1.28.1", + "lightningcss-linux-x64-gnu": "1.28.1", + "lightningcss-linux-x64-musl": "1.28.1", + "lightningcss-win32-arm64-msvc": "1.28.1", + "lightningcss-win32-x64-msvc": "1.28.1" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.28.1.tgz", + "integrity": "sha512-VG3vvzM0m/rguCdm76DdobNeNJnHK+jWcdkNLFWHLh9YCotRvbRIt45JxwcHlIF8TDqWStVLTdghq5NaigVCBQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.28.1.tgz", + "integrity": "sha512-O7ORdislvKfMohFl4Iq7fxKqdJOuuxArcglVI3amuFO5DJ0wfV3Gxgi1JRo49slfr7OVzJQEHLG4muTWYM5cTQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.28.1.tgz", + "integrity": "sha512-b7sF89B31kYYijxVcFO7l5u6UNA862YstNu+3YbLl/IQKzveL4a5cwR5cdpG+OOhErg/c2u9WCmzZoX2I5GBvw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.28.1.tgz", + "integrity": "sha512-p61kXwvhUDLLzkWHjzSFfUBW/F0iy3jr3CWi3k8SKULtJEsJXTI9DqRm9EixxMSe2AMBQBt4auTYiQL4B1N51A==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.28.1.tgz", + "integrity": "sha512-iO+fN9hOMmzfwqcG2/BgUtMKD48H2JO/SXU44fyIwpY2veb65QF5xiRrQ9l1FwIxbGK3231KBYCtAqv+xf+NsQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.28.1.tgz", + "integrity": "sha512-dnMHeXEmCUzHHZjaDpQBYuBKcN9nPC3nPFKl70bcj5Bkn5EmkcgEqm5p035LKOgvAwk1XwLpQCML6pXmCwz0NQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.28.1.tgz", + "integrity": "sha512-7vWDISaMUn+oo2TwRdf2hl/BLdPxvywv9JKEqNZB/0K7bXwV4XE9wN/C2sAp1gGuh6QBA8lpjF4JIPt3HNlCHA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.28.1.tgz", + "integrity": "sha512-IHCu9tVGP+x5BCpA2rF3D04DBokcBza/a8AuHQU+1AiMKubuMegPwcL7RatBgK4ztFHeYnnD5NdhwhRfYMAtNA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/latest-version": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", - "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", - "dependencies": { - "package-json": "^8.1.0" - }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.28.1.tgz", + "integrity": "sha512-Erm72kHmMg/3h350PTseskz+eEGBM17Fuu79WW2Qqt0BfWSF1jHHc12lkJCWMYl5jcBHPs5yZdgNHtJ7IJS3Uw==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14.16" + "node": ">= 12.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/launch-editor": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", - "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", - "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.28.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.28.1.tgz", + "integrity": "sha512-ZPQtvx+uQBzrSdHH8p4H3M9Alue+x369TPZAA3b4K3d92FPhpZCuBG04+HQzspam9sVeID9mI6f3VRAs2ezaEA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, "node_modules/lilconfig": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -9601,6 +10628,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "license": "MIT", "dependencies": { "p-locate": "^6.0.0" }, @@ -9619,12 +10647,14 @@ "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" }, "node_modules/lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "license": "MIT" }, "node_modules/lodash.sortby": { "version": "4.7.0", @@ -9634,12 +10664,14 @@ "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" }, "node_modules/longest-streak": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -9679,6 +10711,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } @@ -9695,6 +10728,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "license": "MIT", "engines": { "node": ">=16" }, @@ -9703,9 +10737,10 @@ } }, "node_modules/markdown-table": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", - "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -9715,6 +10750,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz", "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", @@ -9734,6 +10770,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "escape-string-regexp": "^5.0.0", @@ -9749,6 +10786,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -9757,9 +10795,10 @@ } }, "node_modules/mdast-util-from-markdown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.1.tgz", - "integrity": "sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", @@ -9792,12 +10831,14 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/mdast-util-frontmatter": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", @@ -9815,6 +10856,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -9826,6 +10868,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "license": "MIT", "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-gfm-autolink-literal": "^2.0.0", @@ -9841,9 +10884,10 @@ } }, "node_modules/mdast-util-gfm-autolink-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", - "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "ccount": "^2.0.0", @@ -9870,6 +10914,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -9888,12 +10933,14 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/mdast-util-gfm-footnote": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.1.0", @@ -9910,6 +10957,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", @@ -9924,6 +10972,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", @@ -9940,6 +10989,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", @@ -9955,6 +11005,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "license": "MIT", "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-mdx-expression": "^2.0.0", @@ -9968,9 +11019,10 @@ } }, "node_modules/mdast-util-mdx-expression": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", - "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", @@ -9985,9 +11037,10 @@ } }, "node_modules/mdast-util-mdx-jsx": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.2.tgz", - "integrity": "sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.3.tgz", + "integrity": "sha512-bfOjvNt+1AcbPLTFMFWY149nJz0OjmewJs3LQQ5pIyVGxP4CdOqNVJL6kTaM5c68p8q82Xv3nCyFfUnuEcH3UQ==", + "license": "MIT", "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", @@ -9999,7 +11052,6 @@ "mdast-util-to-markdown": "^2.0.0", "parse-entities": "^4.0.0", "stringify-entities": "^4.0.0", - "unist-util-remove-position": "^5.0.0", "unist-util-stringify-position": "^4.0.0", "vfile-message": "^4.0.0" }, @@ -10012,6 +11064,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", @@ -10029,6 +11082,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" @@ -10042,6 +11096,7 @@ "version": "13.2.0", "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -10059,15 +11114,17 @@ } }, "node_modules/mdast-util-to-markdown": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", - "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "longest-streak": "^3.0.0", "mdast-util-phrasing": "^4.0.0", "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "unist-util-visit": "^5.0.0", "zwitch": "^2.0.0" @@ -10081,6 +11138,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0" }, @@ -10092,12 +11150,14 @@ "node_modules/mdn-data": { "version": "2.0.30", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "license": "CC0-1.0" }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -10114,9 +11174,13 @@ } }, "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/merge-stream": { "version": "2.0.0", @@ -10135,6 +11199,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -10153,6 +11218,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "@types/debug": "^4.0.0", "debug": "^4.0.0", @@ -10187,6 +11253,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", @@ -10220,6 +11287,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10239,6 +11307,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10257,12 +11326,14 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-extension-directive": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.1.tgz", - "integrity": "sha512-VGV2uxUzhEZmaP7NSFo2vtq7M2nUD+WfmYQD+d8i/1nHbzE+rMy9uzTvUybBbNiVbrhOZibg3gbyoARGqgDWyg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz", + "integrity": "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==", + "license": "MIT", "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", @@ -10291,6 +11362,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10310,6 +11382,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10328,12 +11401,14 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-extension-frontmatter": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", + "license": "MIT", "dependencies": { "fault": "^2.0.0", "micromark-util-character": "^2.0.0", @@ -10359,6 +11434,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10377,12 +11453,14 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-extension-gfm": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", "dependencies": { "micromark-extension-gfm-autolink-literal": "^2.0.0", "micromark-extension-gfm-footnote": "^2.0.0", @@ -10402,6 +11480,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", @@ -10427,6 +11506,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10445,12 +11525,14 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-extension-gfm-footnote": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", "dependencies": { "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", @@ -10480,6 +11562,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10499,6 +11582,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10517,12 +11601,14 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-extension-gfm-strikethrough": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", @@ -10549,12 +11635,14 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-extension-gfm-table": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz", "integrity": "sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==", + "license": "MIT", "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", @@ -10581,6 +11669,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10600,6 +11689,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10618,12 +11708,14 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-extension-gfm-tagfilter": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", "dependencies": { "micromark-util-types": "^2.0.0" }, @@ -10636,6 +11728,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", @@ -10662,6 +11755,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10681,6 +11775,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10699,7 +11794,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-extension-mdx-expression": { "version": "3.0.0", @@ -10715,6 +11811,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", @@ -10740,6 +11837,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10759,6 +11857,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10777,12 +11876,14 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-extension-mdx-jsx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz", - "integrity": "sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.1.tgz", + "integrity": "sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==", + "license": "MIT", "dependencies": { "@types/acorn": "^4.0.0", "@types/estree": "^1.0.0", @@ -10791,6 +11892,7 @@ "micromark-factory-mdx-expression": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "vfile-message": "^4.0.0" @@ -10814,6 +11916,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10833,6 +11936,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10851,12 +11955,14 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-extension-mdx-md": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", "dependencies": { "micromark-util-types": "^2.0.0" }, @@ -10869,6 +11975,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "license": "MIT", "dependencies": { "acorn": "^8.0.0", "acorn-jsx": "^5.0.0", @@ -10888,6 +11995,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", @@ -10918,6 +12026,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10936,7 +12045,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-factory-destination": { "version": "2.0.0", @@ -10952,6 +12062,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", @@ -10972,6 +12083,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -10990,7 +12102,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-factory-label": { "version": "2.0.0", @@ -11006,6 +12119,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "devlop": "^1.0.0", "micromark-util-character": "^2.0.0", @@ -11027,6 +12141,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -11045,12 +12160,13 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-factory-mdx-expression": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz", - "integrity": "sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.2.tgz", + "integrity": "sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==", "funding": [ { "type": "GitHub Sponsors", @@ -11061,9 +12177,11 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", @@ -11072,6 +12190,26 @@ "vfile-message": "^4.0.0" } }, + "node_modules/micromark-factory-mdx-expression/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-character": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", @@ -11086,6 +12224,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -11104,7 +12243,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-factory-space": { "version": "1.1.0", @@ -11120,6 +12260,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^1.0.0", "micromark-util-types": "^1.0.0" @@ -11138,7 +12279,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-factory-title": { "version": "2.0.0", @@ -11154,6 +12296,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", @@ -11175,6 +12318,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -11194,6 +12338,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -11212,7 +12357,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-factory-whitespace": { "version": "2.0.0", @@ -11228,6 +12374,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", @@ -11249,6 +12396,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -11268,6 +12416,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -11286,7 +12435,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-util-character": { "version": "1.2.0", @@ -11302,6 +12452,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^1.0.0", "micromark-util-types": "^1.0.0" @@ -11320,7 +12471,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-util-chunked": { "version": "2.0.0", @@ -11336,6 +12488,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0" } @@ -11353,7 +12506,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-util-classify-character": { "version": "2.0.0", @@ -11369,6 +12523,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", @@ -11389,6 +12544,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -11407,7 +12563,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-util-combine-extensions": { "version": "2.0.0", @@ -11423,6 +12580,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-chunked": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -11442,6 +12600,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0" } @@ -11459,7 +12618,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-util-decode-string": { "version": "2.0.0", @@ -11475,6 +12635,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "decode-named-character-reference": "^1.0.0", "micromark-util-character": "^2.0.0", @@ -11496,6 +12657,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -11514,7 +12676,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-util-encode": { "version": "2.0.0", @@ -11529,7 +12692,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-util-events-to-acorn": { "version": "2.0.2", @@ -11545,6 +12709,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "@types/acorn": "^4.0.0", "@types/estree": "^1.0.0", @@ -11569,7 +12734,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-util-html-tag-name": { "version": "2.0.0", @@ -11584,7 +12750,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-util-normalize-identifier": { "version": "2.0.0", @@ -11600,6 +12767,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0" } @@ -11617,7 +12785,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-util-resolve-all": { "version": "2.0.0", @@ -11633,6 +12802,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-types": "^2.0.0" } @@ -11651,6 +12821,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-encode": "^2.0.0", @@ -11671,6 +12842,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -11689,7 +12861,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-util-subtokenize": { "version": "2.0.1", @@ -11705,6 +12878,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", @@ -11725,7 +12899,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-util-symbol": { "version": "1.1.0", @@ -11740,7 +12915,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark-util-types": { "version": "2.0.0", @@ -11755,7 +12931,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromark/node_modules/micromark-factory-space": { "version": "2.0.0", @@ -11771,6 +12948,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -11790,6 +12968,7 @@ "url": "https://opencollective.com/unified" } ], + "license": "MIT", "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" @@ -11808,7 +12987,8 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ] + ], + "license": "MIT" }, "node_modules/micromatch": { "version": "4.0.5", @@ -11822,6 +13002,18 @@ "node": ">=8.6" } }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", @@ -11845,6 +13037,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", "engines": { "node": ">=6" } @@ -11861,11 +13054,13 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "2.7.7", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.7.tgz", - "integrity": "sha512-+0n11YGyRavUR3IlaOzJ0/4Il1avMvJ1VJfhWfCn24ITQXhRr1gghbhhrda6tgtNcpZaWKdSuwKq20Jb7fnlyw==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", + "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", + "license": "MIT", "dependencies": { - "schema-utils": "^4.0.0" + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" }, "engines": { "node": ">= 12.13.0" @@ -11881,7 +13076,8 @@ "node_modules/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==" + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" }, "node_modules/minimatch": { "version": "3.1.2", @@ -11918,6 +13114,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "license": "MIT", "engines": { "node": ">=10" } @@ -11931,6 +13128,7 @@ "version": "7.2.5", "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "license": "MIT", "dependencies": { "dns-packet": "^5.2.2", "thunky": "^1.0.2" @@ -11949,6 +13147,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -11957,9 +13156,10 @@ } }, "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -11991,6 +13191,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz", "integrity": "sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==", + "license": "MIT", "dependencies": { "@sindresorhus/is": "^4.6.0", "char-regex": "^1.0.2", @@ -12025,14 +13226,16 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" } }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", @@ -12046,6 +13249,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12054,6 +13258,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -12064,7 +13269,8 @@ "node_modules/nprogress": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==", + "license": "MIT" }, "node_modules/nth-check": { "version": "2.1.1", @@ -12077,6 +13283,75 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, + "node_modules/null-loader": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-4.0.1.tgz", + "integrity": "sha512-pxqVbi4U6N26lq+LmgIbB5XATP0VdZKOG25DhHi8btMmJJefGArFyDg1yc4U3hWCJbMqSrw0qyrz1UQX+qYXqg==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/null-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "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" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/null-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/null-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/null-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -12121,12 +13396,14 @@ "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "license": "MIT" }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -12138,6 +13415,7 @@ "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==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -12154,6 +13432,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -12184,6 +13463,7 @@ "version": "1.5.2", "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "license": "(WTFPL OR MIT)", "bin": { "opener": "bin/opener-bin.js" } @@ -12214,6 +13494,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "license": "MIT", "dependencies": { "p-limit": "^4.0.0" }, @@ -12228,6 +13509,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "license": "MIT", "dependencies": { "yocto-queue": "^1.0.0" }, @@ -12239,9 +13521,10 @@ } }, "node_modules/p-locate/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "license": "MIT", "engines": { "node": ">=12.20" }, @@ -12267,6 +13550,7 @@ "version": "4.6.2", "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "license": "MIT", "dependencies": { "@types/retry": "0.12.0", "retry": "^0.13.1" @@ -12356,6 +13640,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", + "license": "MIT", "dependencies": { "@types/unist": "^2.0.0", "character-entities": "^2.0.0", @@ -12372,9 +13657,10 @@ } }, "node_modules/parse-entities/node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" }, "node_modules/parse-json": { "version": "5.2.0", @@ -12396,25 +13682,28 @@ "node_modules/parse-numeric-range": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", - "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", + "license": "ISC" }, "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", + "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "license": "MIT", "dependencies": { - "entities": "^4.4.0" + "entities": "^4.5.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" } }, "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", + "license": "MIT", "dependencies": { - "domhandler": "^5.0.2", + "domhandler": "^5.0.3", "parse5": "^7.0.0" }, "funding": { @@ -12425,6 +13714,7 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -12457,7 +13747,8 @@ "node_modules/path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "license": "(WTFPL OR MIT)" }, "node_modules/path-key": { "version": "3.1.1", @@ -12473,9 +13764,10 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/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==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", + "integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==", + "license": "MIT", "dependencies": { "isarray": "0.0.1" } @@ -12494,20 +13786,11 @@ "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true }, - "node_modules/periscopic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", - "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^3.0.0", - "is-reference": "^3.0.0" - } - }, "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", @@ -12524,6 +13807,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "license": "MIT", "dependencies": { "find-up": "^6.3.0" }, @@ -12588,9 +13872,9 @@ } }, "node_modules/postcss": { - "version": "8.4.40", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", - "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "funding": [ { "type": "opencollective", @@ -12605,10 +13889,11 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -12618,6 +13903,7 @@ "version": "9.0.1", "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.11", "postcss-value-parser": "^4.2.0" @@ -12633,6 +13919,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.1.0.tgz", "integrity": "sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "caniuse-api": "^3.0.0", @@ -12650,6 +13937,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.1.0.tgz", "integrity": "sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "postcss-value-parser": "^4.2.0" @@ -12665,6 +13953,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.2.tgz", "integrity": "sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==", + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -12676,6 +13965,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.3.tgz", "integrity": "sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==", + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -12687,6 +13977,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.3.tgz", "integrity": "sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==", + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -12698,6 +13989,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.2.tgz", "integrity": "sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==", + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -12709,6 +14001,7 @@ "version": "6.0.5", "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.5.tgz", "integrity": "sha512-wHalBlRHkaNnNwfC8z+ppX57VhvS+HWgjW508esjdaEYr3Mx7Gnn2xA4R/CKf5+Z9S5qsqC+Uzh4ueENWwCVUA==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.16" }, @@ -12723,6 +14016,7 @@ "version": "7.3.4", "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", + "license": "MIT", "dependencies": { "cosmiconfig": "^8.3.5", "jiti": "^1.20.0", @@ -12744,6 +14038,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-6.0.3.tgz", "integrity": "sha512-1oIoAsODUs6IHQZkLQGO15uGEbK3EAl5wi9SS8hs45VgsxQfMnxvt+L+zIr7ifZFIH14cfAeVe2uCTa+SPRa3g==", + "license": "MIT", "dependencies": { "cssnano-utils": "^4.0.2", "postcss-value-parser": "^4.2.0" @@ -12759,6 +14054,7 @@ "version": "6.0.5", "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.5.tgz", "integrity": "sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", "stylehacks": "^6.1.1" @@ -12774,6 +14070,7 @@ "version": "6.1.1", "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.1.1.tgz", "integrity": "sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "caniuse-api": "^3.0.0", @@ -12791,6 +14088,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.1.0.tgz", "integrity": "sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -12805,6 +14103,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.3.tgz", "integrity": "sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==", + "license": "MIT", "dependencies": { "colord": "^2.9.3", "cssnano-utils": "^4.0.2", @@ -12821,6 +14120,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.1.0.tgz", "integrity": "sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "cssnano-utils": "^4.0.2", @@ -12837,6 +14137,7 @@ "version": "6.0.4", "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.4.tgz", "integrity": "sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.16" }, @@ -12848,9 +14149,10 @@ } }, "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -12859,9 +14161,10 @@ } }, "node_modules/postcss-modules-local-by-default": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", - "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz", + "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==", + "license": "MIT", "dependencies": { "icss-utils": "^5.0.0", "postcss-selector-parser": "^6.0.2", @@ -12875,9 +14178,10 @@ } }, "node_modules/postcss-modules-scope": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", - "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz", + "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==", + "license": "ISC", "dependencies": { "postcss-selector-parser": "^6.0.4" }, @@ -12892,6 +14196,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "license": "ISC", "dependencies": { "icss-utils": "^5.0.0" }, @@ -12906,6 +14211,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.2.tgz", "integrity": "sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==", + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -12917,6 +14223,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.2.tgz", "integrity": "sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -12931,6 +14238,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.2.tgz", "integrity": "sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -12945,6 +14253,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.2.tgz", "integrity": "sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -12959,6 +14268,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.2.tgz", "integrity": "sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -12973,6 +14283,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.2.tgz", "integrity": "sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -12987,6 +14298,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.1.0.tgz", "integrity": "sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "postcss-value-parser": "^4.2.0" @@ -13002,6 +14314,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.2.tgz", "integrity": "sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13016,6 +14329,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.2.tgz", "integrity": "sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13030,6 +14344,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.2.tgz", "integrity": "sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==", + "license": "MIT", "dependencies": { "cssnano-utils": "^4.0.2", "postcss-value-parser": "^4.2.0" @@ -13045,6 +14360,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-6.0.3.tgz", "integrity": "sha512-G3yCqZDpsNPoQgbDUy3T0E6hqOQ5xigUtBQyrmq3tn2GxlyiL0yyl7H+T8ulQR6kOcHJ9t7/9H4/R2tv8tJbMA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13059,6 +14375,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.1.0.tgz", "integrity": "sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "caniuse-api": "^3.0.0" @@ -13074,6 +14391,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.2.tgz", "integrity": "sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0" }, @@ -13085,9 +14403,10 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", - "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -13100,6 +14419,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-5.2.0.tgz", "integrity": "sha512-AZ5fDMLD8SldlAYlvi8NIqo0+Z8xnXU2ia0jxmuhxAU+Lqt9K+AlmLNJ/zWEnE9x+Zx3qL3+1K20ATgNOr3fAA==", + "license": "MIT", "dependencies": { "sort-css-media-queries": "2.2.0" }, @@ -13114,6 +14434,7 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.3.tgz", "integrity": "sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==", + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.2.0", "svgo": "^3.2.0" @@ -13129,6 +14450,7 @@ "version": "6.0.4", "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.4.tgz", "integrity": "sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==", + "license": "MIT", "dependencies": { "postcss-selector-parser": "^6.0.16" }, @@ -13142,12 +14464,14 @@ "node_modules/postcss-value-parser": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" }, "node_modules/postcss-zindex": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz", "integrity": "sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==", + "license": "MIT", "engines": { "node": "^14 || ^16 || >=18.0" }, @@ -13179,14 +14503,16 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/prism-react-renderer": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz", - "integrity": "sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.4.0.tgz", + "integrity": "sha512-327BsVCD/unU4CNLZTWVHyUHKnsqcvj2qbPlQ8MiBE2eq2rgctjigPA1Gp9HLF83kZ20zNN6jgizHJeEsyFYOw==", + "license": "MIT", "dependencies": { "@types/prismjs": "^1.26.0", "clsx": "^2.0.0" @@ -13199,6 +14525,7 @@ "version": "1.29.0", "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "license": "MIT", "engines": { "node": ">=6" } @@ -13206,7 +14533,8 @@ "node_modules/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==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" }, "node_modules/progress": { "version": "2.0.3", @@ -13243,6 +14571,7 @@ "version": "6.5.0", "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -13257,6 +14586,7 @@ "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -13269,6 +14599,7 @@ "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==", + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -13317,11 +14648,6 @@ "once": "^1.3.1" } }, - "node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" - }, "node_modules/pupa": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", @@ -13438,11 +14764,12 @@ } }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -13455,6 +14782,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "license": "MIT", "dependencies": { "inherits": "~2.0.3" } @@ -13507,6 +14835,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -13515,6 +14844,7 @@ "version": "2.5.2", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -13529,6 +14859,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -13709,9 +15040,10 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/react-json-view-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.4.0.tgz", - "integrity": "sha512-wh6F6uJyYAmQ4fK0e8dSQMEWuvTs2Wr3el3sLD9bambX1+pSWUVXIz1RFaoy3TI1mZ0FqdpKq9YgbgTTgyrmXA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.5.0.tgz", + "integrity": "sha512-nWqA1E4jKPklL2jvHWs6s+7Na0qNgw9HCP6xehdQJeg6nPBTFZgGwyko9Q0oj+jQWKTTVRS30u0toM5wiuL3iw==", + "license": "MIT", "engines": { "node": ">=14" }, @@ -13747,15 +15079,16 @@ } }, "node_modules/react-medium-image-zoom": { - "version": "5.2.8", - "resolved": "https://registry.npmjs.org/react-medium-image-zoom/-/react-medium-image-zoom-5.2.8.tgz", - "integrity": "sha512-ivnubZi/2GQcMTneQy5gjLxEQLenKu081844qqZ7/JvLxSh5YPF1TLq7s+5rc54dKa0jjPT8Zm2tiC0Sda6eIA==", + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/react-medium-image-zoom/-/react-medium-image-zoom-5.2.10.tgz", + "integrity": "sha512-JBYf4u0zsocezIDtrjwStD+8sX+c8XuLsdz+HxPbojRj0sCicua0XOQKysuPetoFyX+YgStfj+vEtZ+699O/pg==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/rpearce" } ], + "license": "BSD-3-Clause", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" @@ -13813,6 +15146,7 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -13849,6 +15183,70 @@ "node": ">= 0.10" } }, + "node_modules/recma-build-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.0.tgz", + "integrity": "sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==", + "license": "MIT", + "dependencies": { + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/recursive-readdir": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", @@ -13863,12 +15261,14 @@ "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" }, "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "license": "MIT", "dependencies": { "regenerate": "^1.4.2" }, @@ -13885,6 +15285,7 @@ "version": "0.15.2", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.4" } @@ -13906,14 +15307,15 @@ } }, "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.1.1.tgz", + "integrity": "sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==", + "license": "MIT", "dependencies": { - "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.11.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" }, @@ -13946,29 +15348,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "license": "MIT" + }, "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.2.tgz", + "integrity": "sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA==", + "license": "BSD-2-Clause", "dependencies": { - "jsesc": "~0.5.0" + "jsesc": "~3.0.2" }, "bin": { "regjsparser": "bin/parser" } }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "bin": { - "jsesc": "bin/jsesc" - } - }, "node_modules/rehype-raw": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "hast-util-raw": "^9.0.0", @@ -13979,6 +15381,21 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", @@ -13991,6 +15408,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz", "integrity": "sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-directive": "^3.0.0", @@ -14006,6 +15424,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz", "integrity": "sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.2", "emoticon": "^4.0.1", @@ -14021,6 +15440,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-frontmatter": "^2.0.0", @@ -14036,6 +15456,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-gfm": "^3.0.0", @@ -14050,9 +15471,10 @@ } }, "node_modules/remark-mdx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.1.tgz", - "integrity": "sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.0.tgz", + "integrity": "sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA==", + "license": "MIT", "dependencies": { "mdast-util-mdx": "^3.0.0", "micromark-extension-mdxjs": "^3.0.0" @@ -14066,6 +15488,7 @@ "version": "11.0.0", "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", @@ -14078,9 +15501,10 @@ } }, "node_modules/remark-rehype": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", - "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.1.tgz", + "integrity": "sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==", + "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", @@ -14097,6 +15521,7 @@ "version": "11.0.0", "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-to-markdown": "^2.0.0", @@ -14200,6 +15625,15 @@ "entities": "^2.0.0" } }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -14228,7 +15662,8 @@ "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" }, "node_modules/resolve": { "version": "1.22.2", @@ -14264,14 +15699,6 @@ "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, "node_modules/responselike": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", @@ -14290,6 +15717,7 @@ "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "license": "MIT", "engines": { "node": ">= 4" } @@ -14318,9 +15746,10 @@ } }, "node_modules/rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "version": "2.79.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", + "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", + "license": "MIT", "bin": { "rollup": "dist/bin/rollup" }, @@ -14373,9 +15802,10 @@ "integrity": "sha512-EBR4I2VDSSYr7PkBmFy04uhycIpDKp+21p/jARYXlCSjQksTBQcJ0HFUPOO79EPPH5JS6VAhiIQbycf0O3JAxQ==" }, "node_modules/rtlcss": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.2.0.tgz", - "integrity": "sha512-AV+V3oOVvCrqyH5Q/6RuT1IDH1Xy5kJTkEWTWZPN5rdQ3HCFOd8SrbC7c6N5Y8bPpCfZSR6yYbUATXslvfvu5g==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.3.0.tgz", + "integrity": "sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig==", + "license": "MIT", "dependencies": { "escalade": "^3.1.1", "picocolors": "^1.0.0", @@ -14434,9 +15864,24 @@ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" }, "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, "node_modules/safe-regex-test": { "version": "1.0.2", @@ -14457,12 +15902,14 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" }, "node_modules/sax": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", - "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==" + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "license": "ISC" }, "node_modules/scheduler": { "version": "0.23.2", @@ -14476,6 +15923,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", @@ -14490,27 +15938,18 @@ "url": "https://opencollective.com/webpack" } }, - "node_modules/schema-utils/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, "node_modules/search-insights": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.15.0.tgz", - "integrity": "sha512-ch2sPCUDD4sbPQdknVl9ALSi9H7VyoeVbsxznYz6QV55jJ8CI3EtwpO1i84keN4+hF5IeHWIeGvc08530JkVXQ==", + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.2.tgz", + "integrity": "sha512-zFNpOpUO+tY2D85KrxJ+aqwnIfdEGi06UH2+xEb+Bp9Mwznmauqc9djbnBibJO5mpfUPPa8st6Sx65+vbeO45g==", + "license": "MIT", "peer": true }, "node_modules/section-matter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "license": "MIT", "dependencies": { "extend-shallow": "^2.0.1", "kind-of": "^6.0.0" @@ -14522,12 +15961,14 @@ "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "license": "MIT" }, "node_modules/selfsigned": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "license": "MIT", "dependencies": { "@types/node-forge": "^1.3.0", "node-forge": "^1" @@ -14581,9 +16022,10 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -14607,6 +16049,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -14614,28 +16057,29 @@ "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 0.8" } }, "node_modules/send/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/send/node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -14649,17 +16093,17 @@ } }, "node_modules/serve-handler": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", - "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", + "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", + "license": "MIT", "dependencies": { "bytes": "3.0.0", "content-disposition": "0.5.2", - "fast-url-parser": "1.1.3", "mime-types": "2.1.18", "minimatch": "3.1.2", "path-is-inside": "1.0.2", - "path-to-regexp": "2.2.1", + "path-to-regexp": "3.3.0", "range-parser": "1.2.0" } }, @@ -14667,6 +16111,7 @@ "version": "1.33.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -14675,6 +16120,7 @@ "version": "2.1.18", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "license": "MIT", "dependencies": { "mime-db": "~1.33.0" }, @@ -14683,14 +16129,16 @@ } }, "node_modules/serve-handler/node_modules/path-to-regexp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", - "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", + "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", + "license": "MIT" }, "node_modules/serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "license": "MIT", "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", @@ -14708,6 +16156,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -14716,6 +16165,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -14724,6 +16174,7 @@ "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "license": "MIT", "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -14737,50 +16188,57 @@ "node_modules/serve-index/node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" }, "node_modules/serve-index/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" }, "node_modules/serve-index/node_modules/setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "license": "ISC" }, "node_modules/serve-index/node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "license": "MIT", "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/set-function-length": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz", - "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", "dependencies": { - "define-data-property": "^1.1.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.2", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -14802,7 +16260,8 @@ "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" }, "node_modules/shallow-clone": { "version": "3.0.1", @@ -14864,13 +16323,18 @@ } }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "license": "MIT", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -14885,6 +16349,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "license": "MIT", "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", @@ -14903,6 +16368,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.2.tgz", "integrity": "sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw==", + "license": "MIT", "dependencies": { "@types/node": "^17.0.5", "@types/sax": "^1.2.1", @@ -14920,12 +16386,14 @@ "node_modules/sitemap/node_modules/@types/node": { "version": "17.0.45", "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "license": "MIT" }, "node_modules/skin-tone": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "license": "MIT", "dependencies": { "unicode-emoji-modifier-base": "^1.0.0" }, @@ -14955,6 +16423,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "license": "MIT", "dependencies": { "dot-case": "^3.0.4", "tslib": "^2.0.3" @@ -14964,6 +16433,7 @@ "version": "0.3.24", "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "license": "MIT", "dependencies": { "faye-websocket": "^0.11.3", "uuid": "^8.3.2", @@ -15002,15 +16472,11 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz", "integrity": "sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA==", + "license": "MIT", "engines": { "node": ">= 6.3.0" } }, - "node_modules/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==" - }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -15020,9 +16486,10 @@ } }, "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -15046,6 +16513,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -15055,6 +16523,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "license": "MIT", "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", @@ -15070,6 +16539,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "license": "MIT", "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", @@ -15082,12 +16552,14 @@ "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" }, "node_modules/srcset": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", + "license": "MIT", "engines": { "node": ">=12" }, @@ -15099,14 +16571,16 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/std-env": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.3.tgz", - "integrity": "sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==" + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "license": "MIT" }, "node_modules/streamx": { "version": "2.18.0", @@ -15126,29 +16600,11 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } }, - "node_modules/string_decoder/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", @@ -15255,6 +16711,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" @@ -15292,6 +16749,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -15308,6 +16766,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -15316,6 +16775,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", "engines": { "node": ">=8" }, @@ -15324,17 +16784,19 @@ } }, "node_modules/style-to-object": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", - "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.8.tgz", + "integrity": "sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==", + "license": "MIT", "dependencies": { - "inline-style-parser": "0.1.1" + "inline-style-parser": "0.2.4" } }, "node_modules/stylehacks": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.1.1.tgz", "integrity": "sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==", + "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "postcss-selector-parser": "^6.0.16" @@ -15371,12 +16833,14 @@ "node_modules/svg-parser": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", - "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "license": "MIT" }, "node_modules/svgo": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "license": "MIT", "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", @@ -15401,10 +16865,24 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", "engines": { "node": ">= 10" } }, + "node_modules/swc-loader": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.6.tgz", + "integrity": "sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==", + "license": "MIT", + "dependencies": { + "@swc/counter": "^0.1.3" + }, + "peerDependencies": { + "@swc/core": "^1.2.147", + "webpack": ">=2" + } + }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -15640,7 +17118,8 @@ "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "license": "MIT" }, "node_modules/tiny-invariant": { "version": "1.3.1", @@ -15652,14 +17131,6 @@ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "engines": { - "node": ">=4" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -15675,6 +17146,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", "engines": { "node": ">=0.6" } @@ -15683,6 +17155,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -15697,6 +17170,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -15706,6 +17180,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -15731,6 +17206,7 @@ "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -15846,9 +17322,10 @@ } }, "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "license": "MIT", "engines": { "node": ">=4" } @@ -15857,6 +17334,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", + "license": "MIT", "engines": { "node": ">=4" } @@ -15865,6 +17343,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -15874,9 +17353,10 @@ } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "license": "MIT", "engines": { "node": ">=4" } @@ -15885,6 +17365,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "license": "MIT", "engines": { "node": ">=4" } @@ -15893,6 +17374,7 @@ "version": "11.0.5", "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", @@ -15925,6 +17407,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" }, @@ -15937,6 +17420,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" }, @@ -15949,6 +17433,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" }, @@ -15957,23 +17442,11 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/unist-util-remove-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", - "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/unist-util-stringify-position": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0" }, @@ -15986,6 +17459,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", @@ -16000,6 +17474,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" @@ -16021,6 +17496,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -16035,9 +17511,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", "funding": [ { "type": "opencollective", @@ -16052,9 +17528,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" + "escalade": "^3.2.0", + "picocolors": "^1.1.0" }, "bin": { "update-browserslist-db": "cli.js" @@ -16153,6 +17630,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "license": "MIT", "dependencies": { "loader-utils": "^2.0.0", "mime-types": "^2.1.27", @@ -16179,6 +17657,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -16194,6 +17673,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } @@ -16201,12 +17681,14 @@ "node_modules/url-loader/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" }, "node_modules/url-loader/node_modules/schema-utils": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", - "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -16229,7 +17711,8 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" }, "node_modules/utila": { "version": "0.4.0", @@ -16240,6 +17723,7 @@ "version": "3.11.0", "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "license": "MIT", "engines": { "node": ">= 4" } @@ -16248,6 +17732,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", "engines": { "node": ">= 0.4.0" } @@ -16256,6 +17741,7 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -16269,17 +17755,18 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/vfile": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.2.tgz", - "integrity": "sha512-zND7NlS8rJYb/sPqkb13ZvbbUoExdbi4w3SfRrMq6R3FvnLQmmfpajJNITuuYm6AZ5uao9vy4BAos3EXBPf2rg==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0", "vfile-message": "^4.0.0" }, "funding": { @@ -16291,6 +17778,7 @@ "version": "5.0.3", "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "vfile": "^6.0.0" @@ -16304,6 +17792,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" @@ -16314,9 +17803,10 @@ } }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -16329,6 +17819,7 @@ "version": "1.7.3", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "license": "MIT", "dependencies": { "minimalistic-assert": "^1.0.0" } @@ -16337,6 +17828,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -16349,25 +17841,25 @@ "dev": true }, "node_modules/webpack": { - "version": "5.90.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.0.tgz", - "integrity": "sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==", - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.5", - "@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.21.10", + "version": "5.96.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.96.1.tgz", + "integrity": "sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==", + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.6", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.14.0", + "browserslist": "^4.24.0", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", + "enhanced-resolve": "^5.17.1", "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", + "graceful-fs": "^4.2.11", "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", @@ -16375,7 +17867,7 @@ "schema-utils": "^3.2.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.0", + "watchpack": "^2.4.1", "webpack-sources": "^3.2.3" }, "bin": { @@ -16395,9 +17887,10 @@ } }, "node_modules/webpack-bundle-analyzer": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz", - "integrity": "sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==", + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", + "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "0.5.7", "acorn": "^8.0.4", @@ -16407,7 +17900,6 @@ "escape-string-regexp": "^4.0.0", "gzip-size": "^6.0.0", "html-escaper": "^2.0.2", - "is-plain-object": "^5.0.0", "opener": "^1.5.2", "picocolors": "^1.0.0", "sirv": "^2.0.3", @@ -16424,6 +17916,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", "engines": { "node": ">= 10" } @@ -16432,6 +17925,7 @@ "version": "5.3.4", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "license": "MIT", "dependencies": { "colorette": "^2.0.10", "memfs": "^3.4.3", @@ -16454,14 +17948,16 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/webpack-dev-server": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", - "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "license": "MIT", "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", @@ -16491,7 +17987,7 @@ "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", + "webpack-dev-middleware": "^5.3.4", "ws": "^8.13.0" }, "bin": { @@ -16520,6 +18016,7 @@ "version": "8.18.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -16603,26 +18100,82 @@ } }, "node_modules/webpackbar": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", - "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-6.0.1.tgz", + "integrity": "sha512-TnErZpmuKdwWBdMoexjio3KKX6ZtoKHRVvLIU0A47R0VVBDtx3ZyOJDktgYixhoJokZTYTt1Z37OkO9pnGJa9Q==", + "license": "MIT", "dependencies": { - "chalk": "^4.1.0", - "consola": "^2.15.3", + "ansi-escapes": "^4.3.2", + "chalk": "^4.1.2", + "consola": "^3.2.3", + "figures": "^3.2.0", + "markdown-table": "^2.0.0", "pretty-time": "^1.1.0", - "std-env": "^3.0.1" + "std-env": "^3.7.0", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=12" + "node": ">=14.21.3" }, "peerDependencies": { "webpack": "3 || 4 || 5" } }, + "node_modules/webpackbar/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/webpackbar/node_modules/markdown-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", + "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", + "license": "MIT", + "dependencies": { + "repeat-string": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webpackbar/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpackbar/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "license": "Apache-2.0", "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", @@ -16636,6 +18189,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "license": "Apache-2.0", "engines": { "node": ">=0.8.0" } @@ -17019,6 +18573,7 @@ "version": "7.5.10", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -17050,6 +18605,7 @@ "version": "1.6.11", "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "license": "MIT", "dependencies": { "sax": "^1.2.4" }, @@ -17069,7 +18625,8 @@ "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" }, "node_modules/yaml": { "version": "1.10.2", @@ -17151,6 +18708,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" diff --git a/package.json b/package.json index 5d00470f97..7749995321 100755 --- a/package.json +++ b/package.json @@ -16,16 +16,16 @@ "docs:pdf:user": "npx docs-to-pdf --initialDocURLs=\"http://localhost:3000/stable/getting-started/overview,http://localhost:3000/stable/user-guide/installandconfig,http://localhost:3000/stable/troubleshoot/troubleshooting\" --contentSelector=\"article\" --paginationSelector=\".pagination-nav__link--next\" --cssStyle=\":root{--ifm-font-size-base: 60%;}\" --excludeSelectors=\".announcementBar_UUUQ,nav.navbar,.docSidebarContainer_3pwe,.docMainContainer_2pgU .col.col--3,footer.footer,.docItemContainer_2szM > .margin-vert--xl > .row > .col:first-child,.pagination-nav,.docsRating,.navbar__inner,.thin-scrollbar\" --coverImage=\"http://localhost:3000/img/zowe-icon.png\" --coverTitle=\"Zowe Documentation\" --outputPDFFilename=\"static/zowe-docs-user.pdf\" --protocolTimeout=1800000" }, "dependencies": { - "@docusaurus/core": "^3.4.0", - "@docusaurus/plugin-client-redirects": "^3.4.0", - "@docusaurus/plugin-pwa": "^3.4.0", - "@docusaurus/preset-classic": "^3.4.0", - "@mdx-js/react": "^3.0.0", + "@docusaurus/core": "^3.6.1", + "@docusaurus/faster": "^3.6.1", + "@docusaurus/plugin-client-redirects": "^3.6.1", + "@docusaurus/plugin-pwa": "^3.6.1", + "@docusaurus/preset-classic": "^3.6.1", + "@mdx-js/react": "^3.1.0", "clsx": "^2.1.1", - "esbuild-loader": "^4.2.2", "react": "^18.3.1", "react-dom": "^18.3.1", - "react-medium-image-zoom": "^5.2.8", + "react-medium-image-zoom": "^5.2.10", "reading-time": "^1.5.0" }, "devDependencies": { diff --git a/src/theme/DocItem/DocContent.js b/src/theme/DocItem/DocContent.js index 6e330af496..00af74f22c 100644 --- a/src/theme/DocItem/DocContent.js +++ b/src/theme/DocItem/DocContent.js @@ -5,8 +5,8 @@ import { MDXProvider } from "@mdx-js/react"; import { useDoc, useDocsVersion, - useTitleFormatter, -} from "@docusaurus/theme-common/internal"; +} from "@docusaurus/plugin-content-docs/client"; +import { useTitleFormatter } from "@docusaurus/theme-common/internal"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; import useBaseUrl from "@docusaurus/useBaseUrl"; import DocPaginator from "@theme/DocPaginator"; diff --git a/src/theme/DocItem/Layout.js b/src/theme/DocItem/Layout.js index 12dac2a8ed..aceae09cde 100644 --- a/src/theme/DocItem/Layout.js +++ b/src/theme/DocItem/Layout.js @@ -3,7 +3,7 @@ import React from 'react'; import clsx from 'clsx'; import {useWindowSize} from '@docusaurus/theme-common'; -import {useDoc} from '@docusaurus/theme-common/internal'; +import {useDoc} from '@docusaurus/plugin-content-docs/client'; import DocItemPaginator from '@theme/DocItem/Paginator'; import DocVersionBanner from '@theme/DocVersionBanner'; import DocVersionBadge from '@theme/DocVersionBadge'; diff --git a/src/theme/DocItem/index.js b/src/theme/DocItem/index.js index ff570ddf6c..129967f1b5 100644 --- a/src/theme/DocItem/index.js +++ b/src/theme/DocItem/index.js @@ -1,6 +1,6 @@ import React, { useEffect, useRef, useState } from "react"; import readingTime from "reading-time/lib/reading-time"; -import { DocProvider } from "@docusaurus/theme-common/internal"; +import { DocProvider } from "@docusaurus/plugin-content-docs/client"; //Components import { DocContent } from "./DocContent"; diff --git a/src/theme/DocVersionBanner/index.js b/src/theme/DocVersionBanner/index.js index d601e7d3e5..fe70c16fce 100644 --- a/src/theme/DocVersionBanner/index.js +++ b/src/theme/DocVersionBanner/index.js @@ -8,9 +8,8 @@ import React from 'react'; import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; import Link from '@docusaurus/Link'; import Translate from '@docusaurus/Translate'; -import {useActivePlugin, useDocVersionSuggestions} from '@docusaurus/plugin-content-docs/client'; +import {useActivePlugin, useDocsVersion, useDocVersionSuggestions} from '@docusaurus/plugin-content-docs/client'; import {useDocsPreferredVersion} from '@docusaurus/theme-common'; -import {useDocsVersion} from "@docusaurus/theme-common/internal"; function UnreleasedVersionLabel({siteTitle, versionMetadata}) { return ( diff --git a/src/theme/MDXComponents/Tpsr.js b/src/theme/MDXComponents/Tpsr.js index 6c8b828c68..8ed30fea8a 100644 --- a/src/theme/MDXComponents/Tpsr.js +++ b/src/theme/MDXComponents/Tpsr.js @@ -2,7 +2,7 @@ import React from "react"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; import { useDocsVersion, -} from "@docusaurus/theme-common/internal"; +} from "@docusaurus/plugin-content-docs/client"; function Tpsr() { const { siteConfig } = useDocusaurusContext(); diff --git a/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.js b/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.js index 4f046ba468..c8a7ff7616 100644 --- a/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +++ b/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.js @@ -6,7 +6,7 @@ import { useActiveDocContext, } from '@docusaurus/plugin-content-docs/client'; import {useDocsPreferredVersion} from '@docusaurus/theme-common'; -import {useDocsVersionCandidates} from '@docusaurus/theme-common/internal'; +import {useDocsVersionCandidates} from '@docusaurus/plugin-content-docs/client'; import {translate} from '@docusaurus/Translate'; import {useLocation} from '@docusaurus/router'; import DefaultNavbarItem from '@theme/NavbarItem/DefaultNavbarItem'; From 65a6e0737899ed2d9807c1cf94707c7a5366d41a Mon Sep 17 00:00:00 2001 From: Timothy Johnson Date: Fri, 8 Nov 2024 15:03:47 -0500 Subject: [PATCH 020/101] Try fetching history for single branch Signed-off-by: Timothy Johnson --- .github/workflows/build-docs.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index 8e64ba2871..335faa4f66 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -30,7 +30,11 @@ jobs: - name: Checkout uses: actions/checkout@v4 with: - fetch-depth: 0 + # Fetches all commit history for a single branch. We need commit + # history for accurate "last updated" dates on each page, but fetch + # depth of 0 would fetch all branches which is slow. + # https://github.com/actions/checkout/issues/520#issuecomment-1320838255 + fetch-depth: 2147483647 - name: Use Node.js LTS uses: actions/setup-node@v3 From ac4182435e8d3bea19a60bcf7f449fcda6b0fcca Mon Sep 17 00:00:00 2001 From: anaxceron Date: Tue, 12 Nov 2024 16:00:03 -0500 Subject: [PATCH 021/101] Doc for virtual workspaces resources in ZE Signed-off-by: anaxceron --- docs/user-guide/ze-usage-tips.md | 16 ++++++++++++++-- docusaurus.config.js | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/docs/user-guide/ze-usage-tips.md b/docs/user-guide/ze-usage-tips.md index 49ab53a35e..60a9c0485b 100644 --- a/docs/user-guide/ze-usage-tips.md +++ b/docs/user-guide/ze-usage-tips.md @@ -3,9 +3,11 @@ Make the best use of Zowe Explorer with the following tips. ## Data sets, USS, and jobs persistence settings + You can store any data sets, USS files, or jobs permanently in the **Favorites** tab. Right-click on a data set, USS file, or job and click **Add Favorite**. ## Identify syntax errors with a syntax highlighter + Zowe Explorer supports a syntax highlighter for data sets. To enhance the experience of using the extension, you can download an extension that highlights syntax. ## Configure the detected language of a file or data set @@ -13,17 +15,27 @@ Zowe Explorer supports a syntax highlighter for data sets. To enhance the experi You can configure Visual Studio Code to use a specific language for a particular file extension type. This prevents the language for a file or data set opened in Zowe Explorer to be detected incorrectly. To set file associations, see [Add a file extension to a language](https://code.visualstudio.com/docs/languages/overview#_add-a-file-extension-to-a-language). ## Edit a profile + You can edit existing profiles listed in the **Side Bar** by clicking the profile's **Edit** icon (next to the **Search** icon). The feature lets you modify the information inside your profile. ## Delete a profile + In Zowe V1, you can permanently delete profiles by right-clicking the profile and selecting the **Delete Profile** option. The feature deletes the profile from your `.zowe` folder. In Zowe V2, right-click the profile, and select **Delete Profile** to open the configuration file and manually delete the profile. :::tip -Alternatively, you can delete a profile by using the VS Code **Command Palette**. Press `F1` on your keyboard, then select the **Zowe Explorer: Delete a Profile Permanently** option. In Zowe V1, you select the profile to delete. In Zowe V2, the configuration file opens for you to delete the profile manually. +Alternatively, delete a profile by using the VS Code **Command Palette**. Press `F1` on your keyboard, then select the **Zowe Explorer: Delete a Profile Permanently** option. In Zowe V1, you select the profile to delete. In Zowe V2, the configuration file opens for you to delete the profile manually. ::: ## Hide a profile -You can hide a profile from the **Side Bar** by right-clicking the profile and selecting the **Hide Profile** option. If necessary, add the profile back by clicking the **+** icon on the **DATA SETS**, **UNIX SYSTEM SERVICES (USS)**, or **JOBS** bar. + +Hide a profile from the **Side Bar** by right-clicking the profile and selecting the **Hide Profile** option. If necessary, add the profile back by clicking the **+** icon on the **DATA SETS**, **UNIX SYSTEM SERVICES (USS)**, or **JOBS** bar. ## Open recent members + Zowe Explorer lets you open a list of members you have previously worked on. You can access the list by pressing `Ctrl`+`Alt`+`R` or `Command`+`Option`+`R`. + +## Access resources with virtual workspaces + +Use your virtual workspaces to access multiple resources from the **Explorer** view, such as local files or resources from other file systems. + +In the **Data Sets** or **Unix System Services (USS)** tree, click on a profile **Search** icon. In the **Search** prompt, enter a data set search pattern or a USS file path. Right click on a resource to select the **Add to Workspace** context menu option. diff --git a/docusaurus.config.js b/docusaurus.config.js index 582d3bb843..a114b90821 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -19,7 +19,7 @@ module.exports = { }, future: { // https://docusaurus.io/blog/releases/3.6#docusaurus-faster - experimental_faster: true, + experimental_faster: process.env.NODE_ENV === "production", }, themeConfig: { docs: { From f7028079f3ab7a790412ceebc87ec78dc11b3eaf Mon Sep 17 00:00:00 2001 From: anaxceron Date: Wed, 13 Nov 2024 11:35:50 -0500 Subject: [PATCH 022/101] adding post-selection context; editing references to ZE versions Signed-off-by: anaxceron --- docs/user-guide/ze-usage-tips.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/user-guide/ze-usage-tips.md b/docs/user-guide/ze-usage-tips.md index 60a9c0485b..f0c78b7eb0 100644 --- a/docs/user-guide/ze-usage-tips.md +++ b/docs/user-guide/ze-usage-tips.md @@ -23,7 +23,7 @@ You can edit existing profiles listed in the **Side Bar** by clicking the profil In Zowe V1, you can permanently delete profiles by right-clicking the profile and selecting the **Delete Profile** option. The feature deletes the profile from your `.zowe` folder. In Zowe V2, right-click the profile, and select **Delete Profile** to open the configuration file and manually delete the profile. :::tip -Alternatively, delete a profile by using the VS Code **Command Palette**. Press `F1` on your keyboard, then select the **Zowe Explorer: Delete a Profile Permanently** option. In Zowe V1, you select the profile to delete. In Zowe V2, the configuration file opens for you to delete the profile manually. +Alternatively, delete a profile by using the VS Code **Command Palette**. Press `F1` on your keyboard, then select the **Zowe Explorer: Delete a Profile Permanently** option. In Zowe Explorer V1, you select the profile to delete. In Zowe Explorer V2 and above, the configuration file opens for you to delete the profile manually. ::: ## Hide a profile @@ -38,4 +38,4 @@ Zowe Explorer lets you open a list of members you have previously worked on. You Use your virtual workspaces to access multiple resources from the **Explorer** view, such as local files or resources from other file systems. -In the **Data Sets** or **Unix System Services (USS)** tree, click on a profile **Search** icon. In the **Search** prompt, enter a data set search pattern or a USS file path. Right click on a resource to select the **Add to Workspace** context menu option. +In the **Data Sets** or **Unix System Services (USS)** tree, click on a profile **Search** icon. In the **Search** prompt, enter a data set search pattern or a USS file path. Right click on a resource to select the **Add to Workspace** context menu option. The status bar message displays and the selected folder is listed in the **Explorer** view with any other files/resources. From 2265223b47279ab5e03404de10f83b5318103ef9 Mon Sep 17 00:00:00 2001 From: Olha Date: Fri, 15 Nov 2024 15:44:39 +0100 Subject: [PATCH 023/101] add instructions for rate limiter per service --- .../customizing-gateway-rate-limiter.md | 43 +++++++++++++++---- 1 file changed, 35 insertions(+), 8 deletions(-) diff --git a/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md b/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md index c056793758..8944cc35da 100644 --- a/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md +++ b/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md @@ -5,9 +5,9 @@ The API Gateway offers a way to customize the rate limit for each service via a configurable rate limiter, which prevents individual users from overloading the system with excessive requests. Configuring the rate limiter helps ensure that a user's activity does not negatively impact the experience of other users by mitigating the risk of Distributed Denial-of-Service (DDoS) attacks and other automated exploit attempts. -Use the following procedure to customize the Gateway rate limiter: +There are two methods for customizing the rate limiter: common configuration for the list of services or per particular service. -1. In the zowe.yaml, set the following rate limiting properties in api/gateway/routing: +There are properties common for both methods: * **rateLimiterCapacity** Defines the total number of requests that can be allowed at one time per user. @@ -18,19 +18,46 @@ Use the following procedure to customize the Gateway rate limiter: * **rateLimiterRefillDuration** Sets the time interval (in minutes) at which new requests (or tokens) are added. +### Ccustomize the Gateway rate limiter for the list of services: + +1. In the zowe.yaml, set the following rate limiting properties in api/gateway: + **rateLimiterCapacity**, **rateLimiterTokens**, **rateLimiterRefillDuration**. + + 2. Define the services to limit: Use `servicesToLimitRequestRate` to specify a list of services to limit. In the following example, this property applies to the API Catalog. + **Example configuration:** ``` apiml: gateway: - routing: - rateLimiterCapacity: 20 - rateLimiterTokens: 20 - rateLimiterRefillDuration: 1 - servicesToLimitRequestRate: apicatalog + rateLimiterCapacity: 20 + rateLimiterTokens: 20 + rateLimiterRefillDuration: 1 + servicesToLimitRequestRate: apicatalog ``` -You configured the properties of the rate limiter for the API Catalog, thereby improving user accessibility and overall system stability. +### Customize the Gateway rate limiter for a particular service: + + +1. In the application.yaml, define a property to allow the rate limiter in api/gateway: + + Set `applyRateLimiterFilter` to true to mark the filter to be applied. + +2. Set the following rate limiting properties: + **rateLimiterCapacity**, **rateLimiterTokens**, **rateLimiterRefillDuration**. + + +**Example configuration:** +``` + apiml: + gateway: + applyRateLimiterFilter: true + rateLimiterCapacity: 20 + rateLimiterTokens: 20 + rateLimiterRefillDuration: 1 +``` + +You configured the properties of the rate limiter for the API Catalog, thereby improving user accessibility and overall system stability. From 487e87312b0d54f016390fd77eb565785c74fb7f Mon Sep 17 00:00:00 2001 From: Olha Date: Mon, 18 Nov 2024 16:18:52 +0100 Subject: [PATCH 024/101] fix the description --- .../api-mediation/customizing-gateway-rate-limiter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md b/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md index 8944cc35da..42d87fa6ff 100644 --- a/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md +++ b/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md @@ -42,7 +42,7 @@ There are properties common for both methods: ### Customize the Gateway rate limiter for a particular service: -1. In the application.yaml, define a property to allow the rate limiter in api/gateway: +1. In the application.yaml of the service, define a property to allow the rate limiter in api/gateway: Set `applyRateLimiterFilter` to true to mark the filter to be applied. From 8c1102d1021c3927b712399d3d170bc5603070b3 Mon Sep 17 00:00:00 2001 From: Olha Date: Tue, 19 Nov 2024 11:38:11 +0100 Subject: [PATCH 025/101] add config description --- docs/extend/extend-apiml/custom-metadata.md | 8 ++++++++ .../api-mediation/customizing-gateway-rate-limiter.md | 11 +++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/docs/extend/extend-apiml/custom-metadata.md b/docs/extend/extend-apiml/custom-metadata.md index 9a74817a1a..36bd18183c 100644 --- a/docs/extend/extend-apiml/custom-metadata.md +++ b/docs/extend/extend-apiml/custom-metadata.md @@ -105,6 +105,14 @@ Optionally, service can specify which origins will be accepted by Gateway during * **customMetadata.apiml.lb.cacheRecordExpirationTimeInHours** When the property `customMetadata.apiml.lb.type` is set to `authentication`, the user can also define the expiration time for the selected instance information that is cached. This property aims to prevent any discrepancy which might occur if the required target server is no longer available. The default value is 8 hours. +* **customMetadata.apiml.gateway.applyRateLimiterFilter** + + This parameter indicates that the rate limiter filter should be applied to the service. To configure this filter, you also have to define the following properties: + + 1. `customMetadata.apiml.gateway.rateLimiterCapacity` - Defines the total number of requests that can be allowed at one time per user. + 2. `customMetadata.apiml.gateway.rateLimiterTokens` - Defines the number of requests that are added to the service’s allowance at regular intervals. + 3. `customMetadata.apiml.gateway.rateLimiterRefillDuration` - Sets the time interval (in minutes) at which new requests (or tokens) are added. + * **customMetadata.apiml.response.compress** When this parameter is set to `true`, API ML compresses content for all responses from this services using GZIP. API ML also adds the `Content-Encoding` header with value `gzip` to responses. diff --git a/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md b/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md index c056793758..3547ff0f43 100644 --- a/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md +++ b/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md @@ -7,7 +7,7 @@ The API Gateway offers a way to customize the rate limit for each service via a Use the following procedure to customize the Gateway rate limiter: -1. In the zowe.yaml, set the following rate limiting properties in api/gateway/routing: +1. In the zowe.yaml, set the following rate limiting properties in api/gateway: * **rateLimiterCapacity** Defines the total number of requests that can be allowed at one time per user. @@ -26,11 +26,10 @@ Use the following procedure to customize the Gateway rate limiter: ``` apiml: gateway: - routing: - rateLimiterCapacity: 20 - rateLimiterTokens: 20 - rateLimiterRefillDuration: 1 - servicesToLimitRequestRate: apicatalog + rateLimiterCapacity: 20 + rateLimiterTokens: 20 + rateLimiterRefillDuration: 1 + servicesToLimitRequestRate: apicatalog ``` You configured the properties of the rate limiter for the API Catalog, thereby improving user accessibility and overall system stability. From 24607bdf02747affff46b16bf27defcd5c4f1344 Mon Sep 17 00:00:00 2001 From: Olha Date: Tue, 19 Nov 2024 11:39:06 +0100 Subject: [PATCH 026/101] add a white space --- docs/extend/extend-apiml/custom-metadata.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/extend/extend-apiml/custom-metadata.md b/docs/extend/extend-apiml/custom-metadata.md index 36bd18183c..724a8563de 100644 --- a/docs/extend/extend-apiml/custom-metadata.md +++ b/docs/extend/extend-apiml/custom-metadata.md @@ -113,6 +113,7 @@ When the property `customMetadata.apiml.lb.type` is set to `authentication`, the 2. `customMetadata.apiml.gateway.rateLimiterTokens` - Defines the number of requests that are added to the service’s allowance at regular intervals. 3. `customMetadata.apiml.gateway.rateLimiterRefillDuration` - Sets the time interval (in minutes) at which new requests (or tokens) are added. + * **customMetadata.apiml.response.compress** When this parameter is set to `true`, API ML compresses content for all responses from this services using GZIP. API ML also adds the `Content-Encoding` header with value `gzip` to responses. From 6b3a698e5dd5fb5e877e4349915c5c543fc0010f Mon Sep 17 00:00:00 2001 From: Olha Date: Tue, 19 Nov 2024 13:02:30 +0100 Subject: [PATCH 027/101] aadd default values description --- docs/extend/extend-apiml/custom-metadata.md | 4 +++- .../customizing-gateway-rate-limiter.md | 12 ++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/extend/extend-apiml/custom-metadata.md b/docs/extend/extend-apiml/custom-metadata.md index 724a8563de..a2653ff8df 100644 --- a/docs/extend/extend-apiml/custom-metadata.md +++ b/docs/extend/extend-apiml/custom-metadata.md @@ -107,12 +107,14 @@ When the property `customMetadata.apiml.lb.type` is set to `authentication`, the * **customMetadata.apiml.gateway.applyRateLimiterFilter** - This parameter indicates that the rate limiter filter should be applied to the service. To configure this filter, you also have to define the following properties: + This parameter indicates that the rate limiter filter should be applied to the service. When enabling this filter, you can also define the following properties: 1. `customMetadata.apiml.gateway.rateLimiterCapacity` - Defines the total number of requests that can be allowed at one time per user. 2. `customMetadata.apiml.gateway.rateLimiterTokens` - Defines the number of requests that are added to the service’s allowance at regular intervals. 3. `customMetadata.apiml.gateway.rateLimiterRefillDuration` - Sets the time interval (in minutes) at which new requests (or tokens) are added. + When no values are provided, global values defined in the Gateway will be applied. More about the default configuration in [Customizing gateway rate limiter filer](../../user-guide/api-mediation/customizing-gateway-rate-limiter.md). + * **customMetadata.apiml.response.compress** When this parameter is set to `true`, API ML compresses content for all responses from this services using GZIP. API ML also adds the `Content-Encoding` header with value `gzip` to responses. diff --git a/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md b/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md index 3547ff0f43..2b919fabaa 100644 --- a/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md +++ b/docs/user-guide/api-mediation/customizing-gateway-rate-limiter.md @@ -10,13 +10,13 @@ Use the following procedure to customize the Gateway rate limiter: 1. In the zowe.yaml, set the following rate limiting properties in api/gateway: * **rateLimiterCapacity** - Defines the total number of requests that can be allowed at one time per user. + Defines the total number of requests that can be allowed at one time per user. The default value is set to 20. * **rateLimiterTokens** - Defines the number of requests that are added to the service’s allowance at regular intervals. This property controls how quickly requests are replenished after being consumed. + Defines the number of requests that are added to the service’s allowance at regular intervals. This property controls how quickly requests are replenished after being consumed. The default value is set to 20. * **rateLimiterRefillDuration** - Sets the time interval (in minutes) at which new requests (or tokens) are added. + Sets the time interval (in minutes) at which new requests (or tokens) are added. The default value is set to 1. 2. Define the services to limit: @@ -26,9 +26,9 @@ Use the following procedure to customize the Gateway rate limiter: ``` apiml: gateway: - rateLimiterCapacity: 20 - rateLimiterTokens: 20 - rateLimiterRefillDuration: 1 + rateLimiterCapacity: 35 + rateLimiterTokens: 35 + rateLimiterRefillDuration: 2 servicesToLimitRequestRate: apicatalog ``` You configured the properties of the rate limiter for the API Catalog, thereby improving user accessibility and overall system stability. From ee771fc3a67193004ecc50d66f7abacd9c396e30 Mon Sep 17 00:00:00 2001 From: Andrew Jandacek Date: Tue, 19 Nov 2024 14:06:34 +0100 Subject: [PATCH 028/101] formatting according to Zowe doc standards Signed-off-by: Andrew Jandacek --- docs/extend/extend-apiml/custom-metadata.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/extend/extend-apiml/custom-metadata.md b/docs/extend/extend-apiml/custom-metadata.md index a2653ff8df..8fb7ab0c02 100644 --- a/docs/extend/extend-apiml/custom-metadata.md +++ b/docs/extend/extend-apiml/custom-metadata.md @@ -105,15 +105,16 @@ Optionally, service can specify which origins will be accepted by Gateway during * **customMetadata.apiml.lb.cacheRecordExpirationTimeInHours** When the property `customMetadata.apiml.lb.type` is set to `authentication`, the user can also define the expiration time for the selected instance information that is cached. This property aims to prevent any discrepancy which might occur if the required target server is no longer available. The default value is 8 hours. -* **customMetadata.apiml.gateway.applyRateLimiterFilter** - - This parameter indicates that the rate limiter filter should be applied to the service. When enabling this filter, you can also define the following properties: - - 1. `customMetadata.apiml.gateway.rateLimiterCapacity` - Defines the total number of requests that can be allowed at one time per user. - 2. `customMetadata.apiml.gateway.rateLimiterTokens` - Defines the number of requests that are added to the service’s allowance at regular intervals. - 3. `customMetadata.apiml.gateway.rateLimiterRefillDuration` - Sets the time interval (in minutes) at which new requests (or tokens) are added. - - When no values are provided, global values defined in the Gateway will be applied. More about the default configuration in [Customizing gateway rate limiter filer](../../user-guide/api-mediation/customizing-gateway-rate-limiter.md). +* **customMetadata.apiml.gateway.applyRateLimiterFilter** +This parameter specifies the services that the rater limiter is applied to. When enabling this filter, you can also define the following properties: + * `customMetadata.apiml.gateway.rateLimiterCapacity` + Defines the total number of requests that can be allowed at one time per user + * `customMetadata.apiml.gateway.rateLimiterTokens` + Defines the number of requests that are added to the service’s allowance at regular intervals + * `customMetadata.apiml.gateway.rateLimiterRefillDuration` + Sets the time interval (in minutes) at which new requests (or tokens) are added. + + When no values are provided, global values defined in the Gateway are applied. For more information about the default configuration, see [Customizing gateway rate limiter filer](../../user-guide/api-mediation/customizing-gateway-rate-limiter.md). * **customMetadata.apiml.response.compress** From 2b756a5f7691a260f00973147df594c563f5d36d Mon Sep 17 00:00:00 2001 From: ac892247 Date: Thu, 28 Nov 2024 10:43:05 +0100 Subject: [PATCH 029/101] refresh multi tenancy and OIDC doc Signed-off-by: ac892247 --- .../api-mediation-oidc-authentication.md | 86 ++++++++++++------ .../api-mediation-multi-tenancy.md | 90 +------------------ .../configuration-multi-tenancy-routing.md | 9 -- 3 files changed, 64 insertions(+), 121 deletions(-) diff --git a/docs/extend/extend-apiml/api-mediation-oidc-authentication.md b/docs/extend/extend-apiml/api-mediation-oidc-authentication.md index 1d5b3b6b39..e436b5580e 100644 --- a/docs/extend/extend-apiml/api-mediation-oidc-authentication.md +++ b/docs/extend/extend-apiml/api-mediation-oidc-authentication.md @@ -3,12 +3,12 @@ :::info Required roles: system administrator, security administrator ::: -The OpenID/Connect ([OIDC](https://openid.net/specs/openid-connect-core-1_0.html)) protocol adds an authentication layer on top of the [OAuth2](https://www.rfc-editor.org/rfc/rfc6749) Authorization protocol. +The OpenID Connect ([OIDC](https://openid.net/specs/openid-connect-core-1_0.html)) protocol adds an identity layer on top of the [OAuth2](https://www.rfc-editor.org/rfc/rfc6749) Authorization protocol. OIDC authentication, together with the z/OS [Identity Propagation](https://www.redbooks.ibm.com/redbooks/pdfs/sg247850.pdf) mechanism, is the foundation of the API ML Identity Federation. In this article, OIDC is often referred to as the provider, while the token-related functionality is actually provided by the OAuth2 component of the OIDC implementation. -You can configure Zowe API ML to authenticate users by accepting Access Tokens issued by an external OIDC/OAuth2 provider. +You can configure Zowe API ML to authenticate users by accepting Access Tokens issued by an external OIDC provider. This configuration is useful in advanced deployments of Zowe where client applications need to access mainframe as well as enterprise/distributed systems while simultaneously offering single sign-on (SSO) across system boundaries. This article details the API ML OIDC authentication functionality, and how to configure the OIDC Authentication feature. @@ -26,34 +26,34 @@ The OIDC feature is currently unavailable on ACF2 systems. - [Troubleshooting](#troubleshooting) ## Usage - -The OIDC protocol is used by API ML client applications to verify the identity of a user with a distributed OIDC provider trusted by the mainframe security manager. +API ML functions as an OIDC client application, enabling users to initiate the OIDC authentication flow After successful user login, the OIDC provider grants the client application a JWT Access Token along with an (JWT) Identity Token. -The client application can pass this Access Token with subsequent requests to mainframe services routed through the API ML Gateway. +Access token is then returned to the user agent in the "apimlAuthenticationToken" cookie. +The user agent can pass this Access Token with subsequent requests to mainframe services routed through the API ML Gateway. The API ML Gateway then validates the OIDC Access Token. If the token is valid, the user identity from that token is mapped to the mainframe identity of the user. -The API ML Gateway can then create mainframe user credentials (JWT or a PassTicket) according to the service's authentication schema configuration. +The API ML Gateway can then create mainframe user credentials (e.g. JWT, PassTicket) according to the service's authentication schema configuration. The request is routed to the target API services with correct mainframe user credentials. ## Authentication Flow -The following diagram illustrates the interactions between the participants of the OIDC/OAuth2 based API ML authentication process. +The following diagram illustrates the interactions between the participants of the OIDC based API ML authentication process. ![APIML OIDC Workflow](../../images/api-mediation/apiml-oidc-auth-seq.png) - When a user wants to access mainframe resources or services using the client application without valid authentication or an access token, the client redirects the user agent to the login end-point of the distributed OIDC provider. - The user is asked to provide valid credentials (authentication factors). - After successful validation of all authentication factors, the OIDC provider grants the client an Access Token. -- The client can then request from API ML Gateway the needed mainframe resources presenting the access token in the request. +- The user agent can then request from API ML Gateway the needed mainframe resources presenting the access token in the request. - The Gateway validates the access token in two ways: - - By comparing the key ID of the token against the key IDs obtained from the authorization server's JWK keys endpoint (`oidc.validationType: JWK` or omited configuration (`oidc.validationType`)). - - By querying the UserInfo endpoint to verify the token's validity and retrieve user information (`oidc.validationType: endpoint`). -- The URL to the specific authorization server's JWK keys endpoint should be set using the property `jwks_uri`. If the access token is validated, the outcome is cached for a short time (20 sec by default). -- The JWK Keys obtained from the authorization server's endpoint are cached for a while to prevent repeated calls to the endpoint. The interval can be set using the property `jwks.refreshInternalHours` (The default value is one hour). -- In subsequent calls with the same token, the Gateway reuses the cached validation outcome. As such, round trips to the OIDC authorization server for JWK keys, UserInfo endpoint queries, and JWT Token validation are not required between short intervals when the client needs to access multiple resources in a row to complete a unit of work. -- The URL to the specific authorization server's UserInfo endpoint should be set using the property `userInfo_uri`. If the access token is validated, the outcome is cached for a short time (20 sec by default). + - By cryptographically validating the token using the public key retrieved from the authorization server's JSON Web Key Set(JWKS) endpoint, matching the token's key ID with the key IDs provided. (`components.gateway.apiml.security.oidc.validationType: JWK`). + - By querying the UserInfo endpoint to verify the token's validity and retrieve user information (`components.gateway.apiml.security.oidc.validationType: endpoint`). +- The URL to the specific authorization server's JWKS endpoint should be set using the property `components.gateway.apiml.security.oidc.jwks.uri`. If the access token is validated, the outcome is cached for a short time (20 sec by default). +- The JWKS obtained from the authorization server's endpoint are cached for a while to prevent repeated calls to the endpoint. The interval can be set using the property `components.gateway.apiml.security.oidc.jwks.refreshInternalHours` (The default value is one hour). +- In subsequent calls with the same token, the Gateway reuses the cached validation outcome. As such, round trips to the OIDC authorization server for JWKS, UserInfo endpoint queries, and JWT Token validation are not required between short intervals when the client needs to access multiple resources in a row to complete a unit of work. +- The URL to the specific authorization server's UserInfo endpoint should be set using the property `components.gateway.apiml.security.oidc.userInfo.uri`. If the access token is validated, the outcome is cached for a short time (20 sec by default). - The caching interval is configurable with a default value of 20 seconds, which is typically a sufficient amount of time to allow most client operations requiring multiple API requests to complete, while also providing adequate protection against unauthorized access. - The API ML Gateway fetches the distributed user identity from the distributed access token and maps this user identity to the user mainframe identity using SAF. -- The API ML Gateway calls the requested mainframe service/s with mainframe user credentials (Zowe, SAF JWT, or PassTicket) which are expected by the target mainframe service. +- The API ML Gateway calls the requested mainframe service/s with mainframe user credentials (Zowe JWT, SAF IDT, or PassTicket) which are expected by the target mainframe service. ## Prerequisites @@ -68,17 +68,54 @@ Ensure that the following prerequisites are met: - Client Application configuration in the OIDC provider - Depending on the OIDC provider and client application capabilities, configuration of the OIDC provider varies. -For example, web applications with a secure server side component can use `code grant authorization flow` and can be granted a Refresh Token, whereas a Single Page Application running entirely in the User Agent (browser) is more limited regarding its security capabilities. +Gateway service can be configured to provide OIDC client functionality and initiate OIDC authentication flow to obtain access token. To do this, provide following configuration in your zowe.yaml file: + +```yaml +components: + gateway: + spring: + security: + oauth2: + client: + registration: + : + issuer: + clientId: + clientSecret: + provider: + : + authorizationUri: `** + ID of the Identity provider. Currently supported options are `okta` and `entra`. +- **`components.gateway.spring.security.oauth2.client.registration..issuer`** + URL of the Token issuer, example `https://dev-okta.com/oauth2` +- **`components.gateway.spring.security.oauth2.client.registration..clientId`** + Client application ID +- **`components.gateway.spring.security.oauth2.client.registration..clientSecret`** + Client application secret +- **`components.gateway.spring.security.oauth2.client.provider..authorizationUri`** + URL for the authorization request. +- **`components.gateway.spring.security.oauth2.client.provider..tokenUri`** + URL to obtain the token. +- **`components.gateway.spring.security.oauth2.client.provider..userInfoUri`** + URL to retrieve user information. +- **`components.gateway.spring.security.oauth2.client.provider..userNameAttribute`** + JWT attribute to locate user ID. +- **`components.gateway.spring.security.oauth2.client.provider..jwkSetUri`** + URL to retrieve JSON Web Key Set. + + :::tip Consult your OIDC provider documentation for options and requirements available for your type of client application. ::: -- Users have been assigned to the Client Application - - To access mainframe resources, users with a distributed authentication must either be directly assigned by the OIDC provider to the client application, or must be part of group which is allowed to work with the client application. - ### ESM configuration prerequisites The user identity mapping is defined as a distributed user identity mapping filter, which is maintained by the System Authorization Facility (SAF) / External Security Manager (ESM). @@ -180,11 +217,8 @@ For more information about the Zowe CLI Identity Federation Plug-in, see the [RE Specifies the URI obtained from the authorization server's metadata where the Gateway queries the userInfo endpoint for access token validation. To enable this property, ensure that `oidc.enabled` is set to `true` and `oidc.validationType` is set to `endpoint`. -- **`components.gateway.apiml.security.oidc.jwks.uri`** - Specifies the URI obtained from the authorization server's metadata where the Gateway will query for the JWK used to sign and verify the access tokens. - - **`components.gateway.apiml.security.oidc.jwks.refreshInternalHours`** - Specifies the frequency in hours to refresh the JWK keys from the OIDC provider. Defaults to one hour. + (Optional) Specifies the frequency in hours to refresh the JWK keys from the OIDC provider. Defaults to one hour. - **`components.gateway.apiml.security.oidc.identityMapperUser`** (Optional) If the userId is different from the default Zowe runtime userId (`ZWESVUSR`), specify the `identityMapperUser` userId to configure API ML access to the external user identity mapper. @@ -192,7 +226,7 @@ For more information about the Zowe CLI Identity Federation Plug-in, see the [RE **Note:** User authorization is required to use the `IRR.RUSERMAP` resource within the `FACILITY` class. The default value is `ZWESVUSR`. Permissions are set up during installation with the `ZWESECUR` JCL or workflow. To authenticate to the mapping API, a JWT is sent with the request. The token represents the user that is configured with this property. - **`apiml.security.oidc.identityMapperUrl`** - This property informs the Gateway about the location of this API. ZSS is the default API provider in Zowe, but if you are using Zowe release 2.14 or a later version, we recommend you use the [API ML internal mapper](../../user-guide/api-mediation/configuration-client-certificates.md#configure-internal-api-ml-mapper). You can provide your own API to perform the mapping. In this case, it is necessary to customize this value. + (Optional) This property informs the Gateway about the location of this API. ZSS is the default API provider in Zowe, but if you are using Zowe release 2.14 or a later version, we recommend you use the [API ML internal mapper](../../user-guide/api-mediation/configuration-client-certificates.md#configure-internal-api-ml-mapper). You can provide your own API to perform the mapping. In this case, it is necessary to customize this value. The following URL is the default value for Zowe and ZSS: diff --git a/docs/user-guide/api-mediation/api-mediation-multi-tenancy.md b/docs/user-guide/api-mediation/api-mediation-multi-tenancy.md index 8b19c9c82d..1b11a07730 100644 --- a/docs/user-guide/api-mediation/api-mediation-multi-tenancy.md +++ b/docs/user-guide/api-mediation/api-mediation-multi-tenancy.md @@ -67,10 +67,7 @@ Use the following example as a template for how to set the value for this proper ``` components.gateway.apiml.service.additionalRegistration: # central API ML (in HA, for non-HA mode use only 1 hostname) - - discoveryServiceUrls: https://sys1:{discoveryServicePort}/eureka/,https://sys2:{discoveryServicePort}/eureka/ - routes: - - gatewayUrl: / - serviceUrl: / + - discoveryServiceUrls: https://sys1:{discoveryServicePort}/eureka/,https://sys2:{discoveryServicePort}/eureka/ ``` ``` @@ -117,12 +114,9 @@ Use the following example as a template for how to set the value of this propert **Example:** ``` -components.cloud-gateway.apiml.service.additionalRegistration: - # central API ML (in HA, for non-HA mode use only 1 hostname) - - discoveryServiceUrls: https://sys1:{discoveryServicePort}/eureka/,https://sys2:{discoveryServicePort}/eureka/ - routes: - - gatewayUrl: / - serviceUrl: / +components.gateway.apiml.service.additionalRegistration: + # central API ML (in HA, for non-HA mode use only 1 hostname) + - discoveryServiceUrls: https://sys1:{discoveryServicePort}/eureka/,https://sys2:{discoveryServicePort}/eureka/ ``` #### Dynamic configuration: Environment variables @@ -133,8 +127,6 @@ The previous example can be substituted with the following variables: ``` ZWE_CONFIGS_APIML_SERVICE_ADDITIONALREGISTRATION_0_DISCOVERYSERVICEURLS=https://sys1:{discoveryServicePort}/eureka/,https://sys2:{discoveryServicePort}/eureka/ -ZWE_CONFIGS_APIML_SERVICE_ADDITIONALREGISTRATION_0_ROUTES_0_GATEWAYURL=/ -ZWE_CONFIGS_APIML_SERVICE_ADDITIONALREGISTRATION_0_ROUTES_0_SERVICEURL=/ ``` This Zowe configuration transforms the zowe.yaml configuration file into the environment variables described previously. @@ -463,81 +455,7 @@ Should contain information about a specific service in a specific domain Use the `/registry` endpoint to validate successful configuration. The response should contain all Domain API MLs represented by `apimlId`, and information about onboarded services. -## Gateway static definition example (deprecated) -The Gateway static definition file should be stored together with other statically onboarded services. The default location is `/zowe/runtime/instance/workspace/api-mediation/api-defs/`. -There is no naming restriction of the filename, but the file extension must be `yml`. - -**Example:** -``` -# -# Static definition of "discoverable-client" as "staticclient" -# -# This file provides static API service definition in YAML format. -# It is loaded by the Discovery Service during its startup. -# -services: - - serviceId: GATEWAY # unique lowercase ID of the service - catalogUiTileId: static # ID of the API Catalog UI tile (visual grouping of the services) - title: Statically Defined API Service # Title of the service in the API catalog - description: Sample to demonstrate how to add an API service with Swagger to API Catalog using a static YAML definition # Description of the service in the API catalog - instanceBaseUrls: # list of base URLs for each instance - - https://sys1:{gatewayPort}/ # scheme://hostname:port/contextPath - homePageRelativeUrl: / # Normally used for informational purposes for other services to use it as a landing page - statusPageRelativeUrl: /application/info # Appended to the instanceBaseUrl - healthCheckRelativeUrl: /application/health # Appended to the instanceBaseUrl - routes: - - gatewayUrl: api/v1 # [api/ui/ws]/v{majorVersion} - serviceRelativeUrl: /api/v1 # relativePath that is added to baseUrl of an instance - - gatewayUrl: ui/v1 - serviceRelativeUrl: / - - gatewayUrl: ws/v1 - serviceRelativeUrl: /ws - # List of APIs provided by the service (currently only one is supported): - apiInfo: - - apiId: zowe.apiml.gateway - gatewayUrl: api/v1 - swaggerUrl: https://sys1:{discoverableClientPort}/discoverableclient/v2/api-docs - customMetadata: - apiml: - service.apimlId: apiml1 - okToRetryOnAllOperations: true - - - - serviceId: GATEWAY # unique lowercase ID of the service - catalogUiTileId: static # ID of the API Catalog UI tile (visual grouping of the services) - title: Statically Defined API Service # Title of the service in the API catalog - description: Sample to demonstrate how to add an API service with Swagger to API Catalog using a static YAML definition # Description of the service in the API catalog - instanceBaseUrls: # list of base URLs for each instance - - https://sys2:{gatewayPort}/ # scheme://hostname:port/contextPath - homePageRelativeUrl: / # Normally used for informational purposes for other services to use it as a landing page - statusPageRelativeUrl: /application/info # Appended to the instanceBaseUrl - healthCheckRelativeUrl: /application/health # Appended to the instanceBaseUrl - routes: - - gatewayUrl: api/v1 # [api/ui/ws]/v{majorVersion} - serviceRelativeUrl: /api/v1 # relativePath that is added to baseUrl of an instance - - gatewayUrl: ui/v1 - serviceRelativeUrl: / - - gatewayUrl: ws/v1 - serviceRelativeUrl: /ws - # List of APIs provided by the service (currently only one is supported): - apiInfo: - - apiId: zowe.apiml.gateway - gatewayUrl: api/v1 - swaggerUrl: https://sys2:{discoverableClientPort}/discoverableclient/v2/api-docs - customMetadata: - apiml: - service.apimlId: apiml2 - okToRetryOnAllOperations: true - - -# List of tiles that can be used by services defined in the YAML file: -catalogUiTiles: - static: - title: Static API Services - description: Services which demonstrate how to make an API service discoverable in the APIML ecosystem using YAML definitions - -``` ## Troubleshooting multitenancy configuration ### ZWESG100W diff --git a/docs/user-guide/api-mediation/configuration-multi-tenancy-routing.md b/docs/user-guide/api-mediation/configuration-multi-tenancy-routing.md index a9db5054e1..105e1831ae 100644 --- a/docs/user-guide/api-mediation/configuration-multi-tenancy-routing.md +++ b/docs/user-guide/api-mediation/configuration-multi-tenancy-routing.md @@ -13,18 +13,9 @@ Follow these steps to register with additional Discovery Services: components.gateway.apiml.service.additionalRegistration: - discoveryServiceUrls: https://sys1:10011/eureka/,https://sys1:10021/eureka/ - routes: - gatewayUrl: / - serviceUrl: / - discoveryServiceUrls: https://sys2:10011/eureka/,https://sys2:10021/eureka/ - routes: - gatewayUrl: / - serviceUrl: / - discoveryServiceUrls: https://sys3:10011/eureka/,https://sys3:10021/eureka/ - routes: - gatewayUrl: / - serviceUrl: / ``` 3. Restart Zowe. From 90de9de74ad78c849c9597b669dc95d6912b7359 Mon Sep 17 00:00:00 2001 From: ac892247 Date: Thu, 28 Nov 2024 13:52:09 +0100 Subject: [PATCH 030/101] OIDC auth sequence update Signed-off-by: ac892247 --- .../apiml-oidc-auth-no-mf-id-seq.puml | 35 ++++++++++++++++++ docs/diagrams/apiml-oidc-auth-seq.puml | 22 +++++------ .../api-mediation-oidc-authentication.md | 21 +++++++++++ .../apiml-oidc-auth-no-mf-id-seq.png | Bin 0 -> 66260 bytes .../api-mediation/apiml-oidc-auth-seq.png | Bin 53650 -> 65638 bytes 5 files changed, 67 insertions(+), 11 deletions(-) create mode 100644 docs/diagrams/apiml-oidc-auth-no-mf-id-seq.puml create mode 100644 docs/images/api-mediation/apiml-oidc-auth-no-mf-id-seq.png diff --git a/docs/diagrams/apiml-oidc-auth-no-mf-id-seq.puml b/docs/diagrams/apiml-oidc-auth-no-mf-id-seq.puml new file mode 100644 index 0000000000..4593e6aabc --- /dev/null +++ b/docs/diagrams/apiml-oidc-auth-no-mf-id-seq.puml @@ -0,0 +1,35 @@ +@startuml +'https://plantuml.com/sequence-diagram + +autonumber +actor User +actor "User Agent" as Agent +actor OIDC as OIDC +actor "API ML GW" as GW + +User -> Agent: Do stuff +Agent -> GW: Open Client App +GW -> OIDC: Initiate OIDC flow [client_id, client_secret] +loop [MFA] +OIDC -> Agent: Request user credentials +User <-> Agent: Provide credentials +Agent -> OIDC: Validate credentials +end +OIDC --> GW: Return Auth Code / JWTs[access,refresh,identity] +GW -> Agent: set-cookie access token +Agent -> GW: Request resources [access token] +group validate +GW -> GW: Validate access token +GW -> OIDC: Validate access token +end +alt Validation success +GW -> GW: Cache access token validity +GW -> SAF: Map distributed ID to mainframe ID +SAF -> GW: No mapping exists for distributed ID +GW -> Service: call API service with OIDC-token +Service --> GW: return Response +end +GW --> Agent: Response + + +@enduml \ No newline at end of file diff --git a/docs/diagrams/apiml-oidc-auth-seq.puml b/docs/diagrams/apiml-oidc-auth-seq.puml index 4b553ada1e..93b70263fd 100644 --- a/docs/diagrams/apiml-oidc-auth-seq.puml +++ b/docs/diagrams/apiml-oidc-auth-seq.puml @@ -4,32 +4,32 @@ autonumber actor User actor "User Agent" as Agent -actor "Client App" as Client actor OIDC as OIDC actor "API ML GW" as GW User -> Agent: Do stuff -Agent -> Client: Open Client App -Client -> OIDC: Initiate OIDC flow [client_id, client_secret] +Agent -> GW: Open Client App +GW -> OIDC: Initiate OIDC flow [client_id, client_secret] loop [MFA] OIDC -> Agent: Request user credentials User <-> Agent: Provide credentials Agent -> OIDC: Validate credentials end -OIDC --> Client: Return Auth Code / JWTs[access,refresh,identity] -Client -> GW: Request resources [JWT AT] +OIDC --> GW: Return Auth Code / JWTs[access,refresh,identity] +GW -> Agent: set-cookie access token +Agent -> GW: Request resources [access token] group validate -GW -> GW: Validate AT -GW -> OIDC: Validate AT +GW -> GW: Validate access token +GW -> OIDC: Validate access token end alt Validation success -GW -> GW: Cache AT validity +GW -> GW: Cache access token validity GW -> SAF: Map distributed ID to mainframe ID GW -> GW: Create Zowe JWT -GW -> Service: call API service +GW -> Service: call API service with Zowe JWT Service --> GW: return Response end -GW --> Client: Response -Client --> Agent: Response +GW --> Agent: Response + @enduml \ No newline at end of file diff --git a/docs/extend/extend-apiml/api-mediation-oidc-authentication.md b/docs/extend/extend-apiml/api-mediation-oidc-authentication.md index e436b5580e..e59eb93f30 100644 --- a/docs/extend/extend-apiml/api-mediation-oidc-authentication.md +++ b/docs/extend/extend-apiml/api-mediation-oidc-authentication.md @@ -55,6 +55,27 @@ The following diagram illustrates the interactions between the participants of t - The API ML Gateway fetches the distributed user identity from the distributed access token and maps this user identity to the user mainframe identity using SAF. - The API ML Gateway calls the requested mainframe service/s with mainframe user credentials (Zowe JWT, SAF IDT, or PassTicket) which are expected by the target mainframe service. +## Authentication Flow when no user mapping exists + +The following diagram illustrates the interactions between the participants of the OIDC based API ML authentication process when distributed user is not mapped to the mainframe ID. + +![APIML OIDC Workflow](../../images/api-mediation/apiml-oidc-auth-no-mf-id-seq.png) + +- When a user wants to access mainframe resources or services using the client application without valid authentication or an access token, the client redirects the user agent to the login end-point of the distributed OIDC provider. +- The user is asked to provide valid credentials (authentication factors). +- After successful validation of all authentication factors, the OIDC provider grants the client an Access Token. +- The user agent can then request from API ML Gateway the needed mainframe resources presenting the access token in the request. +- The Gateway validates the access token in two ways: + - By cryptographically validating the token using the public key retrieved from the authorization server's JSON Web Key Set(JWKS) endpoint, matching the token's key ID with the key IDs provided. (`components.gateway.apiml.security.oidc.validationType: JWK`). + - By querying the UserInfo endpoint to verify the token's validity and retrieve user information (`components.gateway.apiml.security.oidc.validationType: endpoint`). +- The URL to the specific authorization server's JWKS endpoint should be set using the property `components.gateway.apiml.security.oidc.jwks.uri`. If the access token is validated, the outcome is cached for a short time (20 sec by default). +- The JWKS obtained from the authorization server's endpoint are cached for a while to prevent repeated calls to the endpoint. The interval can be set using the property `components.gateway.apiml.security.oidc.jwks.refreshInternalHours` (The default value is one hour). +- In subsequent calls with the same token, the Gateway reuses the cached validation outcome. As such, round trips to the OIDC authorization server for JWKS, UserInfo endpoint queries, and JWT Token validation are not required between short intervals when the client needs to access multiple resources in a row to complete a unit of work. +- The URL to the specific authorization server's UserInfo endpoint should be set using the property `components.gateway.apiml.security.oidc.userInfo.uri`. If the access token is validated, the outcome is cached for a short time (20 sec by default). +- The caching interval is configurable with a default value of 20 seconds, which is typically a sufficient amount of time to allow most client operations requiring multiple API requests to complete, while also providing adequate protection against unauthorized access. +- The API ML Gateway fetches the distributed user identity from the distributed access token and request mainframe identity using SAF. SAF replies with empty user ID message. +- The API ML Gateway calls the requested mainframe service/s with the access token in the OIDC-token header. + ## Prerequisites Ensure that the following prerequisites are met: diff --git a/docs/images/api-mediation/apiml-oidc-auth-no-mf-id-seq.png b/docs/images/api-mediation/apiml-oidc-auth-no-mf-id-seq.png new file mode 100644 index 0000000000000000000000000000000000000000..baf5d4dbcd341ad378b571310d716d3539beac75 GIT binary patch literal 66260 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%0AR!wrRmgIuVh$ir=FFLGN_>VTw;8FZ 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�tV7#VN>QKP@##l>cA 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 R6< Date: Thu, 28 Nov 2024 15:35:08 +0100 Subject: [PATCH 031/101] address review comments Signed-off-by: ac892247 --- .../apiml-oidc-auth-no-mf-id-seq.puml | 3 ++- docs/diagrams/apiml-oidc-auth-seq.puml | 3 ++- .../api-mediation-oidc-authentication.md | 8 ++------ .../apiml-oidc-auth-no-mf-id-seq.png | Bin 66260 -> 71928 bytes .../api-mediation/apiml-oidc-auth-seq.png | Bin 65638 -> 70456 bytes .../configuration-multi-tenancy-routing.md | 12 +++++++++--- 6 files changed, 15 insertions(+), 11 deletions(-) diff --git a/docs/diagrams/apiml-oidc-auth-no-mf-id-seq.puml b/docs/diagrams/apiml-oidc-auth-no-mf-id-seq.puml index 4593e6aabc..096e8b1177 100644 --- a/docs/diagrams/apiml-oidc-auth-no-mf-id-seq.puml +++ b/docs/diagrams/apiml-oidc-auth-no-mf-id-seq.puml @@ -8,7 +8,7 @@ actor OIDC as OIDC actor "API ML GW" as GW User -> Agent: Do stuff -Agent -> GW: Open Client App +Agent -> GW: /gateway/oauth2/authorization/ GW -> OIDC: Initiate OIDC flow [client_id, client_secret] loop [MFA] OIDC -> Agent: Request user credentials @@ -27,6 +27,7 @@ GW -> GW: Cache access token validity GW -> SAF: Map distributed ID to mainframe ID SAF -> GW: No mapping exists for distributed ID GW -> Service: call API service with OIDC-token +Service -> Service: Validate access token Service --> GW: return Response end GW --> Agent: Response diff --git a/docs/diagrams/apiml-oidc-auth-seq.puml b/docs/diagrams/apiml-oidc-auth-seq.puml index 93b70263fd..e90032b3f9 100644 --- a/docs/diagrams/apiml-oidc-auth-seq.puml +++ b/docs/diagrams/apiml-oidc-auth-seq.puml @@ -8,7 +8,7 @@ actor OIDC as OIDC actor "API ML GW" as GW User -> Agent: Do stuff -Agent -> GW: Open Client App +Agent -> GW: /gateway/oauth2/authorization/ GW -> OIDC: Initiate OIDC flow [client_id, client_secret] loop [MFA] OIDC -> Agent: Request user credentials @@ -27,6 +27,7 @@ GW -> GW: Cache access token validity GW -> SAF: Map distributed ID to mainframe ID GW -> GW: Create Zowe JWT GW -> Service: call API service with Zowe JWT +Service -> Service: Validate JWT Service --> GW: return Response end GW --> Agent: Response diff --git a/docs/extend/extend-apiml/api-mediation-oidc-authentication.md b/docs/extend/extend-apiml/api-mediation-oidc-authentication.md index e59eb93f30..131e6df854 100644 --- a/docs/extend/extend-apiml/api-mediation-oidc-authentication.md +++ b/docs/extend/extend-apiml/api-mediation-oidc-authentication.md @@ -13,10 +13,6 @@ This configuration is useful in advanced deployments of Zowe where client applic This article details the API ML OIDC authentication functionality, and how to configure the OIDC Authentication feature. -:::note -The OIDC feature is currently unavailable on ACF2 systems. -::: - - [Usage](#usage) - [Authentication flow](#authentication-flow) - [Prerequisites](#prerequisites) @@ -31,7 +27,7 @@ After successful user login, the OIDC provider grants the client application a J Access token is then returned to the user agent in the "apimlAuthenticationToken" cookie. The user agent can pass this Access Token with subsequent requests to mainframe services routed through the API ML Gateway. The API ML Gateway then validates the OIDC Access Token. If the token is valid, the user identity from that token is mapped to the mainframe identity of the user. -The API ML Gateway can then create mainframe user credentials (e.g. JWT, PassTicket) according to the service's authentication schema configuration. +The API ML Gateway can then create mainframe user credentials (e.g. JWT, PassTicket) according to the service's authentication schema configuration or forward valid OIDC access token in case of missing user mapping. The request is routed to the target API services with correct mainframe user credentials. ## Authentication Flow @@ -74,7 +70,7 @@ The following diagram illustrates the interactions between the participants of t - The URL to the specific authorization server's UserInfo endpoint should be set using the property `components.gateway.apiml.security.oidc.userInfo.uri`. If the access token is validated, the outcome is cached for a short time (20 sec by default). - The caching interval is configurable with a default value of 20 seconds, which is typically a sufficient amount of time to allow most client operations requiring multiple API requests to complete, while also providing adequate protection against unauthorized access. - The API ML Gateway fetches the distributed user identity from the distributed access token and request mainframe identity using SAF. SAF replies with empty user ID message. -- The API ML Gateway calls the requested mainframe service/s with the access token in the OIDC-token header. +- The API ML Gateway calls the requested mainframe service/s with the access token in the `OIDC-token` header. ## Prerequisites diff --git a/docs/images/api-mediation/apiml-oidc-auth-no-mf-id-seq.png b/docs/images/api-mediation/apiml-oidc-auth-no-mf-id-seq.png index baf5d4dbcd341ad378b571310d716d3539beac75..97e546b182b565737afd3ac9dfa2dad51f387f96 100644 GIT binary patch literal 71928 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[V7F9v00BLtQpU|D)pvR0@mEP`HPb@bUt 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%0AR!wrRmgIuVh$ir=FFLGN_>VTw;8FZ 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