From f4c697b21cedc08f50397297ac53469f19853cb8 Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Tue, 20 Aug 2024 16:00:06 +0300 Subject: [PATCH 01/27] added basic documentation --- v2/anomalydetection/backend-setup.mdx | 134 +++++++++ v2/anomalydetection/frontend-setup.mdx | 183 +++++++++++++ v2/anomalydetection/introduction.mdx | 42 +++ v2/anomalydetection/sidebars.js | 11 + v2/docusaurus.config.js | 361 +++++++++++++------------ 5 files changed, 555 insertions(+), 176 deletions(-) create mode 100644 v2/anomalydetection/backend-setup.mdx create mode 100644 v2/anomalydetection/frontend-setup.mdx create mode 100644 v2/anomalydetection/introduction.mdx create mode 100644 v2/anomalydetection/sidebars.js diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx new file mode 100644 index 000000000..9de0d7952 --- /dev/null +++ b/v2/anomalydetection/backend-setup.mdx @@ -0,0 +1,134 @@ +--- +sidebar_position: 3 +title: Backend Setup +hide_title: true +--- + +# Setting up the Backend + +In order to use the anomaly detection service, a request to the following enpoint needs to be made: + +```typescript +POST https://security-us-east-1.aws.supertokens.io/v1/security +``` + +You can view the HTTP API reference for this endpoint [here](#somelinkhere). + +### Retrieving the Request ID + +The reuqest ID that has been passed from the frontend is available in the `requestId` property of the input body from each API override. + +Below is an example of how to retrieve the request ID from the input body: + +```typescript +const generatePasswordResetTokenPOST = async function (input) { + // ... your code here ... + const requestId = (await input.options.req.getJSONBody()).requestId; + // ... your code here ... +} +``` + +### Making the Request to the Anomaly Detection endpoint + +The request body is a JSON object that contains the following properties (all fields are optional): + +- `securityServiceRequestId`: The request ID that has been generated on the frontend. +- `bruteForce`: An array of brute force checks that have been configured on the frontend. +```typescript +type BruteForceCheck = { + keyStr: string; + maxRequests: { + limit: number; + perTimeIntervalMS: number; + }[]; + } +} +``` +- `passwordHash`: The SHA-1 hash of the password that needs to be checked against the breach database. +- `email`: The email address that is being used for the authentication event. +- `phoneNumber`: The phone number that is being used for the authentication event. +- `actionType`: The type of action that is being performed. The possible values are: + - `emailpassword-sign-in` + - `emailpassword-sign-up` + - `send-password-reset-email` + - `passwordless-send-email` + - `passwordless-send-sms` + - `totp-verify-device` + - `totp-verify-totp` + - `thirdparty-login` + - `emailverification-send-email` + + +Below is an example of how to make the request to the anomaly detection endpoint: + +```typescript +const API_KEY = ""; // Your secret API key that you received from the SuperTokens team +const ANOMALY_DETECTION_API_URL = "https://security-us-east-1.aws.supertokens.io/v1/security"; + +async function doSecurityChecks(input: { + actionType?: string, + email?: string, + phoneNumber?: string, + password?: string, + securityServiceRequestId?: string, + bruteForceChecks?: { + keyStr: string, + maxRequests: { + limit: number, + perTimeIntervalMS: number + }[] + }[] +}): Promise<{ + status: "GENERAL_ERROR", + message: string +} | undefined> { + let requestBody: { + email?: string; + phoneNumber?: string; + actionType?: string; + securityServiceRequestId?: string; + passwordHash?: string; + bruteForce?: { + keyStr: string; + maxRequests: { + limit: number; + perTimeIntervalMS: number; + }[]; + }[]; + } = {} + + if (input.securityServiceRequestId !== undefined) { + requestBody.securityServiceRequestId = input.securityServiceRequestId; + } + + if (input.password !== undefined) { + let shasum = createHash('sha1'); + shasum.update(input.password); + const passwordHash = shasum.digest('hex'); + requestBody.passwordHash = passwordHash; + } + requestBody.bruteForce = input.bruteForce; + requestBody.email = input.email; + requestBody.phoneNumber = input.phoneNumber; + requestBody.actionType = input.actionType; + + let response = await axios.post(ANOMALY_DETECTION_API_URL, requestBody); + + let responseData = response.data; + if (!responseData.bruteForce.result) { + return { + status: "GENERAL_ERROR", + message: "Too many requests. Please try again later." + } + } + + if (responseData.isPasswordBreached) { + return { + status: "GENERAL_ERROR", + message: "This password has been detected in a breach. Please set a different password." + } + } + + return undefined; +} +``` diff --git a/v2/anomalydetection/frontend-setup.mdx b/v2/anomalydetection/frontend-setup.mdx new file mode 100644 index 000000000..d0c4c2f2e --- /dev/null +++ b/v2/anomalydetection/frontend-setup.mdx @@ -0,0 +1,183 @@ +--- +sidebar_position: 2 +title: Frontend Setup +hide_title: true +--- + +# Setting up the Frontend + +Setting up the frontend is relatively simple. You need to generate a request ID for each authentication event attempt. This request ID is used as a parameter for the anomaly detection. + +### Generating a Request ID on the Frontend + +In order to generate a request ID, you need to import and initialise the SDK using your public API key. This SDK is used to generate a unique request ID for each authentication event attempt. + +Below is an example of how to implement request ID generation on your frontend: + +```typescript +const API_KEY = ""; // Your public API key that you received from the SuperTokens team +const SDK_URL = "https://supertokens.io/t8gl82qb5Wnm8q5x/qZXhulAxLVoSmiDd"; +const supertokensDeviceIdPromise = require(SDK_URL + "?apiKey=" + API_KEY).then((DeviceId: any) => DeviceId.load({ + endpoint: [ + SDK_URL, + DeviceId.defaultEndpoint + ] +})); + +async function getRequestId() { + const deviceId = await supertokensDeviceIdPromise; + const result = await deviceId.get(); + return result.requestId; +} +``` + +### Passing the Request ID to the Backend + +Once you have generated the request ID on the frontend, you need to pass it to the backend. This is done by including the `requestId` property along with the value as part of the preAPIHook body from the initialisation of the recipes. + +:::important +If the request ID is not passed to the backend, the anomaly detection will only be able to detect password breaches and brute force attacks. +::: + +```typescript +const preAPIHook = async (context) => { + let url = context.url; + let requestInit = context.requestInit; + + let action = context.action; + if (action === "EMAIL_PASSWORD_SIGN_IN" || action === "EMAIL_PASSWORD_SIGN_UP" || action === "SEND_RESET_PASSWORD_EMAIL") { + let requestId = await getRequestId(); + let body = context.requestInit.body; + if (body !== undefined) { + let bodyJson = JSON.parse(body as string); + + bodyJson.requestId = requestId; + + requestInit.body = JSON.stringify(bodyJson); + } + } + + return { + requestInit, url + }; +} +``` + +Below is a full example of how to initialise the SDK and pass the request ID to the backend: +```typescript +import EmailPassword from "supertokens-auth-react/recipe/emailpassword"; +import ThirdParty from "supertokens-auth-react/recipe/thirdparty"; +import Passwordless from "supertokens-auth-react/recipe/passwordless"; +import { EmailPasswordPreBuiltUI } from "supertokens-auth-react/recipe/emailpassword/prebuiltui"; +import { ThirdPartyPreBuiltUI } from "supertokens-auth-react/recipe/thirdparty/prebuiltui"; +import { PasswordlessPreBuiltUI } from "supertokens-auth-react/recipe/passwordless/prebuiltui"; +import Session from "supertokens-auth-react/recipe/session"; +import Multitenancy from "supertokens-auth-react/recipe/multitenancy"; +import TOTP from "supertokens-auth-react/recipe/totp"; +import { TOTPPreBuiltUI } from "supertokens-auth-react/recipe/totp/prebuiltui" +import MultiFactorAuth from "supertokens-auth-react/recipe/multifactorauth" +import EmailVerification from "supertokens-auth-react/recipe/emailverification" +import { EmailVerificationPreBuiltUI } from "supertokens-auth-react/recipe/emailverification/prebuiltui" +import { MultiFactorAuthPreBuiltUI } from "supertokens-auth-react/recipe/multifactorauth/prebuiltui" + +const API_KEY = ""; // Your public API key that you received from the SuperTokens team +const SDK_URL = "https://supertokens.io/t8gl82qb5Wnm8q5x/qZXhulAxLVoSmiDd"; +const supertokensDeviceIdPromise = require(SDK_URL + "?apiKey=" + API_KEY).then((DeviceId: any) => DeviceId.load({ + endpoint: [ + SDK_URL, + DeviceId.defaultEndpoint + ] +})); + +async function getRequestId() { + const deviceId = await supertokensDeviceIdPromise; + const result = await deviceId.get(); + return result.requestId; +} + +export function getApiDomain() { + const apiPort = process.env.REACT_APP_API_PORT || 3001; + const apiUrl = process.env.REACT_APP_API_URL || `http://localhost:${apiPort}`; + return apiUrl; +} + +export function getWebsiteDomain() { + const websitePort = process.env.REACT_APP_WEBSITE_PORT || 3000; + const websiteUrl = process.env.REACT_APP_WEBSITE_URL || `http://localhost:${websitePort}`; + return websiteUrl; +} + +export const styleOverride = ` +[data-supertokens~=tenants-link] { + margin-top: 8px; +} +`; + +const preAPIHook = async (context) => { + let url = context.url; + let requestInit = context.requestInit; + + let action = context.action; + if (action === "EMAIL_PASSWORD_SIGN_IN" || action === "EMAIL_PASSWORD_SIGN_UP" || action === "SEND_RESET_PASSWORD_EMAIL") { + let requestId = await getRequestId(); + let body = context.requestInit.body; + if (body !== undefined) { + let bodyJson = JSON.parse(body as string); + + bodyJson.requestId = requestId; + + requestInit.body = JSON.stringify(bodyJson); + } + } + + return { + requestInit, url + }; +} + +export const SuperTokensConfig = { + appInfo: { + appName: "SuperTokens Demo App", + apiDomain: getApiDomain(), + websiteDomain: getWebsiteDomain(), + }, + usesDynamicLoginMethods: true, + style: styleOverride, + // recipeList contains all the modules that you want to + // use from SuperTokens. See the full list here: https://supertokens.com/docs/guides + recipeList: [ + EmailPassword.init({ + preAPIHook, + }), + Passwordless.init({ + contactMethod: "EMAIL_OR_PHONE", + }), + ThirdParty.init(), + Session.init(), + Multitenancy.init({ + override: { + functions: (oI) => { + return { + ...oI, + getTenantId: async () => { + const tenantIdInStorage = localStorage.getItem("tenantId"); + return tenantIdInStorage === null ? undefined : tenantIdInStorage; + }, + }; + }, + }, + }), + TOTP.init(), + MultiFactorAuth.init(), + EmailVerification.init({ + mode: "REQUIRED" + }) + ], +}; + +export const recipeDetails = { + docsLink: "https://supertokens.com/docs/multitenancy/introduction", +}; + +export const PreBuiltUIList = [EmailPasswordPreBuiltUI, ThirdPartyPreBuiltUI, PasswordlessPreBuiltUI, TOTPPreBuiltUI, EmailVerificationPreBuiltUI, MultiFactorAuthPreBuiltUI]; +``` \ No newline at end of file diff --git a/v2/anomalydetection/introduction.mdx b/v2/anomalydetection/introduction.mdx new file mode 100644 index 000000000..f249aadc4 --- /dev/null +++ b/v2/anomalydetection/introduction.mdx @@ -0,0 +1,42 @@ +--- +sidebar_position: 1 +title: Introduction +hide_title: true +--- + +import CustomAdmonition from "/src/components/customAdmonition" + +# Introduction + +SuperTokens Anomaly Detection is a powerful security feature designed to identify and prevent suspicious activities in authentication and user sessions. It leverages various detection methods to enhance the security of your application. + +## Features + +#### Brute Force Attack Detection +Watches how many times someone tries to do a specific action (such as logging in, resetting password, etc.) within a certain time. If there are too many attempts, it stops them to prevent bad actors from compromising accounts. + +#### Password Breach Detection +Checks passwords against a database of leaked passwords to see if they've been leaked before. This helps keep accounts safe by avoiding weak passwords. + +#### Impossible Travel Detection +Identifies potentially fraudulent login attempts by detecting geographically impossible travel between user sessions in a short time. + +### New Device Detection +Recognizes when a user logs in from a new, previously unseen device. This helps find possible unauthorized logins. + +### Device Count Tracking +Monitors the number of unique devices associated with a user account. This helps spot unusual account use. + +### Requester Detection +Recognize and remember devices and requester details, even when they try to disguise themselves. This helps track and identify the same device or requester across multiple login attempts, improving security and user recognition. + + +## Usage + +The Anomaly Detection service is typically integrated into your authentication flow. It processes requests and provides risk assessments that you can use to enforce additional security measures, such as requiring two-factor authentication for suspicious logins or blocking high-risk attempts altogether. + +By leveraging these advanced detection methods, SuperTokens Anomaly Detection significantly enhances your application's security posture and helps protect your users from various types of account compromise attempts. + + + + diff --git a/v2/anomalydetection/sidebars.js b/v2/anomalydetection/sidebars.js new file mode 100644 index 000000000..ff1a84a10 --- /dev/null +++ b/v2/anomalydetection/sidebars.js @@ -0,0 +1,11 @@ +module.exports = { + sidebar: [ + "introduction", + { + type: "category", + label: "Setup Guide", + collapsed: false, + items: ["frontend-setup", "backend-setup"], + }, + ], +}; diff --git a/v2/docusaurus.config.js b/v2/docusaurus.config.js index 6ac95871a..e838df472 100644 --- a/v2/docusaurus.config.js +++ b/v2/docusaurus.config.js @@ -1,4 +1,3 @@ - /** @type {import('@docusaurus/types').DocusaurusConfig} */ /** @@ -13,24 +12,20 @@ let remarkPlugins = [ /** * These are remark plugins that run specifically before the default ones docusaurus adds */ -let beforeDefaultRemarkPlugins = [ - require("./src/plugins/tocHeaderProcessor"), -]; +let beforeDefaultRemarkPlugins = [require("./src/plugins/tocHeaderProcessor")]; -let rehypePlugins = [ - require('./src/plugins/addNofollowToExternalLinks') -]; +let rehypePlugins = [require("./src/plugins/addNofollowToExternalLinks")]; module.exports = { - title: 'SuperTokens Docs', - url: 'https://supertokens.com', - baseUrl: '/', - onBrokenLinks: 'throw', - onBrokenMarkdownLinks: 'throw', - favicon: 'img/favicon.ico', + title: "SuperTokens Docs", + url: "https://supertokens.com", + baseUrl: "/", + onBrokenLinks: "throw", + onBrokenMarkdownLinks: "throw", + favicon: "img/favicon.ico", trailingSlash: false, stylesheets: [ - "https://fonts.googleapis.com/css?family=Rubik|Roboto:300,400,500,700&display=swap" + "https://fonts.googleapis.com/css?family=Rubik|Roboto:300,400,500,700&display=swap", ], themeConfig: { colorMode: { @@ -39,107 +34,107 @@ module.exports = { }, navbar: { logo: { - src: 'img/logoWithNameLight.svg', + src: "img/logoWithNameLight.svg", href: "/", - target: "_blank" + target: "_blank", }, items: [ { - type: 'docsVersionDropdown', + type: "docsVersionDropdown", //// Optional - position: 'left', + position: "left", // Add additional dropdown items at the beginning/end of the dropdown. dropdownItemsBefore: [], // Do not add the link active class when browsing docs. dropdownActiveClassDisabled: true, - docsPluginId: 'default', + docsPluginId: "default", }, { - type: 'docsVersionDropdown', + type: "docsVersionDropdown", //// Optional - position: 'left', + position: "left", // Add additional dropdown items at the beginning/end of the dropdown. dropdownItemsBefore: [], // Do not add the link active class when browsing docs. dropdownActiveClassDisabled: true, - docsPluginId: 'nodejs', + docsPluginId: "nodejs", }, { - type: 'docsVersionDropdown', + type: "docsVersionDropdown", //// Optional - position: 'left', + position: "left", // Add additional dropdown items at the beginning/end of the dropdown. dropdownItemsBefore: [], // Do not add the link active class when browsing docs. dropdownActiveClassDisabled: true, - docsPluginId: 'auth-react', + docsPluginId: "auth-react", }, { - type: 'docsVersionDropdown', + type: "docsVersionDropdown", //// Optional - position: 'left', + position: "left", // Add additional dropdown items at the beginning/end of the dropdown. dropdownItemsBefore: [], // Do not add the link active class when browsing docs. dropdownActiveClassDisabled: true, - docsPluginId: 'website', + docsPluginId: "website", }, { - type: 'docsVersionDropdown', + type: "docsVersionDropdown", //// Optional - position: 'left', + position: "left", // Add additional dropdown items at the beginning/end of the dropdown. dropdownItemsBefore: [], // Do not add the link active class when browsing docs. dropdownActiveClassDisabled: true, - docsPluginId: 'change_me', + docsPluginId: "change_me", }, { - href: '/blog', - label: 'Blog', - position: 'right', - target: "_blank" + href: "/blog", + label: "Blog", + position: "right", + target: "_blank", }, { - href: 'https://supertokens.com/discord', - label: 'Ask Questions', - position: 'right', - className: "navbar__item_discord" + href: "https://supertokens.com/discord", + label: "Ask Questions", + position: "right", + className: "navbar__item_discord", }, { - href: 'https://github.com/supertokens/supertokens-to_replace', - label: 'GitHub', - position: 'right', + href: "https://github.com/supertokens/supertokens-to_replace", + label: "GitHub", + position: "right", }, ], }, prism: { - theme: require('prism-react-renderer/themes/vsDark'), + theme: require("prism-react-renderer/themes/vsDark"), additionalLanguages: ["kotlin", "java", "swift", "dart"], }, algolia: { - apiKey: 'ce04a158637d345fc094ebbfa9a5156a', - indexName: 'supertokens', - appId: "SBR5UR2Z16" + apiKey: "ce04a158637d345fc094ebbfa9a5156a", + indexName: "supertokens", + appId: "SBR5UR2Z16", }, }, presets: [ [ - '@docusaurus/preset-classic', + "@docusaurus/preset-classic", { docs: { - path: 'community', - routeBasePath: 'docs/community', - sidebarPath: require.resolve('./community/sidebars.js'), + path: "community", + routeBasePath: "docs/community", + sidebarPath: require.resolve("./community/sidebars.js"), showLastUpdateTime: true, - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, beforeDefaultRemarkPlugins, }, theme: { // this is applied to all docs.. not just the community one. - customCss: require.resolve('./src/css/custom.css'), + customCss: require.resolve("./src/css/custom.css"), }, }, ], @@ -150,14 +145,14 @@ module.exports = { "./src/plugins/reactBundle", { id: "react-bundle", - } + }, ], [ - "./src/plugins/transformOpenSearchLink", - //used to transform the opensearch.xml location in the metatags. + "./src/plugins/transformOpenSearchLink", + //used to transform the opensearch.xml location in the metatags. { - id: "transform-opensearch-link" - } + id: "transform-opensearch-link", + }, ], [ "./src/plugins/copyDocsAndCodeTypeChecking", @@ -165,14 +160,14 @@ module.exports = { // used for copying docs content via the <-COPY DOCS-> directive // used for do code type checking as well AFTER running cop docs id: "copy-docs-and-code-type-checking", - } + }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'search', - path: 'search', - routeBasePath: 'docs/search', + id: "search", + path: "search", + routeBasePath: "docs/search", sidebarPath: false, remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, @@ -180,256 +175,270 @@ module.exports = { }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'emailpassword', - path: 'emailpassword', - routeBasePath: 'docs/emailpassword', - sidebarPath: require.resolve('./emailpassword/sidebars.js'), + id: "emailpassword", + path: "emailpassword", + routeBasePath: "docs/emailpassword", + sidebarPath: require.resolve("./emailpassword/sidebars.js"), showLastUpdateTime: true, - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, beforeDefaultRemarkPlugins, }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'passwordless', - path: 'passwordless', - routeBasePath: 'docs/passwordless', - sidebarPath: require.resolve('./passwordless/sidebars.js'), + id: "passwordless", + path: "passwordless", + routeBasePath: "docs/passwordless", + sidebarPath: require.resolve("./passwordless/sidebars.js"), showLastUpdateTime: true, - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, beforeDefaultRemarkPlugins, }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'guides', - path: 'guides', - routeBasePath: 'docs/guides', - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + id: "guides", + path: "guides", + routeBasePath: "docs/guides", + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, beforeDefaultRemarkPlugins, }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'thirdparty', - path: 'thirdparty', - routeBasePath: 'docs/thirdparty', - sidebarPath: require.resolve('./thirdparty/sidebars.js'), + id: "thirdparty", + path: "thirdparty", + routeBasePath: "docs/thirdparty", + sidebarPath: require.resolve("./thirdparty/sidebars.js"), showLastUpdateTime: true, - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, beforeDefaultRemarkPlugins, }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'thirdpartyemailpassword', - path: 'thirdpartyemailpassword', - routeBasePath: 'docs/thirdpartyemailpassword', - sidebarPath: require.resolve('./thirdpartyemailpassword/sidebars.js'), + id: "thirdpartyemailpassword", + path: "thirdpartyemailpassword", + routeBasePath: "docs/thirdpartyemailpassword", + sidebarPath: require.resolve("./thirdpartyemailpassword/sidebars.js"), showLastUpdateTime: true, - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, beforeDefaultRemarkPlugins, }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'thirdpartypasswordless', - path: 'thirdpartypasswordless', - routeBasePath: 'docs/thirdpartypasswordless', - sidebarPath: require.resolve('./thirdpartypasswordless/sidebars.js'), + id: "thirdpartypasswordless", + path: "thirdpartypasswordless", + routeBasePath: "docs/thirdpartypasswordless", + sidebarPath: require.resolve("./thirdpartypasswordless/sidebars.js"), showLastUpdateTime: true, - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, beforeDefaultRemarkPlugins, }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'session', - path: 'session', - routeBasePath: 'docs/session', - sidebarPath: require.resolve('./session/sidebars.js'), + id: "anomalydetection", + path: "anomalydetection", + routeBasePath: "docs/anomalydetection", + sidebarPath: require.resolve("./anomalydetection/sidebars.js"), showLastUpdateTime: true, - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, beforeDefaultRemarkPlugins, }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'nodejs', - path: 'nodejs', - routeBasePath: 'docs/nodejs', - sidebarPath: require.resolve('./nodejs/sidebars.js'), + id: "session", + path: "session", + routeBasePath: "docs/session", + sidebarPath: require.resolve("./session/sidebars.js"), showLastUpdateTime: true, - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, beforeDefaultRemarkPlugins, }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'auth-react', - path: 'auth-react', - routeBasePath: 'docs/auth-react', - sidebarPath: require.resolve('./auth-react/sidebars.js'), + id: "nodejs", + path: "nodejs", + routeBasePath: "docs/nodejs", + sidebarPath: require.resolve("./nodejs/sidebars.js"), showLastUpdateTime: true, - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, beforeDefaultRemarkPlugins, }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'website', - path: 'website', - routeBasePath: 'docs/website', - sidebarPath: require.resolve('./website/sidebars.js'), + id: "auth-react", + path: "auth-react", + routeBasePath: "docs/auth-react", + sidebarPath: require.resolve("./auth-react/sidebars.js"), showLastUpdateTime: true, - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, beforeDefaultRemarkPlugins, }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'contribute', - path: 'contribute', - routeBasePath: 'docs/contribute', - sidebarPath: require.resolve('./contribute/sidebars.js'), + id: "website", + path: "website", + routeBasePath: "docs/website", + sidebarPath: require.resolve("./website/sidebars.js"), showLastUpdateTime: true, - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, beforeDefaultRemarkPlugins, }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'phonepassword', - path: 'phonepassword', - routeBasePath: 'docs/phonepassword', - sidebarPath: require.resolve('./phonepassword/sidebars.js'), + id: "contribute", + path: "contribute", + routeBasePath: "docs/contribute", + sidebarPath: require.resolve("./contribute/sidebars.js"), showLastUpdateTime: true, - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, beforeDefaultRemarkPlugins, }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'mfa', - path: 'mfa', - routeBasePath: 'docs/mfa', - sidebarPath: require.resolve('./mfa/sidebars.js'), + id: "phonepassword", + path: "phonepassword", + routeBasePath: "docs/phonepassword", + sidebarPath: require.resolve("./phonepassword/sidebars.js"), showLastUpdateTime: true, - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, beforeDefaultRemarkPlugins, - } + }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'userroles', - path: 'userroles', - routeBasePath: 'docs/userroles', - sidebarPath: require.resolve('./userroles/sidebars.js'), + id: "mfa", + path: "mfa", + routeBasePath: "docs/mfa", + sidebarPath: require.resolve("./mfa/sidebars.js"), showLastUpdateTime: true, - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, beforeDefaultRemarkPlugins, }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'microservice_auth', - path: 'microservice_auth', - routeBasePath: 'docs/microservice_auth', - sidebarPath: require.resolve('./microservice_auth/sidebars.js'), + id: "userroles", + path: "userroles", + routeBasePath: "docs/userroles", + sidebarPath: require.resolve("./userroles/sidebars.js"), showLastUpdateTime: true, - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, - rehypePlugins: rehypePlugins + rehypePlugins: rehypePlugins, + beforeDefaultRemarkPlugins, }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'userdashboard', - path: 'userdashboard', - routeBasePath: 'docs/userdashboard', - sidebarPath: require.resolve('./userdashboard/sidebars.js'), + id: "microservice_auth", + path: "microservice_auth", + routeBasePath: "docs/microservice_auth", + sidebarPath: require.resolve("./microservice_auth/sidebars.js"), showLastUpdateTime: true, - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, - rehypePlugins: rehypePlugins + rehypePlugins: rehypePlugins, }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'multitenancy', - path: 'multitenancy', - routeBasePath: 'docs/multitenancy', - sidebarPath: require.resolve('./multitenancy/sidebars.js'), + id: "userdashboard", + path: "userdashboard", + routeBasePath: "docs/userdashboard", + sidebarPath: require.resolve("./userdashboard/sidebars.js"), showLastUpdateTime: true, - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", + remarkPlugins: remarkPlugins, + rehypePlugins: rehypePlugins, + }, + ], + [ + "@docusaurus/plugin-content-docs", + { + id: "multitenancy", + path: "multitenancy", + routeBasePath: "docs/multitenancy", + sidebarPath: require.resolve("./multitenancy/sidebars.js"), + showLastUpdateTime: true, + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, beforeDefaultRemarkPlugins, }, ], [ - '@docusaurus/plugin-content-docs', + "@docusaurus/plugin-content-docs", { - id: 'change_me', - path: 'change_me', - routeBasePath: 'docs/change_me', - sidebarPath: require.resolve('./change_me/sidebars.js'), + id: "change_me", + path: "change_me", + routeBasePath: "docs/change_me", + sidebarPath: require.resolve("./change_me/sidebars.js"), showLastUpdateTime: true, - editUrl: 'https://github.com/supertokens/docs/tree/master/v2/', + editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, rehypePlugins: rehypePlugins, beforeDefaultRemarkPlugins, }, - ] + ], ], - clientModules:[ + clientModules: [ //used to intercept client side navigation and fire analytics events. - require.resolve("./src/plugins/locationInterceptor") - ] + require.resolve("./src/plugins/locationInterceptor"), + ], }; From e96805af378426cef6f4febc4dd2806b27d46fa4 Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Wed, 21 Aug 2024 13:14:03 +0300 Subject: [PATCH 02/27] update frontend api sdk url --- v2/anomalydetection/frontend-setup.mdx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/v2/anomalydetection/frontend-setup.mdx b/v2/anomalydetection/frontend-setup.mdx index d0c4c2f2e..f36f932b1 100644 --- a/v2/anomalydetection/frontend-setup.mdx +++ b/v2/anomalydetection/frontend-setup.mdx @@ -16,7 +16,8 @@ Below is an example of how to implement request ID generation on your frontend: ```typescript const API_KEY = ""; // Your public API key that you received from the SuperTokens team -const SDK_URL = "https://supertokens.io/t8gl82qb5Wnm8q5x/qZXhulAxLVoSmiDd"; +const SDK_URL = "https://supertokens.com/JfNbWqtXUiGYuTqb/PYmK3PIPqdvHw6iz"; + const supertokensDeviceIdPromise = require(SDK_URL + "?apiKey=" + API_KEY).then((DeviceId: any) => DeviceId.load({ endpoint: [ SDK_URL, @@ -81,7 +82,8 @@ import { EmailVerificationPreBuiltUI } from "supertokens-auth-react/recipe/email import { MultiFactorAuthPreBuiltUI } from "supertokens-auth-react/recipe/multifactorauth/prebuiltui" const API_KEY = ""; // Your public API key that you received from the SuperTokens team -const SDK_URL = "https://supertokens.io/t8gl82qb5Wnm8q5x/qZXhulAxLVoSmiDd"; +const SDK_URL = "https://supertokens.com/JfNbWqtXUiGYuTqb/PYmK3PIPqdvHw6iz"; + const supertokensDeviceIdPromise = require(SDK_URL + "?apiKey=" + API_KEY).then((DeviceId: any) => DeviceId.load({ endpoint: [ SDK_URL, From 2ef06589474bfcea7e6a040a4ae7acd412ebb69e Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Wed, 4 Sep 2024 16:35:03 +0300 Subject: [PATCH 03/27] added pr fixes --- v2/anomalydetection/backend-setup.mdx | 117 +- v2/anomalydetection/frontend-setup.mdx | 124 +- v2/anomalydetection/introduction.mdx | 19 +- v2/package-lock.json | 14732 +-------------- v2/package.json | 4 +- .../img/anomalydetection/sequence-diagram.png | Bin 0 -> 209597 bytes v2/yarn.lock | 15304 ++++++++-------- 7 files changed, 7849 insertions(+), 22451 deletions(-) create mode 100644 v2/static/img/anomalydetection/sequence-diagram.png diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index 9de0d7952..abcbeaeeb 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -6,17 +6,28 @@ hide_title: true # Setting up the Backend -In order to use the anomaly detection service, a request to the following enpoint needs to be made: +In order to use the anomaly detection service, a request to the following enpoint (based on the region) needs to be made: +**US Region:** ```typescript POST https://security-us-east-1.aws.supertokens.io/v1/security ``` +**EU Region (Ireland):** +```typescript +POST https://security-eu-west-1.aws.supertokens.io/v1/security +``` + +**APAC Region (Singapore):** +```typescript +POST https://security-ap-southeast-1.aws.supertokens.io/v1/security +``` + You can view the HTTP API reference for this endpoint [here](#somelinkhere). ### Retrieving the Request ID -The reuqest ID that has been passed from the frontend is available in the `requestId` property of the input body from each API override. +The request ID that has been passed from the frontend is available in the `requestId` property of the input body from each API override. Below is an example of how to retrieve the request ID from the input body: @@ -28,25 +39,109 @@ const generatePasswordResetTokenPOST = async function (input) { } ``` +:::important +The `requestId` is required when the trying to reset password, sign in or sign up. If the `requestId` is not present, a 400 error will be thrown. +::: + ### Making the Request to the Anomaly Detection endpoint The request body is a JSON object that contains the following properties (all fields are optional): -- `securityServiceRequestId`: The request ID that has been generated on the frontend. +- `securityServiceRequestId`: The request ID that has been generated on the frontend. If this is omitted, the bot detection, impossible travel detection, new device detection, device count detection and request ID info will be skipped. - `bruteForce`: An array of brute force checks that have been configured on the frontend. ```typescript type BruteForceCheck = { - keyStr: string; + keyStr: string; // the key against which the the brute force check is being performed. This should be unique for each user (i.e. email, phone number, ip, etc. ) maxRequests: { - limit: number; - perTimeIntervalMS: number; - }[]; + limit: number; // the maximum number of requests allowed within the time interval + perTimeIntervalMS: number; // the time interval in milliseconds within which the maximum number of requests is allowed + }[]; +}[] +``` + +Here you can see some examples of different types of brute force checks that can be performed: + +```typescript +// Useful for limiting a user's attempt from the same network +// This is the most common use case +// --- +// This does two check: +// 1. 1 request per second - fast rate of requests +// 2. 100 requests per 60 minutes - slow brute force - some attackers might try sidestepping the regular brute force detection by using a slower rate of requests +const checkUserInSameNetwork = [{ + keyStr: `${userIp}-${userEmail}`; + maxRequests: [ + { + limit: 1; + perTimeIntervalMS: 1000; + }, + { + limit: 100; + perTimeIntervalMS: 60 * 1000 * 60; + } + ]; +}] +``` + + +```typescript +// Useful for limiting requests from the same network +// This should usually have a higher number of requests/time interval allowed +const checkNetwork = [{ + keyStr: `${userIp}`; + maxRequests: [ + { + limit: 100; + perTimeIntervalMS: 1000; + }, + ]; +}] +``` + +```typescript +// Useful for limiting requests for the user only +const checkUserOnly = [{ + keyStr: `${userEmail}`; + maxRequests: [ + { + limit: 1; + perTimeIntervalMS: 1000; + }, + ]; +}] +``` + +```typescript +// Checking by multiple keys at once +const checkUserOnly = [ + { + keyStr: `${userIp}-${userEmail}`; + maxRequests: [ + { + limit: 1; + perTimeIntervalMS: 1000; + }, + { + limit: 100; + perTimeIntervalMS: 60 * 1000 * 60; + } + ]; + }, + { + keyStr: `${userIp}`; + maxRequests: [ + { + limit: 100; + perTimeIntervalMS: 1000; + }, + ]; } -} +] ``` -- `passwordHash`: The SHA-1 hash of the password that needs to be checked against the breach database. -- `email`: The email address that is being used for the authentication event. -- `phoneNumber`: The phone number that is being used for the authentication event. + +- `passwordHash`: The SHA-1 hash of the password that needs to be checked against the breach database. If this is not provided, the password breach check will be skipped. +- `email`: The email address that is being used for the authentication event. If this is not provided (or `phoneNumber'), the impossible travel detection, new device detection and device count detection will be skipped. +- `phoneNumber`: The phone number that is being used for the authentication event. If this is not provided (or `email'), the impossible travel detection, new device detection and device count detection will be skipped. - `actionType`: The type of action that is being performed. The possible values are: - `emailpassword-sign-in` - `emailpassword-sign-up` diff --git a/v2/anomalydetection/frontend-setup.mdx b/v2/anomalydetection/frontend-setup.mdx index f36f932b1..2d04483bb 100644 --- a/v2/anomalydetection/frontend-setup.mdx +++ b/v2/anomalydetection/frontend-setup.mdx @@ -6,7 +6,12 @@ hide_title: true # Setting up the Frontend -Setting up the frontend is relatively simple. You need to generate a request ID for each authentication event attempt. This request ID is used as a parameter for the anomaly detection. +Setting up the frontend is relatively simple. You need to generate a request ID for each authentication event attempt. +This request ID is used as a parameter for the anomaly detection for detecting anomalies such as bot detection, impossible travel, and device information. + +Using it on other flows will not make a real difference, as, by their nature, other flows prevent this kind of anomalies. + +For detecting brute force attacks, password breaches, etc, you can skip these steps as the backend setup will handle this. ### Generating a Request ID on the Frontend @@ -14,7 +19,8 @@ In order to generate a request ID, you need to import and initialise the SDK usi Below is an example of how to implement request ID generation on your frontend: -```typescript + +```tsx const API_KEY = ""; // Your public API key that you received from the SuperTokens team const SDK_URL = "https://supertokens.com/JfNbWqtXUiGYuTqb/PYmK3PIPqdvHw6iz"; @@ -40,46 +46,32 @@ Once you have generated the request ID on the frontend, you need to pass it to t If the request ID is not passed to the backend, the anomaly detection will only be able to detect password breaches and brute force attacks. ::: -```typescript +```tsx const preAPIHook = async (context) => { let url = context.url; let requestInit = context.requestInit; let action = context.action; - if (action === "EMAIL_PASSWORD_SIGN_IN" || action === "EMAIL_PASSWORD_SIGN_UP" || action === "SEND_RESET_PASSWORD_EMAIL") { - let requestId = await getRequestId(); - let body = context.requestInit.body; - if (body !== undefined) { - let bodyJson = JSON.parse(body as string); - - bodyJson.requestId = requestId; - - requestInit.body = JSON.stringify(bodyJson); - } + + let requestId = await getRequestId(); + let body = context.requestInit.body; + if (body !== undefined) { + let bodyJson = JSON.parse(body as string); + + bodyJson.requestId = requestId; + + requestInit.body = JSON.stringify(bodyJson); } - + return { requestInit, url }; } ``` -Below is a full example of how to initialise the SDK and pass the request ID to the backend: -```typescript +Below is a full example of how to configure the SDK and pass the request ID to the backend: +```tsx import EmailPassword from "supertokens-auth-react/recipe/emailpassword"; -import ThirdParty from "supertokens-auth-react/recipe/thirdparty"; -import Passwordless from "supertokens-auth-react/recipe/passwordless"; -import { EmailPasswordPreBuiltUI } from "supertokens-auth-react/recipe/emailpassword/prebuiltui"; -import { ThirdPartyPreBuiltUI } from "supertokens-auth-react/recipe/thirdparty/prebuiltui"; -import { PasswordlessPreBuiltUI } from "supertokens-auth-react/recipe/passwordless/prebuiltui"; -import Session from "supertokens-auth-react/recipe/session"; -import Multitenancy from "supertokens-auth-react/recipe/multitenancy"; -import TOTP from "supertokens-auth-react/recipe/totp"; -import { TOTPPreBuiltUI } from "supertokens-auth-react/recipe/totp/prebuiltui" -import MultiFactorAuth from "supertokens-auth-react/recipe/multifactorauth" -import EmailVerification from "supertokens-auth-react/recipe/emailverification" -import { EmailVerificationPreBuiltUI } from "supertokens-auth-react/recipe/emailverification/prebuiltui" -import { MultiFactorAuthPreBuiltUI } from "supertokens-auth-react/recipe/multifactorauth/prebuiltui" const API_KEY = ""; // Your public API key that you received from the SuperTokens team const SDK_URL = "https://supertokens.com/JfNbWqtXUiGYuTqb/PYmK3PIPqdvHw6iz"; @@ -97,89 +89,41 @@ async function getRequestId() { return result.requestId; } -export function getApiDomain() { - const apiPort = process.env.REACT_APP_API_PORT || 3001; - const apiUrl = process.env.REACT_APP_API_URL || `http://localhost:${apiPort}`; - return apiUrl; -} - -export function getWebsiteDomain() { - const websitePort = process.env.REACT_APP_WEBSITE_PORT || 3000; - const websiteUrl = process.env.REACT_APP_WEBSITE_URL || `http://localhost:${websitePort}`; - return websiteUrl; -} - -export const styleOverride = ` -[data-supertokens~=tenants-link] { - margin-top: 8px; -} -`; - const preAPIHook = async (context) => { let url = context.url; let requestInit = context.requestInit; let action = context.action; - if (action === "EMAIL_PASSWORD_SIGN_IN" || action === "EMAIL_PASSWORD_SIGN_UP" || action === "SEND_RESET_PASSWORD_EMAIL") { - let requestId = await getRequestId(); - let body = context.requestInit.body; - if (body !== undefined) { - let bodyJson = JSON.parse(body as string); - - bodyJson.requestId = requestId; - - requestInit.body = JSON.stringify(bodyJson); - } + + let requestId = await getRequestId(); + let body = context.requestInit.body; + if (body !== undefined) { + let bodyJson = JSON.parse(body as string); + + bodyJson.requestId = requestId; + + requestInit.body = JSON.stringify(bodyJson); } - + return { requestInit, url }; } export const SuperTokensConfig = { + // ... other config options appInfo: { appName: "SuperTokens Demo App", - apiDomain: getApiDomain(), - websiteDomain: getWebsiteDomain(), + apiDomain: 'your-api-domain.com', + websiteDomain: 'your-website-domain.com', }, usesDynamicLoginMethods: true, - style: styleOverride, // recipeList contains all the modules that you want to // use from SuperTokens. See the full list here: https://supertokens.com/docs/guides recipeList: [ EmailPassword.init({ preAPIHook, }), - Passwordless.init({ - contactMethod: "EMAIL_OR_PHONE", - }), - ThirdParty.init(), - Session.init(), - Multitenancy.init({ - override: { - functions: (oI) => { - return { - ...oI, - getTenantId: async () => { - const tenantIdInStorage = localStorage.getItem("tenantId"); - return tenantIdInStorage === null ? undefined : tenantIdInStorage; - }, - }; - }, - }, - }), - TOTP.init(), - MultiFactorAuth.init(), - EmailVerification.init({ - mode: "REQUIRED" - }) ], }; - -export const recipeDetails = { - docsLink: "https://supertokens.com/docs/multitenancy/introduction", -}; - -export const PreBuiltUIList = [EmailPasswordPreBuiltUI, ThirdPartyPreBuiltUI, PasswordlessPreBuiltUI, TOTPPreBuiltUI, EmailVerificationPreBuiltUI, MultiFactorAuthPreBuiltUI]; ``` \ No newline at end of file diff --git a/v2/anomalydetection/introduction.mdx b/v2/anomalydetection/introduction.mdx index f249aadc4..8a472da4d 100644 --- a/v2/anomalydetection/introduction.mdx +++ b/v2/anomalydetection/introduction.mdx @@ -10,17 +10,27 @@ import CustomAdmonition from "/src/components/customAdmonition" SuperTokens Anomaly Detection is a powerful security feature designed to identify and prevent suspicious activities in authentication and user sessions. It leverages various detection methods to enhance the security of your application. +:::important +This feature is **currently in beta**. In order to get access to this feature, please reach out to us at team@supertokens.com to get it setup for you. +::: + ## Features -#### Brute Force Attack Detection +### Brute Force Attack Detection Watches how many times someone tries to do a specific action (such as logging in, resetting password, etc.) within a certain time. If there are too many attempts, it stops them to prevent bad actors from compromising accounts. -#### Password Breach Detection +### Password Breach Detection Checks passwords against a database of leaked passwords to see if they've been leaked before. This helps keep accounts safe by avoiding weak passwords. -#### Impossible Travel Detection +### Impossible Travel Detection Identifies potentially fraudulent login attempts by detecting geographically impossible travel between user sessions in a short time. +### Bot Detection +Identifies and prevents automated scripts or bots from performing malicious activities such as credential stuffing, account takeover attempts, or scraping sensitive data. It uses advanced algorithms to analyze user behavior, request patterns, and other indicators to distinguish between human users and automated bots. + +### Suspicious IP Detection +Detects suspicious IP addresses that are known for malicious activities. This includes detecting the use of VPNs, TOR, proxy servers, or other network configurations that may be used to hide the user's true location or identity. + ### New Device Detection Recognizes when a user logs in from a new, previously unseen device. This helps find possible unauthorized logins. @@ -37,6 +47,9 @@ The Anomaly Detection service is typically integrated into your authentication f By leveraging these advanced detection methods, SuperTokens Anomaly Detection significantly enhances your application's security posture and helps protect your users from various types of account compromise attempts. +Below is an high level overview of how this works: + +Anomaly detection flow diff --git a/v2/package-lock.json b/v2/package-lock.json index ede8663e0..8ca86cfb0 100644 --- a/v2/package-lock.json +++ b/v2/package-lock.json @@ -1,14650 +1,8 @@ { "name": "change-me", "version": "0.0.0", - "lockfileVersion": 2, + "lockfileVersion": 1, "requires": true, - "packages": { - "": { - "name": "change-me", - "version": "0.0.0", - "dependencies": { - "@docsearch/react": "^3.0.0", - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/preset-classic": "2.0.0-beta.3", - "@mdx-js/react": "^1.6.21", - "@svgr/webpack": "^5.5.0", - "axios": "^0.21.1", - "clsx": "^1.1.1", - "file-loader": "^6.2.0", - "prism-react-renderer": "^1.2.1", - "react": "^17.0.1", - "react-device-detect": "^1.17.0", - "react-dom": "^17.0.1", - "supertokens-website": "^20.0.1", - "url-loader": "^4.1.1" - }, - "devDependencies": { - "@types/react": "^16.14.11", - "typescript": "4.9.3" - } - }, - "node_modules/@algolia/autocomplete-core": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.5.2.tgz", - "integrity": "sha512-DY0bhyczFSS1b/CqJlTE/nQRtnTAHl6IemIkBy0nEWnhDzRDdtdx4p5Uuk3vwAFxwEEgi1WqKwgSSMx6DpNL4A==", - "dependencies": { - "@algolia/autocomplete-shared": "1.5.2" - } - }, - "node_modules/@algolia/autocomplete-preset-algolia": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.5.2.tgz", - "integrity": "sha512-3MRYnYQFJyovANzSX2CToS6/5cfVjbLLqFsZTKcvF3abhQzxbqwwaMBlJtt620uBUOeMzhdfasKhCc40+RHiZw==", - "dependencies": { - "@algolia/autocomplete-shared": "1.5.2" - }, - "peerDependencies": { - "@algolia/client-search": "^4.9.1", - "algoliasearch": "^4.9.1" - } - }, - "node_modules/@algolia/autocomplete-shared": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.5.2.tgz", - "integrity": "sha512-ylQAYv5H0YKMfHgVWX0j0NmL8XBcAeeeVQUmppnnMtzDbDnca6CzhKj3Q8eF9cHCgcdTDdb5K+3aKyGWA0obug==" - }, - "node_modules/@algolia/cache-browser-local-storage": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.10.3.tgz", - "integrity": "sha512-TD1N7zg5lb56/PLjjD4bBl2eccEvVHhC7yfgFu2r9k5tf+gvbGxEZ3NhRZVKu2MObUIcEy2VR4LVLxOQu45Hlg==", - "dependencies": { - "@algolia/cache-common": "4.10.3" - } - }, - "node_modules/@algolia/cache-common": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.10.3.tgz", - "integrity": "sha512-q13cPPUmtf8a2suBC4kySSr97EyulSXuxUkn7l1tZUCX/k1y5KNheMp8npBy8Kc8gPPmHpacxddRSfOncjiKFw==" - }, - "node_modules/@algolia/cache-in-memory": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.10.3.tgz", - "integrity": "sha512-JhPajhOXAjUP+TZrZTh6KJpF5VKTKyWK2aR1cD8NtrcVHwfGS7fTyfXfVm5BqBqkD9U0gVvufUt/mVyI80aZww==", - "dependencies": { - "@algolia/cache-common": "4.10.3" - } - }, - "node_modules/@algolia/client-account": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.10.3.tgz", - "integrity": "sha512-S/IsJB4s+e1xYctdpW3nAbwrR2y3pjSo9X21fJGoiGeIpTRdvQG7nydgsLkhnhcgAdLnmqBapYyAqMGmlcyOkg==", - "dependencies": { - "@algolia/client-common": "4.10.3", - "@algolia/client-search": "4.10.3", - "@algolia/transporter": "4.10.3" - } - }, - "node_modules/@algolia/client-analytics": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.10.3.tgz", - "integrity": "sha512-vlHTbBqJktRgclh3v7bPQLfZvFIqY4erNFIZA5C7nisCj9oLeTgzefoUrr+R90+I+XjfoLxnmoeigS1Z1yg1vw==", - "dependencies": { - "@algolia/client-common": "4.10.3", - "@algolia/client-search": "4.10.3", - "@algolia/requester-common": "4.10.3", - "@algolia/transporter": "4.10.3" - } - }, - "node_modules/@algolia/client-common": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.10.3.tgz", - "integrity": "sha512-uFyP2Z14jG2hsFRbAoavna6oJf4NTXaSDAZgouZUZlHlBp5elM38sjNeA5HR9/D9J/GjwaB1SgB7iUiIWYBB4w==", - "dependencies": { - "@algolia/requester-common": "4.10.3", - "@algolia/transporter": "4.10.3" - } - }, - "node_modules/@algolia/client-personalization": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.10.3.tgz", - "integrity": "sha512-NS7Nx8EJ/nduGXT8CFo5z7kLF0jnFehTP3eC+z+GOEESH3rrs7uR12IZHxv5QhQswZa9vl925zCOZDcDVoENCg==", - "dependencies": { - "@algolia/client-common": "4.10.3", - "@algolia/requester-common": "4.10.3", - "@algolia/transporter": "4.10.3" - } - }, - "node_modules/@algolia/client-search": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.10.3.tgz", - "integrity": "sha512-Zwnp2G94IrNFKWCG/k7epI5UswRkPvL9FCt7/slXe2bkjP2y/HA37gzRn+9tXoLVRwd7gBzrtOA4jFKIyjrtVw==", - "dependencies": { - "@algolia/client-common": "4.10.3", - "@algolia/requester-common": "4.10.3", - "@algolia/transporter": "4.10.3" - } - }, - "node_modules/@algolia/logger-common": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.10.3.tgz", - "integrity": "sha512-M6xi+qov2bkgg1H9e1Qtvq/E/eKsGcgz8RBbXNzqPIYoDGZNkv+b3b8YMo3dxd4Wd6M24HU1iqF3kmr1LaXndg==" - }, - "node_modules/@algolia/logger-console": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.10.3.tgz", - "integrity": "sha512-vVgRI7b4PHjgBdRkv/cRz490twvkLoGdpC4VYzIouSrKj8SIVLRhey3qgXk7oQXi3xoxVAv6NrklHfpO8Bpx0w==", - "dependencies": { - "@algolia/logger-common": "4.10.3" - } - }, - "node_modules/@algolia/requester-browser-xhr": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.10.3.tgz", - "integrity": "sha512-4WIk1zreFbc1EF6+gsfBTQvwSNjWc20zJAAExRWql/Jq5yfVHmwOqi/CajA53/cXKFBqo80DAMRvOiwP+hOLYw==", - "dependencies": { - "@algolia/requester-common": "4.10.3" - } - }, - "node_modules/@algolia/requester-common": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.10.3.tgz", - "integrity": "sha512-PNfLHmg0Hujugs3rx55uz/ifv7b9HVdSFQDb2hj0O5xZaBEuQCNOXC6COrXR8+9VEfqp2swpg7zwgtqFxh+BtQ==" - }, - "node_modules/@algolia/requester-node-http": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.10.3.tgz", - "integrity": "sha512-A9ZcGfEvgqf0luJApdNcIhsRh6MShn2zn2tbjwjGG1joF81w+HUY+BWuLZn56vGwAA9ZB9n00IoJJpxibbfofg==", - "dependencies": { - "@algolia/requester-common": "4.10.3" - } - }, - "node_modules/@algolia/transporter": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.10.3.tgz", - "integrity": "sha512-n1lRyKDbrckbMEgm7QXtj3nEWUuzA3aKLzVQ43/F/RCFib15j4IwtmYhXR6OIBRSc7+T0Hm48S0J6F+HeYCQkw==", - "dependencies": { - "@algolia/cache-common": "4.10.3", - "@algolia/logger-common": "4.10.3", - "@algolia/requester-common": "4.10.3" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", - "dependencies": { - "@babel/highlight": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz", - "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz", - "integrity": "sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==", - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helpers": "^7.14.6", - "@babel/parser": "^7.14.6", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz", - "integrity": "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==", - "dependencies": { - "@babel/types": "^7.14.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz", - "integrity": "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==", - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz", - "integrity": "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==", - "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz", - "integrity": "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==", - "dependencies": { - "@babel/compat-data": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz", - "integrity": "sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", - "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "regexpu-core": "^4.7.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", - "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", - "dependencies": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz", - "integrity": "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==", - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", - "dependencies": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz", - "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==", - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz", - "integrity": "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==", - "dependencies": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-simple-access": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz", - "integrity": "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-wrap-function": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz", - "integrity": "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==", - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz", - "integrity": "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==", - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz", - "integrity": "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==", - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", - "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz", - "integrity": "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==", - "dependencies": { - "@babel/helper-function-name": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz", - "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==", - "dependencies": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.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==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz", - "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz", - "integrity": "sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", - "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz", - "integrity": "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", - "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", - "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", - "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", - "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", - "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", - "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz", - "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==", - "dependencies": { - "@babel/compat-data": "^7.14.7", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", - "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", - "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", - "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "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==", - "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-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" - }, - "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==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "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.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz", - "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==", - "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-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.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz", - "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", - "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", - "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", - "dependencies": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", - "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz", - "integrity": "sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz", - "integrity": "sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", - "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", - "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", - "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", - "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", - "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz", - "integrity": "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", - "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", - "dependencies": { - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", - "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", - "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", - "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", - "dependencies": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd/node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz", - "integrity": "sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==", - "dependencies": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.14.5", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs/node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz", - "integrity": "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==", - "dependencies": { - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.5", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs/node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", - "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", - "dependencies": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.7.tgz", - "integrity": "sha512-DTNOTaS7TkW97xsDMrp7nycUVh6sn/eq22VaxWfEdzuEbRsiaOU0pqU7DlyUGHVsbQbSghvjKRpEl+nUCKGQSg==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", - "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", - "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz", - "integrity": "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", - "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.14.5.tgz", - "integrity": "sha512-NBqLEx1GxllIOXJInJAQbrnwwYJsV3WaMHIcOwD8rhYS0AabTWn7kHdHgPgu5RmHLU0q4DMxhAMu8ue/KampgQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.5.tgz", - "integrity": "sha512-07aqY1ChoPgIxsuDviptRpVkWCSbXWmzQqcgy65C6YSFOfPFvb/DX3bBRHh7pCd/PMEEYHYWUTSVkCbkVainYQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.5.tgz", - "integrity": "sha512-7RylxNeDnxc1OleDm0F5Q/BSL+whYRbOAR+bwgCxIr0L32v7UFh/pz1DLMZideAUxKT6eMoS2zQH6fyODLEi8Q==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-jsx": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.14.5.tgz", - "integrity": "sha512-rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ==", - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.14.5.tgz", - "integrity": "sha512-3X4HpBJimNxW4rhUy/SONPyNQHp5YRr0HhJdT2OH1BRp0of7u3Dkirc7x9FRJMKMqTBI079VZ1hzv7Ouuz///g==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", - "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", - "dependencies": { - "regenerator-transform": "^0.14.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", - "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.5.tgz", - "integrity": "sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg==", - "dependencies": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", - "babel-plugin-polyfill-regenerator": "^0.2.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", - "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", - "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", - "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", - "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", - "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.6.tgz", - "integrity": "sha512-XlTdBq7Awr4FYIzqhmYY80WN0V0azF74DMPyFqVHBvf81ZUgc4X7ZOpx6O8eLDK6iM5cCQzeyJw0ynTaefixRA==", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.14.6", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-typescript": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", - "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", - "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.7.tgz", - "integrity": "sha512-itOGqCKLsSUl0Y+1nSfhbuuOlTs0MJk2Iv7iSH+XT/mR8U1zRLO7NjWlYXB47yhK4J/7j+HYty/EhFZDYKa/VA==", - "dependencies": { - "@babel/compat-data": "^7.14.7", - "@babel/helper-compilation-targets": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-async-generator-functions": "^7.14.7", - "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-proposal-class-static-block": "^7.14.5", - "@babel/plugin-proposal-dynamic-import": "^7.14.5", - "@babel/plugin-proposal-export-namespace-from": "^7.14.5", - "@babel/plugin-proposal-json-strings": "^7.14.5", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", - "@babel/plugin-proposal-numeric-separator": "^7.14.5", - "@babel/plugin-proposal-object-rest-spread": "^7.14.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-private-methods": "^7.14.5", - "@babel/plugin-proposal-private-property-in-object": "^7.14.5", - "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", - "@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-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-transform-arrow-functions": "^7.14.5", - "@babel/plugin-transform-async-to-generator": "^7.14.5", - "@babel/plugin-transform-block-scoped-functions": "^7.14.5", - "@babel/plugin-transform-block-scoping": "^7.14.5", - "@babel/plugin-transform-classes": "^7.14.5", - "@babel/plugin-transform-computed-properties": "^7.14.5", - "@babel/plugin-transform-destructuring": "^7.14.7", - "@babel/plugin-transform-dotall-regex": "^7.14.5", - "@babel/plugin-transform-duplicate-keys": "^7.14.5", - "@babel/plugin-transform-exponentiation-operator": "^7.14.5", - "@babel/plugin-transform-for-of": "^7.14.5", - "@babel/plugin-transform-function-name": "^7.14.5", - "@babel/plugin-transform-literals": "^7.14.5", - "@babel/plugin-transform-member-expression-literals": "^7.14.5", - "@babel/plugin-transform-modules-amd": "^7.14.5", - "@babel/plugin-transform-modules-commonjs": "^7.14.5", - "@babel/plugin-transform-modules-systemjs": "^7.14.5", - "@babel/plugin-transform-modules-umd": "^7.14.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.7", - "@babel/plugin-transform-new-target": "^7.14.5", - "@babel/plugin-transform-object-super": "^7.14.5", - "@babel/plugin-transform-parameters": "^7.14.5", - "@babel/plugin-transform-property-literals": "^7.14.5", - "@babel/plugin-transform-regenerator": "^7.14.5", - "@babel/plugin-transform-reserved-words": "^7.14.5", - "@babel/plugin-transform-shorthand-properties": "^7.14.5", - "@babel/plugin-transform-spread": "^7.14.6", - "@babel/plugin-transform-sticky-regex": "^7.14.5", - "@babel/plugin-transform-template-literals": "^7.14.5", - "@babel/plugin-transform-typeof-symbol": "^7.14.5", - "@babel/plugin-transform-unicode-escapes": "^7.14.5", - "@babel/plugin-transform-unicode-regex": "^7.14.5", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.14.5", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", - "babel-plugin-polyfill-regenerator": "^0.2.2", - "core-js-compat": "^3.15.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.14.5.tgz", - "integrity": "sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-transform-react-display-name": "^7.14.5", - "@babel/plugin-transform-react-jsx": "^7.14.5", - "@babel/plugin-transform-react-jsx-development": "^7.14.5", - "@babel/plugin-transform-react-pure-annotations": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.14.5.tgz", - "integrity": "sha512-u4zO6CdbRKbS9TypMqrlGH7sd2TAJppZwn3c/ZRLeO/wGsbddxgbPDUZVNrie3JWYLQ9vpineKlsrWFvO6Pwkw==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-transform-typescript": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.6.tgz", - "integrity": "sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==", - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.7.tgz", - "integrity": "sha512-Wvzcw4mBYbTagyBVZpAJWI06auSIj033T/yNE0Zn1xcup83MieCddZA7ls3kme17L4NOGBrQ09Q+nKB41RLWBA==", - "dependencies": { - "core-js-pure": "^3.15.0", - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz", - "integrity": "sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==", - "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.14.5", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.14.7", - "@babel/types": "^7.14.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", - "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", - "dependencies": { - "@babel/helper-validator-identifier": "^7.14.5", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@docsearch/css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.0.0.tgz", - "integrity": "sha512-1kkV7tkAsiuEd0shunYRByKJe3xQDG2q7wYg24SOw1nV9/2lwEd4WrUYRJC/ukGTl2/kHeFxsaUvtiOy0y6fFA==" - }, - "node_modules/@docsearch/react": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.0.0.tgz", - "integrity": "sha512-yhMacqS6TVQYoBh/o603zszIb5Bl8MIXuOc6Vy617I74pirisDzzcNh0NEaYQt50fVVR3khUbeEhUEWEWipESg==", - "dependencies": { - "@algolia/autocomplete-core": "1.5.2", - "@algolia/autocomplete-preset-algolia": "1.5.2", - "@docsearch/css": "3.0.0", - "algoliasearch": "^4.0.0" - }, - "peerDependencies": { - "@types/react": ">= 16.8.0 < 18.0.0", - "react": ">= 16.8.0 < 18.0.0", - "react-dom": ">= 16.8.0 < 18.0.0" - } - }, - "node_modules/@docusaurus/core": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-2.0.0-beta.3.tgz", - "integrity": "sha512-vzKmQsvOCte9odf0ZRU2h5UzdI1km5D0NU3Ee6xn06VydYZ169B1IF5KV1LWHSYklnsEmzizJ/jeopFCry0cGg==", - "dependencies": { - "@babel/core": "^7.12.16", - "@babel/generator": "^7.12.15", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-transform-runtime": "^7.12.15", - "@babel/preset-env": "^7.12.16", - "@babel/preset-react": "^7.12.13", - "@babel/preset-typescript": "^7.12.16", - "@babel/runtime": "^7.12.5", - "@babel/runtime-corejs3": "^7.12.13", - "@babel/traverse": "^7.12.13", - "@docusaurus/cssnano-preset": "2.0.0-beta.3", - "@docusaurus/react-loadable": "5.5.0", - "@docusaurus/types": "2.0.0-beta.3", - "@docusaurus/utils": "2.0.0-beta.3", - "@docusaurus/utils-common": "2.0.0-beta.3", - "@docusaurus/utils-validation": "2.0.0-beta.3", - "@slorber/static-site-generator-webpack-plugin": "^4.0.0", - "@svgr/webpack": "^5.5.0", - "autoprefixer": "^10.2.5", - "babel-loader": "^8.2.2", - "babel-plugin-dynamic-import-node": "2.3.0", - "boxen": "^5.0.1", - "chalk": "^4.1.1", - "chokidar": "^3.5.1", - "clean-css": "^5.1.2", - "commander": "^5.1.0", - "copy-webpack-plugin": "^9.0.0", - "core-js": "^3.9.1", - "css-loader": "^5.1.1", - "css-minimizer-webpack-plugin": "^3.0.1", - "cssnano": "^5.0.4", - "del": "^6.0.0", - "detect-port": "^1.3.0", - "escape-html": "^1.0.3", - "eta": "^1.12.1", - "express": "^4.17.1", - "file-loader": "^6.2.0", - "fs-extra": "^10.0.0", - "github-slugger": "^1.3.0", - "globby": "^11.0.2", - "html-minifier-terser": "^5.1.1", - "html-tags": "^3.1.0", - "html-webpack-plugin": "^5.3.2", - "import-fresh": "^3.3.0", - "is-root": "^2.1.0", - "leven": "^3.1.0", - "lodash": "^4.17.20", - "mini-css-extract-plugin": "^1.6.0", - "module-alias": "^2.2.2", - "nprogress": "^0.2.0", - "postcss": "^8.2.15", - "postcss-loader": "^5.3.0", - "prompts": "^2.4.1", - "react-dev-utils": "^11.0.1", - "react-error-overlay": "^6.0.9", - "react-helmet": "^6.1.0", - "react-loadable": "^5.5.0", - "react-loadable-ssr-addon-v5-slorber": "^1.0.1", - "react-router": "^5.2.0", - "react-router-config": "^5.1.1", - "react-router-dom": "^5.2.0", - "resolve-pathname": "^3.0.0", - "rtl-detect": "^1.0.3", - "semver": "^7.3.4", - "serve-handler": "^6.1.3", - "shelljs": "^0.8.4", - "std-env": "^2.2.1", - "strip-ansi": "^6.0.0", - "terser-webpack-plugin": "^5.1.3", - "tslib": "^2.2.0", - "update-notifier": "^5.1.0", - "url-loader": "^4.1.1", - "wait-on": "^5.3.0", - "webpack": "^5.40.0", - "webpack-bundle-analyzer": "^4.4.2", - "webpack-dev-server": "^3.11.2", - "webpack-merge": "^5.8.0", - "webpackbar": "^5.0.0-3" - }, - "bin": { - "docusaurus": "bin/docusaurus.js" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/cssnano-preset": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.0-beta.3.tgz", - "integrity": "sha512-k7EkNPluB+TV++oZB8Je4EQ6Xs6cR0SvgIU9vdXm00qyPCu38MMfRwSY4HnsVUV797T/fQUD91zkuwhyXCUGLA==", - "dependencies": { - "cssnano-preset-advanced": "^5.1.1", - "postcss": "^8.2.15", - "postcss-sort-media-queries": "^3.10.11" - } - }, - "node_modules/@docusaurus/mdx-loader": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.0.0-beta.3.tgz", - "integrity": "sha512-xH6zjNokZD2D7Y+Af3gMO692lwfw5N3NzxuLqMF3D0HPHOLrokDeIeVPeY/EBJBxZiXgqWGZ/ESewNDU1ZUfRQ==", - "dependencies": { - "@babel/parser": "^7.12.16", - "@babel/traverse": "^7.12.13", - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/utils": "2.0.0-beta.3", - "@mdx-js/mdx": "^1.6.21", - "@mdx-js/react": "^1.6.21", - "escape-html": "^1.0.3", - "file-loader": "^6.2.0", - "fs-extra": "^10.0.0", - "github-slugger": "^1.3.0", - "gray-matter": "^4.0.3", - "mdast-util-to-string": "^2.0.0", - "remark-emoji": "^2.1.0", - "stringify-object": "^3.3.0", - "unist-util-visit": "^2.0.2", - "url-loader": "^4.1.1", - "webpack": "^5.40.0" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-blog": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.0-beta.3.tgz", - "integrity": "sha512-QynxHVzS3jItnDbmu9wkASyMxrduauqONVqYHrL4x2pC4kzSTIrcDnOK1JXUJAuDg9XY66ISWQ8dN7YZOpU+4Q==", - "dependencies": { - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/mdx-loader": "2.0.0-beta.3", - "@docusaurus/types": "2.0.0-beta.3", - "@docusaurus/utils": "2.0.0-beta.3", - "@docusaurus/utils-validation": "2.0.0-beta.3", - "chalk": "^4.1.1", - "escape-string-regexp": "^4.0.0", - "feed": "^4.2.2", - "fs-extra": "^10.0.0", - "globby": "^11.0.2", - "loader-utils": "^2.0.0", - "lodash": "^4.17.20", - "reading-time": "^1.3.0", - "remark-admonitions": "^1.2.1", - "tslib": "^2.2.0", - "webpack": "^5.40.0" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-blog/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@docusaurus/plugin-content-docs": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.0-beta.3.tgz", - "integrity": "sha512-lB9UjDyFtq89tpyif+JDIJ/gtwtSTEwOBNTLAzOsg4ZIfNLfyifrWN4ci0TkZV0xShWUHqGp36/5XTpHRn1jJQ==", - "dependencies": { - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/mdx-loader": "2.0.0-beta.3", - "@docusaurus/types": "2.0.0-beta.3", - "@docusaurus/utils": "2.0.0-beta.3", - "@docusaurus/utils-validation": "2.0.0-beta.3", - "chalk": "^4.1.1", - "combine-promises": "^1.1.0", - "escape-string-regexp": "^4.0.0", - "execa": "^5.0.0", - "fs-extra": "^10.0.0", - "globby": "^11.0.2", - "import-fresh": "^3.2.2", - "js-yaml": "^4.0.0", - "loader-utils": "^1.2.3", - "lodash": "^4.17.20", - "remark-admonitions": "^1.2.1", - "shelljs": "^0.8.4", - "tslib": "^2.2.0", - "utility-types": "^3.10.0", - "webpack": "^5.40.0" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@docusaurus/plugin-content-docs/node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@docusaurus/plugin-content-pages": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.0-beta.3.tgz", - "integrity": "sha512-lV6ZoSkkVwN10kQLE4sEAubaEnzXjKBQBhMCx49wkrvRwKzjBoRnfWV8qAswN1KU2YZZL1ixFpcr8+oXvhxkuA==", - "dependencies": { - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/mdx-loader": "2.0.0-beta.3", - "@docusaurus/types": "2.0.0-beta.3", - "@docusaurus/utils": "2.0.0-beta.3", - "@docusaurus/utils-validation": "2.0.0-beta.3", - "globby": "^11.0.2", - "lodash": "^4.17.20", - "minimatch": "^3.0.4", - "remark-admonitions": "^1.2.1", - "slash": "^3.0.0", - "tslib": "^2.1.0", - "webpack": "^5.40.0" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-debug": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.0.0-beta.3.tgz", - "integrity": "sha512-EeHUcCPsr9S1tsyRo42SnhrCCOlcvkcA8CR4pOofiJkG1gJ8IwhY9fNOLJM7dYs0bMtViiqXy5fD2jUib4G1jw==", - "dependencies": { - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/types": "2.0.0-beta.3", - "@docusaurus/utils": "2.0.0-beta.3", - "react-json-view": "^1.21.3", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-analytics": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.0-beta.3.tgz", - "integrity": "sha512-e6tO1FCIdAqIjcLAUaHugz/dErAP/wx67WyN6bWSdAMJRobmav+TFesE2iVzzIMxuRB3pY0Y7TtLL5dF5xpIsg==", - "dependencies": { - "@docusaurus/core": "2.0.0-beta.3" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-google-gtag": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.0-beta.3.tgz", - "integrity": "sha512-p48CK7ZwThs9wc/UEv+zG3lZ/Eh4Rwg2c0MBBLYATGE+Wwh6HIyilhjQAj4dC6wf9iYvCZFXX2pNOr+cKKafIA==", - "dependencies": { - "@docusaurus/core": "2.0.0-beta.3" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/plugin-sitemap": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.0-beta.3.tgz", - "integrity": "sha512-ilEJ3Xb8zbShjGhdRHGAm4OZ0bUwFxtMtcTyqLlGmk9r0U2h0CWcaS+geJfLwgUJkwgKZfGdDrmTpmf8oeGQvw==", - "dependencies": { - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/types": "2.0.0-beta.3", - "@docusaurus/utils": "2.0.0-beta.3", - "@docusaurus/utils-common": "2.0.0-beta.3", - "@docusaurus/utils-validation": "2.0.0-beta.3", - "fs-extra": "^10.0.0", - "sitemap": "^7.0.0", - "tslib": "^2.2.0" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/preset-classic": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.0.0-beta.3.tgz", - "integrity": "sha512-32B/7X3H8XX5jBqg23veEqNJ0JtKCG0Va+7wTX9+B36tMyPnsq3H3m0m5XICfX/NGfPICfjw/oCN2CEAYFd47Q==", - "dependencies": { - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/plugin-content-blog": "2.0.0-beta.3", - "@docusaurus/plugin-content-docs": "2.0.0-beta.3", - "@docusaurus/plugin-content-pages": "2.0.0-beta.3", - "@docusaurus/plugin-debug": "2.0.0-beta.3", - "@docusaurus/plugin-google-analytics": "2.0.0-beta.3", - "@docusaurus/plugin-google-gtag": "2.0.0-beta.3", - "@docusaurus/plugin-sitemap": "2.0.0-beta.3", - "@docusaurus/theme-classic": "2.0.0-beta.3", - "@docusaurus/theme-search-algolia": "2.0.0-beta.3" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/react-loadable": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.0.tgz", - "integrity": "sha512-Ld/kwUE6yATIOTLq3JCsWiTa/drisajwKqBQ2Rw6IcT+sFsKfYek8F2jSH8f68AT73xX97UehduZeCSlnuCBIg==", - "dependencies": { - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": "*" - } - }, - "node_modules/@docusaurus/theme-classic": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.0.0-beta.3.tgz", - "integrity": "sha512-d2I4r9FQ67hCTGq+fkz0tDNvpCLxm/HAtjuu+XsZkX6Snh50XpWYfwOD4w8oFbbup5Imli2q7Z8Q2+9izphizw==", - "dependencies": { - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/plugin-content-blog": "2.0.0-beta.3", - "@docusaurus/plugin-content-docs": "2.0.0-beta.3", - "@docusaurus/plugin-content-pages": "2.0.0-beta.3", - "@docusaurus/theme-common": "2.0.0-beta.3", - "@docusaurus/types": "2.0.0-beta.3", - "@docusaurus/utils": "2.0.0-beta.3", - "@docusaurus/utils-common": "2.0.0-beta.3", - "@docusaurus/utils-validation": "2.0.0-beta.3", - "@mdx-js/mdx": "^1.6.21", - "@mdx-js/react": "^1.6.21", - "chalk": "^4.1.1", - "clsx": "^1.1.1", - "copy-text-to-clipboard": "^3.0.1", - "fs-extra": "^10.0.0", - "globby": "^11.0.2", - "infima": "0.2.0-alpha.26", - "lodash": "^4.17.20", - "parse-numeric-range": "^1.2.0", - "postcss": "^8.2.15", - "prism-react-renderer": "^1.2.1", - "prismjs": "^1.23.0", - "prop-types": "^15.7.2", - "react-router-dom": "^5.2.0", - "rtlcss": "^3.1.2" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/theme-common": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.0.0-beta.3.tgz", - "integrity": "sha512-XuiqpfQyOWGniN7d8uMfUQ3OmCc70u+O0ObPUONj7gFglCzwu33Izx05gNrV9ekhnpQ1pkPcvGU7Soe9Hc5i6g==", - "dependencies": { - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/plugin-content-blog": "2.0.0-beta.3", - "@docusaurus/plugin-content-docs": "2.0.0-beta.3", - "@docusaurus/plugin-content-pages": "2.0.0-beta.3", - "@docusaurus/types": "2.0.0-beta.3", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "prism-react-renderer": "^1.2.1", - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/theme-search-algolia": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.0-beta.3.tgz", - "integrity": "sha512-fxWxcXGmqjwuA7zYRAbwqSANx3PVVjYUehV9SI28u5qq8U2tSYflhd1nGogM6guiV+Er6u8gwO91PL6wg3/vBA==", - "dependencies": { - "@docsearch/react": "^3.0.0-alpha.36", - "@docusaurus/core": "2.0.0-beta.3", - "@docusaurus/theme-common": "2.0.0-beta.3", - "@docusaurus/utils": "2.0.0-beta.3", - "@docusaurus/utils-validation": "2.0.0-beta.3", - "algoliasearch": "^4.8.4", - "algoliasearch-helper": "^3.3.4", - "clsx": "^1.1.1", - "eta": "^1.12.1", - "lodash": "^4.17.20" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0", - "react-dom": "^16.8.4 || ^17.0.0" - } - }, - "node_modules/@docusaurus/types": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-2.0.0-beta.3.tgz", - "integrity": "sha512-ivQ6L1ahju06ldTvFsZLQxcN6DP32iIB7DscxWVRqP0eyuyX2xAy+jrASqih3lB8lyw0JJaaDEeVE5fjroAQ/Q==", - "dependencies": { - "commander": "^5.1.0", - "joi": "^17.4.0", - "querystring": "0.2.0", - "webpack": "^5.40.0", - "webpack-merge": "^5.8.0" - } - }, - "node_modules/@docusaurus/utils": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.0.0-beta.3.tgz", - "integrity": "sha512-DApc6xcb3CvvsBCfRU6Zk3KoZa4mZfCJA4XRv5zhlhaSb0GFuAo7KQ353RUu6d0eYYylY3GGRABXkxRE1SEClA==", - "dependencies": { - "@docusaurus/types": "2.0.0-beta.3", - "@types/github-slugger": "^1.3.0", - "chalk": "^4.1.1", - "escape-string-regexp": "^4.0.0", - "fs-extra": "^10.0.0", - "gray-matter": "^4.0.3", - "lodash": "^4.17.20", - "resolve-pathname": "^3.0.0", - "tslib": "^2.2.0" - }, - "engines": { - "node": ">=12.13.0" - } - }, - "node_modules/@docusaurus/utils-common": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.0.0-beta.3.tgz", - "integrity": "sha512-KJgDN4G2MzJcHy+OR2e/xgEwRy+vX26pzwtjPkRjNf24CPa0BwFbRmR5apbltCgTB10vT6xroStc8Quv/286Cg==", - "dependencies": { - "@docusaurus/types": "2.0.0-beta.3", - "tslib": "^2.2.0" - }, - "engines": { - "node": ">=12.13.0" - } - }, - "node_modules/@docusaurus/utils-validation": { - "version": "2.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.0.0-beta.3.tgz", - "integrity": "sha512-jGX78NNrxDZFgDjLaa6wuJ/eKDoHdZFG2CVX3uCaIGe1x8eTMG2/e/39GzbZl+W7VHYpW0bzdf/5dFhaKLfQbQ==", - "dependencies": { - "@docusaurus/utils": "2.0.0-beta.3", - "chalk": "^4.1.1", - "joi": "^17.4.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=12.13.0" - } - }, - "node_modules/@docusaurus/utils/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@hapi/hoek": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.0.tgz", - "integrity": "sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug==" - }, - "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/@mdx-js/mdx": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz", - "integrity": "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==", - "dependencies": { - "@babel/core": "7.12.9", - "@babel/plugin-syntax-jsx": "7.12.1", - "@babel/plugin-syntax-object-rest-spread": "7.8.3", - "@mdx-js/util": "1.6.22", - "babel-plugin-apply-mdx-type-prop": "1.6.22", - "babel-plugin-extract-import-names": "1.6.22", - "camelcase-css": "2.0.1", - "detab": "2.0.4", - "hast-util-raw": "6.0.1", - "lodash.uniq": "4.5.0", - "mdast-util-to-hast": "10.0.1", - "remark-footnotes": "2.0.0", - "remark-mdx": "1.6.22", - "remark-parse": "8.0.3", - "remark-squeeze-paragraphs": "4.0.0", - "style-to-object": "0.3.0", - "unified": "9.2.0", - "unist-builder": "2.0.3", - "unist-util-visit": "2.0.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@mdx-js/mdx/node_modules/@babel/core": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", - "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.7", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.9", - "@babel/types": "^7.12.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@mdx-js/mdx/node_modules/@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@mdx-js/mdx/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/@mdx-js/react": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz", - "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "react": "^16.13.1 || ^17.0.0" - } - }, - "node_modules/@mdx-js/util": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz", - "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.15", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.15.tgz", - "integrity": "sha512-15spi3V28QdevleWBNXE4pIls3nFZmBbUGrW9IVPwiQczuSb9n76TCB4bsk8TSel+I1OkHEdPhu5QKMfY6rQHA==" - }, - "node_modules/@sideway/address": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.2.tgz", - "integrity": "sha512-idTz8ibqWFrPU8kMirL0CoPH/A29XOzzAzpyN3zQ4kAWnzmNfFmRaoMNN6VI8ske5M73HZyhIaW4OuSFIdM4oA==", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", - "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" - }, - "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/@sindresorhus/is": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@slorber/static-site-generator-webpack-plugin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.1.tgz", - "integrity": "sha512-PSv4RIVO1Y3kvHxjvqeVisk3E9XFoO04uwYBDWe217MFqKspplYswTuKLiJu0aLORQWzuQjfVsSlLPojwfYsLw==", - "dependencies": { - "bluebird": "^3.7.1", - "cheerio": "^0.22.0", - "eval": "^0.1.4", - "url": "^0.11.0", - "webpack-sources": "^1.4.3" - } - }, - "node_modules/@slorber/static-site-generator-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@slorber/static-site-generator-webpack-plugin/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==", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "node_modules/@svgr/babel-plugin-add-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", - "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", - "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", - "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-svg-dynamic-title": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", - "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-svg-em-dimensions": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", - "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-transform-react-native-svg": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", - "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-plugin-transform-svg-component": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", - "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/babel-preset": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", - "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", - "dependencies": { - "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", - "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", - "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", - "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", - "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", - "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", - "@svgr/babel-plugin-transform-svg-component": "^5.5.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", - "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", - "dependencies": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/hast-util-to-babel-ast": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", - "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", - "dependencies": { - "@babel/types": "^7.12.6" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-jsx": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", - "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", - "dependencies": { - "@babel/core": "^7.12.3", - "@svgr/babel-preset": "^5.5.0", - "@svgr/hast-util-to-babel-ast": "^5.5.0", - "svg-parser": "^2.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-svgo": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", - "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", - "dependencies": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@svgr/plugin-svgo/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/@svgr/plugin-svgo/node_modules/css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", - "dependencies": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/@svgr/plugin-svgo/node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/@svgr/plugin-svgo/node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - }, - "node_modules/@svgr/plugin-svgo/node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@svgr/plugin-svgo/node_modules/svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", - "dependencies": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/plugin-transform-react-constant-elements": "^7.12.1", - "@babel/preset-env": "^7.12.1", - "@babel/preset-react": "^7.12.5", - "@svgr/core": "^5.5.0", - "@svgr/plugin-jsx": "^5.5.0", - "@svgr/plugin-svgo": "^5.5.0", - "loader-utils": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" - } - }, - "node_modules/@szmarczak/http-timer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", - "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dependencies": { - "defer-to-connect": "^1.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@trysound/sax": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.1.1.tgz", - "integrity": "sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@types/eslint": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", - "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==" - }, - "node_modules/@types/github-slugger": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@types/github-slugger/-/github-slugger-1.3.0.tgz", - "integrity": "sha512-J/rMZa7RqiH/rT29TEVZO4nBoDP9XJOjnbbIofg7GQKs4JIduEO3WLpte+6WeUz/TcrXKlY+bM7FYrp8yFB+3g==" - }, - "node_modules/@types/glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/hast": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.2.tgz", - "integrity": "sha512-Op5W7jYgZI7AWKY5wQ0/QNMzQM7dGQPyW1rXKNiymVCy5iTfdPuGu4HhYNOM2sIv8gUfIuIdcYlXmAepwaowow==", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/html-minifier-terser": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", - "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==" - }, - "node_modules/@types/json-schema": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz", - "integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==" - }, - "node_modules/@types/mdast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.4.tgz", - "integrity": "sha512-gIdhbLDFlspL53xzol2hVzrXAbzt71erJHoOwQZWssjaiouOotf03lNtMmFm9VfFkvnLWccSVjUAZGQ5Kqw+jA==", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" - }, - "node_modules/@types/node": { - "version": "12.11.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.11.2.tgz", - "integrity": "sha512-dsfE4BHJkLQW+reOS6b17xhZ/6FB1rB8eRRvO08nn5o+voxf3i74tuyFWNH6djdfgX7Sm5s6LD8t6mJug4dpDw==" - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - }, - "node_modules/@types/parse5": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz", - "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" - }, - "node_modules/@types/prop-types": { - "version": "15.7.4", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", - "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==" - }, - "node_modules/@types/q": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz", - "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" - }, - "node_modules/@types/react": { - "version": "16.14.11", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.11.tgz", - "integrity": "sha512-Don0MtsZZ3fjwTJ2BsoqkyOy7e176KplEAKOpr/4XDdzinlyJBn9yfsKn5mcSgn4kh1B22+3tBnzBC1z63ybtQ==", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/sax": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.2.tgz", - "integrity": "sha512-nfnUx5UQ1R+/riXydS0UyYJiqtxgOeObr9Hw8xSTtpB4LNoHa1z31rsvGXN0JKz/7/kDXw0bT2Q/VQkXAbCYoA==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - }, - "node_modules/@types/unist": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.5.tgz", - "integrity": "sha512-wnra4Vw9dopnuybR6HBywJ/URYpYrKLoepBTEtgfJup8Ahoi2zJECPP2cwiXp7btTvOT2CULv87aQRA4eZSP6g==" - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dependencies": { - "@webassemblyjs/ast": "1.11.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==" - }, - "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==" - }, - "node_modules/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", - "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz", - "integrity": "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/address": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", - "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "peerDependencies": { - "ajv": ">=5.0.0" - } - }, - "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==", - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/algoliasearch": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.10.3.tgz", - "integrity": "sha512-OLY0AWlPKGLbSaw14ivMB7BT5fPdp8VdzY4L8FtzZnqmLKsyes24cltGlf7/X96ACkYEcT390SReCDt/9SUIRg==", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.10.3", - "@algolia/cache-common": "4.10.3", - "@algolia/cache-in-memory": "4.10.3", - "@algolia/client-account": "4.10.3", - "@algolia/client-analytics": "4.10.3", - "@algolia/client-common": "4.10.3", - "@algolia/client-personalization": "4.10.3", - "@algolia/client-search": "4.10.3", - "@algolia/logger-common": "4.10.3", - "@algolia/logger-console": "4.10.3", - "@algolia/requester-browser-xhr": "4.10.3", - "@algolia/requester-common": "4.10.3", - "@algolia/requester-node-http": "4.10.3", - "@algolia/transporter": "4.10.3" - } - }, - "node_modules/algoliasearch-helper": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.5.4.tgz", - "integrity": "sha512-t+FLhXYnPZiwjYe5ExyN962HQY8mi3KwRju3Lyf6OBgtRdx30d6mqvtClXf5NeBihH45Xzj6t4Y5YyvAI432XA==", - "deprecated": "3.7.3", - "dependencies": { - "events": "^1.1.1" - }, - "peerDependencies": { - "algoliasearch": ">= 3.1 < 5" - } - }, - "node_modules/algoliasearch-helper/node_modules/events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" - }, - "node_modules/ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", - "dependencies": { - "string-width": "^3.0.0" - } - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-align/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "engines": { - "node": ">=6" - } - }, - "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==", - "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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "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/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.0.tgz", - "integrity": "sha512-4P8Zm2H+BRS+c/xX1LrHw0qKpEhdlZjLCgWy+d78T9vqa2Z2SiD2wMrYuWIAFy5IZUD7nnNXroRttz+0RzlrzQ==" - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" - }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/autoprefixer": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.1.tgz", - "integrity": "sha512-L8AmtKzdiRyYg7BUXJTzigmhbQRCXFKz6SA1Lqo0+AR2FBbQ4aTAPFSDlOutnFkjhiz8my4agGXog1xlMjPJ6A==", - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-lite": "^1.0.30001243", - "colorette": "^1.2.2", - "fraction.js": "^4.1.1", - "normalize-range": "^0.1.2", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", - "dependencies": { - "follow-redirects": "^1.10.0" - } - }, - "node_modules/babel-loader": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", - "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", - "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^1.4.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 8.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" - } - }, - "node_modules/babel-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/babel-loader/node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/babel-loader/node_modules/schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", - "dependencies": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/babel-plugin-apply-mdx-type-prop": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz", - "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==", - "dependencies": { - "@babel/helper-plugin-utils": "7.10.4", - "@mdx-js/util": "1.6.22" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "@babel/core": "^7.11.6" - } - }, - "node_modules/babel-plugin-apply-mdx-type-prop/node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz", - "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==", - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/babel-plugin-extract-import-names": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz", - "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==", - "dependencies": { - "@babel/helper-plugin-utils": "7.10.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/babel-plugin-extract-import-names/node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", - "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", - "dependencies": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.2", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.3.tgz", - "integrity": "sha512-rCOFzEIJpJEAU14XCcV/erIf/wZQMmMT5l5vXOpL5uoznyOGfDIjPj6FVytMvtzaKSTSVKouOCTPJ5OMUZH30g==", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.14.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", - "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.2.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/bail": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", - "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base16": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz", - "integrity": "sha1-4pf2DX7BAUp6lxo568ipjAtoHnA=" - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "node_modules/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dependencies": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dependencies": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - } - }, - "node_modules/bonjour/node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - }, - "node_modules/boxen": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-5.0.1.tgz", - "integrity": "sha512-49VBlw+PrWEF51aCmy7QIteYPIFZxSpvqBdP/2itCPPlJ49kj9zg/XPRFrdkne2W+CfwXUls8exMvu1RysZpKA==", - "dependencies": { - "ansi-align": "^3.0.0", - "camelcase": "^6.2.0", - "chalk": "^4.1.0", - "cli-boxes": "^2.2.1", - "string-width": "^4.2.0", - "type-fest": "^0.20.2", - "widest-line": "^3.1.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-tabs-lock": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/browser-tabs-lock/-/browser-tabs-lock-1.3.0.tgz", - "integrity": "sha512-g6nHaobTiT0eMZ7jh16YpD2kcjAp+PInbiVq3M1x6KKaEIVhT4v9oURNIpZLOZ3LQbQ3XYfNhMAb/9hzNLIWrw==", - "hasInstallScript": true, - "dependencies": { - "lodash": ">=4.17.21" - } - }, - "node_modules/browserslist": { - "version": "4.16.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", - "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", - "dependencies": { - "caniuse-lite": "^1.0.30001219", - "colorette": "^1.2.2", - "electron-to-chromium": "^1.3.723", - "escalade": "^3.1.1", - "node-releases": "^1.1.71" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - }, - "node_modules/buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" - }, - "node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cacheable-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", - "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^3.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^4.1.0", - "responselike": "^1.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cacheable-request/node_modules/lowercase-keys": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/cacheable-request/node_modules/normalize-url": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", - "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", - "dependencies": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001244", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001244.tgz", - "integrity": "sha512-Wb4UFZPkPoJoKKVfELPWytRzpemjP/s0pe22NriANru1NoI+5bGNxzKtk7edYL8rmCWTfQO8eRiF0pn1Dqzx7Q==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/ccount": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", - "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/chalk/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/chalk/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/chalk/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/character-entities": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/cheerio": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", - "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", - "dependencies": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash.assignin": "^4.0.9", - "lodash.bind": "^4.1.4", - "lodash.defaults": "^4.0.1", - "lodash.filter": "^4.4.0", - "lodash.flatten": "^4.2.0", - "lodash.foreach": "^4.3.0", - "lodash.map": "^4.4.0", - "lodash.merge": "^4.4.0", - "lodash.pick": "^4.2.1", - "lodash.reduce": "^4.4.0", - "lodash.reject": "^4.4.0", - "lodash.some": "^4.4.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cheerio/node_modules/css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dependencies": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "node_modules/cheerio/node_modules/css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", - "engines": { - "node": "*" - } - }, - "node_modules/cheerio/node_modules/dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", - "dependencies": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" - } - }, - "node_modules/cheerio/node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/cheerio/node_modules/domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/cheerio/node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - }, - "node_modules/cheerio/node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz", - "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==" - }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/class-utils/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clean-css": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.1.3.tgz", - "integrity": "sha512-qGXzUCDpLwAlPx0kYeU4QXjzQIcIYZbJjD4FNm7NnSjoP0hYMVZhHOpUYJ6AwfkMX2cceLRq54MeCgHy/va1cA==", - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 10.0" - } - }, - "node_modules/clean-css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", - "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dependencies": { - "mimic-response": "^1.0.0" - } - }, - "node_modules/clsx": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", - "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dependencies": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/coa/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/collapse-white-space": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", - "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/colord": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.1.0.tgz", - "integrity": "sha512-H5sDP9XDk2uP+x/xSGkgB9SEFc1bojdI5DMKU0jmSXQtml2GIe48dj1DcSS0e53QQAHn+JKqUXbGeGX24xWD7w==" - }, - "node_modules/colorette": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", - "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" - }, - "node_modules/combine-promises": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.1.0.tgz", - "integrity": "sha512-ZI9jvcLDxqwaXEixOhArm3r7ReIivsXkpbyEWyeOhzz1QS0iSgBPnWvEqvIQtYyamGCYA88gFhmUrs9hrrQ0pg==", - "engines": { - "node": ">=10" - } - }, - "node_modules/comma-separated-tokens": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", - "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "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==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/configstore": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", - "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", - "dependencies": { - "dot-prop": "^5.2.0", - "graceful-fs": "^4.1.2", - "make-dir": "^3.0.0", - "unique-string": "^2.0.0", - "write-file-atomic": "^3.0.0", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "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==" - }, - "node_modules/content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dependencies": { - "safe-buffer": "5.1.2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/copy-text-to-clipboard": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz", - "integrity": "sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/copy-webpack-plugin": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz", - "integrity": "sha512-14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw==", - "dependencies": { - "fast-glob": "^3.2.5", - "glob-parent": "^6.0.0", - "globby": "^11.0.3", - "normalize-path": "^3.0.0", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", - "serialize-javascript": "^6.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.0.tgz", - "integrity": "sha512-Hdd4287VEJcZXUwv1l8a+vXC1GjOQqXe+VS30w/ypihpcnu9M1n3xeYeJu5CBpeEQj2nAab2xxz28GuA3vp4Ww==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/core-js": { - "version": "3.15.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.15.2.tgz", - "integrity": "sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.15.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.15.2.tgz", - "integrity": "sha512-Wp+BJVvwopjI+A1EFqm2dwUmWYXrvucmtIB2LgXn/Rb+gWPKYxtmb4GKHGKG/KGF1eK9jfjzT38DITbTOCX/SQ==", - "dependencies": { - "browserslist": "^4.16.6", - "semver": "7.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/core-js-pure": { - "version": "3.15.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.15.2.tgz", - "integrity": "sha512-D42L7RYh1J2grW8ttxoY1+17Y4wXZeKe7uyplAI3FkNQyI5OgBIAjUfFiTPfL1rs0qLpxaabITNbjKl1Sp82tA==", - "deprecated": "core-js-pure@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js-pure.", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "node_modules/cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cross-fetch": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz", - "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==", - "dependencies": { - "node-fetch": "2.6.1" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/css-color-names": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", - "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==", - "engines": { - "node": "*" - } - }, - "node_modules/css-declaration-sorter": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.0.3.tgz", - "integrity": "sha512-52P95mvW1SMzuRZegvpluT6yEv0FqQusydKQPZsNN5Q7hh8EwQvN8E2nwuJ16BBvNN6LcoIZXu/Bk58DAhrrxw==", - "dependencies": { - "timsort": "^0.3.0" - }, - "engines": { - "node": ">= 10" - }, - "peerDependencies": { - "postcss": "^8.0.9" - } - }, - "node_modules/css-loader": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", - "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", - "dependencies": { - "icss-utils": "^5.1.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.15", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.27.0 || ^5.0.0" - } - }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.0.2.tgz", - "integrity": "sha512-B3I5e17RwvKPJwsxjjWcdgpU/zqylzK1bPVghcmpFHRL48DXiBgrtqz1BJsn68+t/zzaLp9kYAaEDvQ7GyanFQ==", - "dependencies": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "p-limit": "^3.0.2", - "postcss": "^8.3.5", - "schema-utils": "^3.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - } - } - }, - "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-select": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", - "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^5.0.0", - "domhandler": "^4.2.0", - "domutils": "^2.6.0", - "nth-check": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - }, - "node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/css-tree/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/css-what": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz", - "integrity": "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssnano": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.6.tgz", - "integrity": "sha512-NiaLH/7yqGksFGsFNvSRe2IV/qmEBAeDE64dYeD8OBrgp6lE8YoMeQJMtsv5ijo6MPyhuoOvFhI94reahBRDkw==", - "dependencies": { - "cosmiconfig": "^7.0.0", - "cssnano-preset-default": "^5.1.3", - "is-resolvable": "^1.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-preset-advanced": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.1.3.tgz", - "integrity": "sha512-pS4+Q2Hoo/FevZs2JqA2BG8Vn5o5VeXgj+z6kGndKTq3RFYvlKeJ1ZPnLXo9zyYKwmSqWW0rWqtGxxmigIte0Q==", - "dependencies": { - "autoprefixer": "^10.2.0", - "cssnano-preset-default": "^5.1.3", - "postcss-discard-unused": "^5.0.1", - "postcss-merge-idents": "^5.0.1", - "postcss-reduce-idents": "^5.0.1", - "postcss-zindex": "^5.0.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-preset-default": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.3.tgz", - "integrity": "sha512-qo9tX+t4yAAZ/yagVV3b+QBKeLklQbmgR3wI7mccrDcR+bEk9iHgZN1E7doX68y9ThznLya3RDmR+nc7l6/2WQ==", - "dependencies": { - "css-declaration-sorter": "^6.0.3", - "cssnano-utils": "^2.0.1", - "postcss-calc": "^8.0.0", - "postcss-colormin": "^5.2.0", - "postcss-convert-values": "^5.0.1", - "postcss-discard-comments": "^5.0.1", - "postcss-discard-duplicates": "^5.0.1", - "postcss-discard-empty": "^5.0.1", - "postcss-discard-overridden": "^5.0.1", - "postcss-merge-longhand": "^5.0.2", - "postcss-merge-rules": "^5.0.2", - "postcss-minify-font-values": "^5.0.1", - "postcss-minify-gradients": "^5.0.1", - "postcss-minify-params": "^5.0.1", - "postcss-minify-selectors": "^5.1.0", - "postcss-normalize-charset": "^5.0.1", - "postcss-normalize-display-values": "^5.0.1", - "postcss-normalize-positions": "^5.0.1", - "postcss-normalize-repeat-style": "^5.0.1", - "postcss-normalize-string": "^5.0.1", - "postcss-normalize-timing-functions": "^5.0.1", - "postcss-normalize-unicode": "^5.0.1", - "postcss-normalize-url": "^5.0.2", - "postcss-normalize-whitespace": "^5.0.1", - "postcss-ordered-values": "^5.0.2", - "postcss-reduce-initial": "^5.0.1", - "postcss-reduce-transforms": "^5.0.1", - "postcss-svgo": "^5.0.2", - "postcss-unique-selectors": "^5.0.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/cssnano-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", - "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/csstype": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz", - "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==" - }, - "node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dependencies": { - "mimic-response": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", - "dependencies": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dependencies": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/defer-to-connect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" - }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-property/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "node_modules/detab": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz", - "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==", - "dependencies": { - "repeat-string": "^1.5.4" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "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==" - }, - "node_modules/detect-port": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz", - "integrity": "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==", - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" - } - }, - "node_modules/detect-port/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/detect-port/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" - }, - "node_modules/dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", - "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", - "dependencies": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dependencies": { - "buffer-indexof": "^1.0.0" - } - }, - "node_modules/dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dependencies": { - "utila": "~0.4" - } - }, - "node_modules/dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domhandler": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", - "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz", - "integrity": "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==", - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - }, - "node_modules/duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "node_modules/electron-to-chromium": { - "version": "1.3.774", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.774.tgz", - "integrity": "sha512-Fggh17Q1yyv1uMzq8Qn1Ci58P50qcRXMXd2MBcB9sxo6rJxjUutWcNw8uCm3gFWMdcblBO6mDT5HzX/RVRRECA==" - }, - "node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/emoticon": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz", - "integrity": "sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==", - "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": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz", - "integrity": "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", - "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "is-callable": "^1.2.3", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.3", - "is-string": "^1.0.6", - "object-inspect": "^1.10.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-module-lexer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", - "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==" - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-goat": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", - "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eta": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/eta/-/eta-1.12.3.tgz", - "integrity": "sha512-qHixwbDLtekO/d51Yr4glcaUJCIjGVJyTzuqV4GPlgZo1YpgOKG+avQynErZIYrfM6JIJdtiG2Kox8tbb+DoGg==", - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "url": "https://github.com/eta-dev/eta?sponsor=1" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eval": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.6.tgz", - "integrity": "sha512-o0XUw+5OGkXw4pJZzQoXUk+H87DHuC+7ZE//oSrRGtatTmr12oTnLfg6QOq9DyTt0c/p4TwzgmkKrBzWTSizyQ==", - "dependencies": { - "require-like": ">= 0.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/eventsource": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz", - "integrity": "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==", - "dependencies": { - "original": "^1.0.0" - }, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/execa/node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/execa/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "engines": { - "node": ">=4" - } - }, - "node_modules/execa/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/execa/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dependencies": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/expand-brackets/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/expand-brackets/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dependencies": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "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": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=", - "dependencies": { - "punycode": "^1.3.2" - } - }, - "node_modules/fast-url-parser/node_modules/punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "node_modules/fastq": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz", - "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fbemitter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz", - "integrity": "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==", - "dependencies": { - "fbjs": "^3.0.0" - } - }, - "node_modules/fbjs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.0.tgz", - "integrity": "sha512-dJd4PiDOFuhe7vk4F80Mba83Vr2QuK86FoxtgPmzBqEJahncp+13YCmfoa53KHCo6OnlXLG7eeMWPfB5CrpVKg==", - "dependencies": { - "cross-fetch": "^3.0.4", - "fbjs-css-vars": "^1.0.0", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" - } - }, - "node_modules/fbjs-css-vars": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", - "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" - }, - "node_modules/feed": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", - "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", - "dependencies": { - "xml-js": "^1.6.11" - }, - "engines": { - "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==", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "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/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "optional": true - }, - "node_modules/filesize": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz", - "integrity": "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flux": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flux/-/flux-4.0.1.tgz", - "integrity": "sha512-emk4RCvJ8RzNP2lNpphKnG7r18q8elDYNAPx7xn+bDeOIo9FFfxEfIQ2y6YbQNmnsGD3nH1noxtLE64Puz1bRQ==", - "dependencies": { - "fbemitter": "^3.0.0", - "fbjs": "^3.0.0" - }, - "peerDependencies": { - "react": "^15.0.2 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/follow-redirects": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", - "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz", - "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==", - "dependencies": { - "@babel/code-frame": "^7.5.5", - "chalk": "^2.4.1", - "micromatch": "^3.1.10", - "minimatch": "^3.0.4", - "semver": "^5.6.0", - "tapable": "^1.0.0", - "worker-rpc": "^0.1.0" - }, - "engines": { - "node": ">=6.11.5", - "yarn": ">=1.0.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/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/fork-ts-checker-webpack-plugin/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz", - "integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==", - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://www.patreon.com/infusion" - } - }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dependencies": { - "map-cache": "^0.2.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", - "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - }, - "node_modules/get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/github-slugger": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.3.0.tgz", - "integrity": "sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q==", - "dependencies": { - "emoji-regex": ">=6.0.0 <=6.1.1" - } - }, - "node_modules/github-slugger/node_modules/emoji-regex": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz", - "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=" - }, - "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "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==" - }, - "node_modules/global-dirs": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz", - "integrity": "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==", - "dependencies": { - "ini": "2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/global-dirs/node_modules/ini": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", - "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/global-modules": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", - "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/got": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", - "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dependencies": { - "@sindresorhus/is": "^0.14.0", - "@szmarczak/http-timer": "^1.1.2", - "cacheable-request": "^6.0.0", - "decompress-response": "^3.3.0", - "duplexer3": "^0.1.4", - "get-stream": "^4.1.0", - "lowercase-keys": "^1.0.1", - "mimic-response": "^1.0.1", - "p-cancelable": "^1.0.0", - "to-readable-stream": "^1.0.0", - "url-parse-lax": "^3.0.0" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" - }, - "node_modules/gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", - "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", - "dependencies": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "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==" - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-yarn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", - "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/hast-to-hyperscript": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz", - "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==", - "dependencies": { - "@types/unist": "^2.0.3", - "comma-separated-tokens": "^1.0.0", - "property-information": "^5.3.0", - "space-separated-tokens": "^1.0.0", - "style-to-object": "^0.3.0", - "unist-util-is": "^4.0.0", - "web-namespaces": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz", - "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==", - "dependencies": { - "@types/parse5": "^5.0.0", - "hastscript": "^6.0.0", - "property-information": "^5.0.0", - "vfile": "^4.0.0", - "vfile-location": "^3.2.0", - "web-namespaces": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-parse-selector": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", - "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-raw": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz", - "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==", - "dependencies": { - "@types/hast": "^2.0.0", - "hast-util-from-parse5": "^6.0.0", - "hast-util-to-parse5": "^6.0.0", - "html-void-elements": "^1.0.0", - "parse5": "^6.0.0", - "unist-util-position": "^3.0.0", - "vfile": "^4.0.0", - "web-namespaces": "^1.0.0", - "xtend": "^4.0.0", - "zwitch": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-parse5": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz", - "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==", - "dependencies": { - "hast-to-hyperscript": "^9.0.0", - "property-information": "^5.0.0", - "web-namespaces": "^1.0.0", - "xtend": "^4.0.0", - "zwitch": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hastscript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", - "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", - "dependencies": { - "@types/hast": "^2.0.0", - "comma-separated-tokens": "^1.0.0", - "hast-util-parse-selector": "^2.0.0", - "property-information": "^5.0.0", - "space-separated-tokens": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "bin": { - "he": "bin/he" - } - }, - "node_modules/hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" - }, - "node_modules/history": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", - "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", - "dependencies": { - "@babel/runtime": "^7.1.2", - "loose-envify": "^1.2.0", - "resolve-pathname": "^3.0.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0", - "value-equal": "^1.0.1" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" - }, - "node_modules/hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" - }, - "node_modules/html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" - }, - "node_modules/html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", - "dependencies": { - "camel-case": "^4.1.1", - "clean-css": "^4.2.3", - "commander": "^4.1.1", - "he": "^1.2.0", - "param-case": "^3.0.3", - "relateurl": "^0.2.7", - "terser": "^4.6.3" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/html-minifier-terser/node_modules/clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", - "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/html-minifier-terser/node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/html-minifier-terser/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/html-minifier-terser/node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/html-minifier-terser/node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/html-tags": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", - "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/html-void-elements": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", - "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/html-webpack-plugin": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.3.2.tgz", - "integrity": "sha512-HvB33boVNCz2lTyBsSiMffsJ+m0YLIQ+pskblXgN9fnjS1BgEcuAfdInfXfGrkdXV406k9FiDi86eVCDBgJOyQ==", - "dependencies": { - "@types/html-minifier-terser": "^5.0.0", - "html-minifier-terser": "^5.0.1", - "lodash": "^4.17.21", - "pretty-error": "^3.0.4", - "tapable": "^2.0.0" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/html-webpack-plugin" - }, - "peerDependencies": { - "webpack": "^5.20.0" - } - }, - "node_modules/htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "dependencies": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/htmlparser2/node_modules/dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", - "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - } - }, - "node_modules/htmlparser2/node_modules/dom-serializer/node_modules/domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/htmlparser2/node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "node_modules/htmlparser2/node_modules/domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "dependencies": { - "domelementtype": "1" - } - }, - "node_modules/htmlparser2/node_modules/domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/htmlparser2/node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - }, - "node_modules/http-cache-semantics": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" - }, - "node_modules/http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-errors/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "node_modules/http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==" - }, - "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==", - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dependencies": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/http-proxy-middleware/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immer": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz", - "integrity": "sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/immer" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "engines": { - "node": ">=4" - } - }, - "node_modules/import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "dependencies": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/import-local/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" - } - }, - "node_modules/import-local/node_modules/pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/infima": { - "version": "0.2.0-alpha.26", - "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.26.tgz", - "integrity": "sha512-0/Dt+89mf8xW+9/hKGmynK+WOAsiy0QydVJL0qie6WK57yGIQv+SjJrhMybKndnmkZBQ+Vlt0tWPnTakx8X2Qw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "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==" - }, - "node_modules/internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", - "dependencies": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - }, - "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "engines": { - "node": ">=4" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-arguments": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", - "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", - "dependencies": { - "call-bind": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "node_modules/is-bigint": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", - "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", - "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", - "dependencies": { - "call-bind": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "node_modules/is-callable": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", - "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-ci/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - }, - "node_modules/is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "dependencies": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "node_modules/is-color-stop/node_modules/css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "engines": { - "node": "*" - } - }, - "node_modules/is-core-module": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", - "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-date-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", - "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dependencies": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-descriptor/node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "engines": { - "node": ">=4" - } - }, - "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-installed-globally": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", - "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-npm": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz", - "integrity": "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", - "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", - "dependencies": { - "is-path-inside": "^2.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-in-cwd/node_modules/is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", - "dependencies": { - "path-is-inside": "^1.0.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regex": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", - "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", - "dependencies": { - "call-bind": "^1.0.2", - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" - }, - "node_modules/is-root": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", - "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-string": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", - "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "node_modules/is-whitespace-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", - "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-word-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", - "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-yarn-global": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", - "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-worker": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.6.tgz", - "integrity": "sha512-qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA==", - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/joi": { - "version": "17.4.1", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.4.1.tgz", - "integrity": "sha512-gDPOwQ5sr+BUxXuPDGrC1pSNcVR/yGGcTI0aCnjYxZEa3za60K/iCQ+OFIkEHWZGVCUcUlXlFKvMmrlmxrG6UQ==", - "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.0", - "@sideway/formula": "^3.0.0", - "@sideway/pinpoint": "^2.0.0" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - }, - "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==" - }, - "node_modules/json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" - }, - "node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/keyv": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", - "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dependencies": { - "json-buffer": "3.0.0" - } - }, - "node_modules/killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "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/klona": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", - "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/latest-version": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", - "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", - "dependencies": { - "package-json": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" - }, - "node_modules/loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.assignin": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", - "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" - }, - "node_modules/lodash.bind": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", - "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" - }, - "node_modules/lodash.curry": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz", - "integrity": "sha1-JI42By7ekGUB11lmIAqG2riyMXA=" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" - }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" - }, - "node_modules/lodash.filter": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", - "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" - }, - "node_modules/lodash.flow": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", - "integrity": "sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o=" - }, - "node_modules/lodash.foreach": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", - "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" - }, - "node_modules/lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - }, - "node_modules/lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" - }, - "node_modules/lodash.reduce": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" - }, - "node_modules/lodash.reject": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", - "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" - }, - "node_modules/lodash.some": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", - "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" - }, - "node_modules/lodash.toarray": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", - "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" - }, - "node_modules/loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==", - "engines": { - "node": ">= 0.6.0" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/loglevel" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", - "dependencies": { - "tslib": "^2.0.3" - } - }, - "node_modules/lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dependencies": { - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/markdown-escapes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", - "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-squeeze-paragraphs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz", - "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==", - "dependencies": { - "unist-util-remove": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-definitions": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", - "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", - "dependencies": { - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz", - "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "mdast-util-definitions": "^4.0.0", - "mdurl": "^1.0.0", - "unist-builder": "^2.0.0", - "unist-util-generated": "^1.0.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", - "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "node_modules/memory-fs/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/memory-fs/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/microevent.ts": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", - "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" - }, - "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "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==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.48.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", - "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.31", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", - "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", - "dependencies": { - "mime-db": "1.48.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/mini-create-react-context": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz", - "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==", - "dependencies": { - "@babel/runtime": "^7.12.1", - "tiny-warning": "^1.0.3" - }, - "peerDependencies": { - "prop-types": "^15.0.0", - "react": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", - "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", - "dependencies": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "webpack-sources": "^1.1.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.4.0 || ^5.0.0" - } - }, - "node_modules/mini-css-extract-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mini-css-extract-plugin/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==", - "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "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==" - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/module-alias": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/module-alias/-/module-alias-2.2.2.tgz", - "integrity": "sha512-A/78XjoX2EmNvppVWEhM2oGk3x4lLxnkEA4jTbaK97QKSDjkIoOsKQlfylt/d3kKKi596Qy3NP5XrXJ6fZIC9Q==" - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dependencies": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" - }, - "node_modules/nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", - "optional": true - }, - "node_modules/nanoid": { - "version": "3.1.23", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz", - "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nanomatch/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nanomatch/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/node-emoji": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", - "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", - "dependencies": { - "lodash.toarray": "^4.4.0" - } - }, - "node_modules/node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", - "engines": { - "node": "4.x || >=6.0.0" - } - }, - "node_modules/node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/node-releases": { - "version": "1.1.73", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz", - "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dependencies": { - "path-key": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "engines": { - "node": ">=4" - } - }, - "node_modules/nprogress": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", - "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=" - }, - "node_modules/nth-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz", - "integrity": "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dependencies": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-copy/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dependencies": { - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.values": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", - "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "bin": { - "opener": "bin/opener-bin.js" - } - }, - "node_modules/opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", - "dependencies": { - "is-wsl": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/opn/node_modules/is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "engines": { - "node": ">=4" - } - }, - "node_modules/original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "dependencies": { - "url-parse": "^1.4.3" - } - }, - "node_modules/p-cancelable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", - "dependencies": { - "retry": "^0.12.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", - "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", - "dependencies": { - "got": "^9.6.0", - "registry-auth-token": "^4.0.0", - "registry-url": "^5.0.0", - "semver": "^6.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/package-json/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", - "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-numeric-range": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.2.0.tgz", - "integrity": "sha512-1q2tXpAOplPxcl8vrIGPWz1dJxxfmdRkCFcpxxMBerDnGuuHalOWF/xj9L8Nn5XoTUoB/6F0CeQBp2fMgkOYFg==" - }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" - } - }, - "node_modules/portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dependencies": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postcss": { - "version": "8.3.5", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.5.tgz", - "integrity": "sha512-NxTuJocUhYGsMiMFHDUkmjSKT3EdH4/WbGF6GCi1NDGk+vbcUTun4fpbOqaPtD8IIsztA2ilZm2DhYCuyN58gA==", - "dependencies": { - "colorette": "^1.2.2", - "nanoid": "^3.1.23", - "source-map-js": "^0.6.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-calc": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", - "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", - "dependencies": { - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - }, - "peerDependencies": { - "postcss": "^8.2.2" - } - }, - "node_modules/postcss-colormin": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.0.tgz", - "integrity": "sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw==", - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "colord": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-convert-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz", - "integrity": "sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg==", - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-comments": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", - "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-duplicates": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", - "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-empty": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", - "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-overridden": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", - "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-discard-unused": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.0.1.tgz", - "integrity": "sha512-tD6xR/xyZTwfhKYRw0ylfCY8wbfhrjpKAMnDKRTLMy2fNW5hl0hoV6ap5vo2JdCkuHkP3CHw72beO4Y8pzFdww==", - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-loader": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-5.3.0.tgz", - "integrity": "sha512-/+Z1RAmssdiSLgIZwnJHwBMnlABPgF7giYzTN2NOfr9D21IJZ4mQC1R2miwp80zno9M4zMD/umGI8cR+2EL5zw==", - "dependencies": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.4", - "semver": "^7.3.4" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - } - }, - "node_modules/postcss-merge-idents": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.0.1.tgz", - "integrity": "sha512-xu8ueVU0RszbI2gKkxR6mluupsOSSLvt8q4gA2fcKFkA+x6SlH3cb4cFHpDvcRCNFbUmCR/VUub+Y6zPOjPx+Q==", - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-longhand": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz", - "integrity": "sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw==", - "dependencies": { - "css-color-names": "^1.0.1", - "postcss-value-parser": "^4.1.0", - "stylehacks": "^5.0.1" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-merge-rules": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz", - "integrity": "sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==", - "dependencies": { - "browserslist": "^4.16.6", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^2.0.1", - "postcss-selector-parser": "^6.0.5", - "vendors": "^1.0.3" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-font-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", - "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-gradients": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.1.tgz", - "integrity": "sha512-odOwBFAIn2wIv+XYRpoN2hUV3pPQlgbJ10XeXPq8UY2N+9ZG42xu45lTn/g9zZ+d70NKSQD6EOi6UiCMu3FN7g==", - "dependencies": { - "cssnano-utils": "^2.0.1", - "is-color-stop": "^1.1.0", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-params": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz", - "integrity": "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==", - "dependencies": { - "alphanum-sort": "^1.0.2", - "browserslist": "^4.16.0", - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0", - "uniqs": "^2.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-minify-selectors": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", - "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", - "dependencies": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "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==", - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", - "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", - "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-normalize-charset": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", - "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-display-values": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", - "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-positions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", - "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-repeat-style": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", - "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-string": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", - "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-timing-functions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", - "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-unicode": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", - "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", - "dependencies": { - "browserslist": "^4.16.0", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-url": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz", - "integrity": "sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==", - "dependencies": { - "is-absolute-url": "^3.0.3", - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-normalize-whitespace": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", - "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-ordered-values": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", - "integrity": "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==", - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-idents": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.0.1.tgz", - "integrity": "sha512-6Rw8iIVFbqtaZExgWK1rpVgP7DPFRPh0DDFZxJ/ADNqPiH10sPCoq5tgo6kLiTyfh9sxjKYjXdc8udLEcPOezg==", - "dependencies": { - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-initial": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz", - "integrity": "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==", - "dependencies": { - "browserslist": "^4.16.0", - "caniuse-api": "^3.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-reduce-transforms": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", - "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", - "dependencies": { - "cssnano-utils": "^2.0.1", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", - "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-sort-media-queries": { - "version": "3.11.12", - "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-3.11.12.tgz", - "integrity": "sha512-PNhEOWR/btZ0bNNRqqdW4TWxBPQ1mu2I6/Zpco80vBUDSyEjtduUAorY0Vm68rvDlGea3+sgEnQ36iQ1A/gG8Q==", - "dependencies": { - "sort-css-media-queries": "1.5.4" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "postcss": "^8.3.1" - } - }, - "node_modules/postcss-svgo": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.2.tgz", - "integrity": "sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A==", - "dependencies": { - "postcss-value-parser": "^4.1.0", - "svgo": "^2.3.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-unique-selectors": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz", - "integrity": "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==", - "dependencies": { - "alphanum-sort": "^1.0.2", - "postcss-selector-parser": "^6.0.5", - "uniqs": "^2.0.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" - }, - "node_modules/postcss-zindex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.0.1.tgz", - "integrity": "sha512-nwgtJJys+XmmSGoYCcgkf/VczP8Mp/0OfSv3v0+fw0uABY4yxw+eFs0Xp9nAZHIKnS5j+e9ywQ+RD+ONyvl5pA==", - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/prepend-http": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "engines": { - "node": ">=4" - } - }, - "node_modules/pretty-error": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-3.0.4.tgz", - "integrity": "sha512-ytLFLfv1So4AO1UkoBF6GXQgJRaKbiSiGFICaOPNwQ3CMvBvXpLRubeQWyPGnsbV/t9ml9qto6IeCsho0aEvwQ==", - "dependencies": { - "lodash": "^4.17.20", - "renderkid": "^2.0.6" - } - }, - "node_modules/pretty-time": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", - "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/prism-react-renderer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.2.1.tgz", - "integrity": "sha512-w23ch4f75V1Tnz8DajsYKvY5lF7H1+WvzvLUcF0paFxkTHSp42RS0H5CttdN2Q8RR3DRGZ9v5xD/h3n8C8kGmg==", - "peerDependencies": { - "react": ">=0.14.9" - } - }, - "node_modules/prismjs": { - "version": "1.24.1", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.24.1.tgz", - "integrity": "sha512-mNPsedLuk90RVJioIky8ANZEwYm5w9LcvCXrxHlwf4fNVSn8jEipMybMkWUyyF0JhnC+C4VcOVSBuHRKs1L5Ow==" - }, - "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==" - }, - "node_modules/promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dependencies": { - "asap": "~2.0.3" - } - }, - "node_modules/prompts": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz", - "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "node_modules/property-information": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", - "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", - "dependencies": { - "xtend": "^4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/proxy-addr": { - "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==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/pupa": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz", - "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==", - "dependencies": { - "escape-goat": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pure-color": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz", - "integrity": "sha1-H+Bk+wrIUfDeYTIKi/eWg2Qi8z4=" - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "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/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/react": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", - "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-base16-styling": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz", - "integrity": "sha1-7yFW1mz0E5aVyKFniGy2nqZgeSw=", - "dependencies": { - "base16": "^1.0.0", - "lodash.curry": "^4.0.1", - "lodash.flow": "^3.3.0", - "pure-color": "^1.2.0" - } - }, - "node_modules/react-dev-utils": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.4.tgz", - "integrity": "sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==", - "dependencies": { - "@babel/code-frame": "7.10.4", - "address": "1.1.2", - "browserslist": "4.14.2", - "chalk": "2.4.2", - "cross-spawn": "7.0.3", - "detect-port-alt": "1.1.6", - "escape-string-regexp": "2.0.0", - "filesize": "6.1.0", - "find-up": "4.1.0", - "fork-ts-checker-webpack-plugin": "4.1.6", - "global-modules": "2.0.0", - "globby": "11.0.1", - "gzip-size": "5.1.1", - "immer": "8.0.1", - "is-root": "2.1.0", - "loader-utils": "2.0.0", - "open": "^7.0.2", - "pkg-up": "3.1.0", - "prompts": "2.4.0", - "react-error-overlay": "^6.0.9", - "recursive-readdir": "2.2.2", - "shell-quote": "1.7.2", - "strip-ansi": "6.0.0", - "text-table": "0.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/react-dev-utils/node_modules/@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/react-dev-utils/node_modules/browserslist": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.2.tgz", - "integrity": "sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==", - "dependencies": { - "caniuse-lite": "^1.0.30001125", - "electron-to-chromium": "^1.3.564", - "escalade": "^3.0.2", - "node-releases": "^1.1.61" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - }, - "node_modules/react-dev-utils/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/react-dev-utils/node_modules/chalk/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/react-dev-utils/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/react-dev-utils/node_modules/detect-port-alt": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", - "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", - "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" - } - }, - "node_modules/react-dev-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/react-dev-utils/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/react-dev-utils/node_modules/prompts": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz", - "integrity": "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==", - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/react-device-detect": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/react-device-detect/-/react-device-detect-1.17.0.tgz", - "integrity": "sha512-bBblIStwpHmoS281JFIVqeimcN3LhpoP5YKDWzxQdBIUP8S2xPvHDgizLDhUq2ScguLfVPmwfF5y268EEQR60w==", - "dependencies": { - "ua-parser-js": "^0.7.24" - }, - "peerDependencies": { - "react": ">= 0.14.0 < 18.0.0", - "react-dom": ">= 0.14.0 < 18.0.0" - } - }, - "node_modules/react-dom": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", - "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "scheduler": "^0.20.2" - }, - "peerDependencies": { - "react": "17.0.2" - } - }, - "node_modules/react-error-overlay": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", - "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==" - }, - "node_modules/react-fast-compare": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", - "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" - }, - "node_modules/react-helmet": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz", - "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==", - "dependencies": { - "object-assign": "^4.1.1", - "prop-types": "^15.7.2", - "react-fast-compare": "^3.1.1", - "react-side-effect": "^2.1.0" - }, - "peerDependencies": { - "react": ">=16.3.0" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/react-json-view": { - "version": "1.21.3", - "resolved": "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz", - "integrity": "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==", - "dependencies": { - "flux": "^4.0.1", - "react-base16-styling": "^0.6.0", - "react-lifecycles-compat": "^3.0.4", - "react-textarea-autosize": "^8.3.2" - }, - "peerDependencies": { - "react": "^17.0.0 || ^16.3.0 || ^15.5.4", - "react-dom": "^17.0.0 || ^16.3.0 || ^15.5.4" - } - }, - "node_modules/react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - }, - "node_modules/react-loadable": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/react-loadable/-/react-loadable-5.5.0.tgz", - "integrity": "sha512-C8Aui0ZpMd4KokxRdVAm2bQtI03k2RMRNzOB+IipV3yxFTSVICv7WoUr5L9ALB5BmKO1iHgZtWM8EvYG83otdg==", - "dependencies": { - "prop-types": "^15.5.0" - }, - "peerDependencies": { - "react": "*" - } - }, - "node_modules/react-loadable-ssr-addon-v5-slorber": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", - "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", - "dependencies": { - "@babel/runtime": "^7.10.3" - }, - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "react-loadable": "*", - "webpack": ">=4.41.1 || 5.x" - } - }, - "node_modules/react-router": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz", - "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==", - "dependencies": { - "@babel/runtime": "^7.1.2", - "history": "^4.9.0", - "hoist-non-react-statics": "^3.1.0", - "loose-envify": "^1.3.1", - "mini-create-react-context": "^0.4.0", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.2", - "react-is": "^16.6.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-router-config": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", - "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", - "dependencies": { - "@babel/runtime": "^7.1.2" - }, - "peerDependencies": { - "react": ">=15", - "react-router": ">=5" - } - }, - "node_modules/react-router-dom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", - "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", - "dependencies": { - "@babel/runtime": "^7.1.2", - "history": "^4.9.0", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.2", - "react-router": "5.2.0", - "tiny-invariant": "^1.0.2", - "tiny-warning": "^1.0.0" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-router/node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "node_modules/react-router/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==", - "dependencies": { - "isarray": "0.0.1" - } - }, - "node_modules/react-side-effect": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.1.tgz", - "integrity": "sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ==", - "peerDependencies": { - "react": "^16.3.0 || ^17.0.0" - } - }, - "node_modules/react-textarea-autosize": { - "version": "8.3.3", - "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.3.tgz", - "integrity": "sha512-2XlHXK2TDxS6vbQaoPbMOfQ8GK7+irc2fVK6QFIcC8GOnH3zI/v481n+j1L0WaPVvKxwesnY93fEfH++sus2rQ==", - "dependencies": { - "@babel/runtime": "^7.10.2", - "use-composed-ref": "^1.0.0", - "use-latest": "^1.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0" - } - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/reading-time": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.3.0.tgz", - "integrity": "sha512-RJ8J5O6UvrclfZpcPSPuKusrdRfoY7uXXoYOOdeswZNtSkQaewT3919yz6RyloDBR+iwcUyz5zGOUjhgvfuv3g==" - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", - "dependencies": { - "minimatch": "3.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==" - }, - "node_modules/regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", - "dependencies": { - "regenerate": "^1.4.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - }, - "node_modules/regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dependencies": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regex-not/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regex-not/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", - "dependencies": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/registry-auth-token": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", - "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", - "dependencies": { - "rc": "^1.2.8" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/registry-url": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", - "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", - "dependencies": { - "rc": "^1.2.8" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" - }, - "node_modules/regjsparser": { - "version": "0.6.9", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz", - "integrity": "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/rehype-parse": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-6.0.2.tgz", - "integrity": "sha512-0S3CpvpTAgGmnz8kiCyFLGuW5yA4OQhyNTm/nwPopZ7+PI11WnGl1TTWTGv/2hPEe/g2jRLlhVVSsoDH8waRug==", - "dependencies": { - "hast-util-from-parse5": "^5.0.0", - "parse5": "^5.0.0", - "xtend": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-parse/node_modules/hast-util-from-parse5": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-5.0.3.tgz", - "integrity": "sha512-gOc8UB99F6eWVWFtM9jUikjN7QkWxB3nY0df5Z0Zq1/Nkwl5V4hAAsl0tmwlgWl/1shlTF8DnNYLO8X6wRV9pA==", - "dependencies": { - "ccount": "^1.0.3", - "hastscript": "^5.0.0", - "property-information": "^5.0.0", - "web-namespaces": "^1.1.2", - "xtend": "^4.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-parse/node_modules/hastscript": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-5.1.2.tgz", - "integrity": "sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==", - "dependencies": { - "comma-separated-tokens": "^1.0.0", - "hast-util-parse-selector": "^2.0.0", - "property-information": "^5.0.0", - "space-separated-tokens": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-parse/node_modules/parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/remark-admonitions": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/remark-admonitions/-/remark-admonitions-1.2.1.tgz", - "integrity": "sha512-Ji6p68VDvD+H1oS95Fdx9Ar5WA2wcDA4kwrrhVU7fGctC6+d3uiMICu7w7/2Xld+lnU7/gi+432+rRbup5S8ow==", - "dependencies": { - "rehype-parse": "^6.0.2", - "unified": "^8.4.2", - "unist-util-visit": "^2.0.1" - } - }, - "node_modules/remark-admonitions/node_modules/unified": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", - "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==", - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-emoji": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz", - "integrity": "sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==", - "dependencies": { - "emoticon": "^3.2.0", - "node-emoji": "^1.10.0", - "unist-util-visit": "^2.0.3" - } - }, - "node_modules/remark-footnotes": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz", - "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-mdx": { - "version": "1.6.22", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz", - "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==", - "dependencies": { - "@babel/core": "7.12.9", - "@babel/helper-plugin-utils": "7.10.4", - "@babel/plugin-proposal-object-rest-spread": "7.12.1", - "@babel/plugin-syntax-jsx": "7.12.1", - "@mdx-js/util": "1.6.22", - "is-alphabetical": "1.0.4", - "remark-parse": "8.0.3", - "unified": "9.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-mdx/node_modules/@babel/core": { - "version": "7.12.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz", - "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==", - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.5", - "@babel/parser": "^7.12.7", - "@babel/template": "^7.12.7", - "@babel/traverse": "^7.12.9", - "@babel/types": "^7.12.7", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/remark-mdx/node_modules/@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - }, - "node_modules/remark-mdx/node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/remark-mdx/node_modules/@babel/plugin-syntax-jsx": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", - "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/remark-mdx/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/remark-parse": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", - "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", - "dependencies": { - "ccount": "^1.0.0", - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^2.0.0", - "vfile-location": "^3.0.0", - "xtend": "^4.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-squeeze-paragraphs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz", - "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==", - "dependencies": { - "mdast-squeeze-paragraphs": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "node_modules/renderkid": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz", - "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==", - "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^3.0.1" - } - }, - "node_modules/renderkid/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/renderkid/node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/renderkid/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-like": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", - "integrity": "sha1-rW8wwTvs15cBDEaK+ndcDAprR/o=", - "engines": { - "node": "*" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" - }, - "node_modules/resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dependencies": { - "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pathname": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", - "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated" - }, - "node_modules/responselike": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", - "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dependencies": { - "lowercase-keys": "^1.0.0" - } - }, - "node_modules/ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "engines": { - "node": ">=0.12" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" - }, - "node_modules/rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rtl-detect": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.0.3.tgz", - "integrity": "sha512-2sMcZO60tL9YDEFe24gqddg3hJ+xSmJFN8IExcQUxeHxQzydQrN6GHPL+yAWgzItXSI7es53hcZC9pJneuZDKA==" - }, - "node_modules/rtlcss": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-3.3.0.tgz", - "integrity": "sha512-XZ2KEatH2nU5yPlts1Wu8SGIuZ3ndN025HQX5MqtUCUiOn5WkCDbcpJ2VJWjpuFmM2cUTQ1xtH21fhMCSseI5A==", - "dependencies": { - "chalk": "^4.1.0", - "find-up": "^5.0.0", - "mkdirp": "^1.0.4", - "postcss": "^8.2.4", - "strip-json-comments": "^3.1.1" - }, - "bin": { - "rtlcss": "bin/rtlcss.js" - }, - "peerDependencies": { - "postcss": "^8.2.4" - } - }, - "node_modules/rtlcss/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/rtlcss/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/rtlcss/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/rtlcss/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/rtlcss/node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/rxjs/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dependencies": { - "ret": "~0.1.10" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "node_modules/scheduler": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", - "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", - "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "node_modules/schema-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz", - "integrity": "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==", - "dependencies": { - "@types/json-schema": "^7.0.7", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" - }, - "node_modules/selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", - "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", - "dependencies": { - "node-forge": "^0.10.0" - } - }, - "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver-diff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", - "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", - "dependencies": { - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/semver-diff/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "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": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-handler": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz", - "integrity": "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==", - "dependencies": { - "bytes": "3.0.0", - "content-disposition": "0.5.2", - "fast-url-parser": "1.1.3", - "mime-types": "2.1.18", - "minimatch": "3.0.4", - "path-is-inside": "1.0.2", - "path-to-regexp": "2.2.1", - "range-parser": "1.2.0" - } - }, - "node_modules/serve-handler/node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/serve-handler/node_modules/content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-handler/node_modules/mime-db": { - "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==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-handler/node_modules/mime-types": { - "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==", - "dependencies": { - "mime-db": "~1.33.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "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==" - }, - "node_modules/serve-handler/node_modules/range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "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==" - }, - "node_modules/serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "node_modules/set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", - "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" - }, - "node_modules/shelljs": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz", - "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==", - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "node_modules/sirv": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.12.tgz", - "integrity": "sha512-+jQoCxndz7L2tqQL4ZyzfDhky0W/4ZJip3XoOuxyQWnAwMxindLl3Xv1qT4x1YX/re0leShvTm8Uk0kQspGhBg==", - "dependencies": { - "@polka/url": "^1.0.0-next.15", - "mime": "^2.3.1", - "totalist": "^1.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/sirv/node_modules/mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "node_modules/sitemap": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.0.0.tgz", - "integrity": "sha512-Ud0jrRQO2k7fEtPAM+cQkBKoMvxQyPKNXKDLn8tRVHxRCsdDQ2JZvw+aZ5IRYYQVAV9iGxEar6boTwZzev+x3g==", - "dependencies": { - "@types/node": "^15.0.1", - "@types/sax": "^1.2.1", - "arg": "^5.0.0", - "sax": "^1.2.4" - }, - "bin": { - "sitemap": "dist/cli.js" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=5.6.0" - } - }, - "node_modules/sitemap/node_modules/@types/node": { - "version": "15.14.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.2.tgz", - "integrity": "sha512-dvMUE/m2LbXPwlvVuzCyslTEtQ2ZwuuFClDrOQ6mp2CenCg971719PTILZ4I6bTP27xfFFc+o7x2TkLuun/MPw==" - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dependencies": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dependencies": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dependencies": { - "kind-of": "^3.2.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/snapdragon/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/snapdragon/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/sockjs-client": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz", - "integrity": "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==", - "dependencies": { - "debug": "^3.2.6", - "eventsource": "^1.0.7", - "faye-websocket": "^0.11.3", - "inherits": "^2.0.4", - "json3": "^3.3.3", - "url-parse": "^1.5.1" - } - }, - "node_modules/sockjs-client/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/sort-css-media-queries": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-1.5.4.tgz", - "integrity": "sha512-YP5W/h4Sid/YP7Lp87ejJ5jP13/Mtqt2vx33XyhO+IAugKlufRPbOrPlIiEUuxmpNBSBd3EeeQpFhdu3RfI2Ag==", - "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.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", - "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated" - }, - "node_modules/space-separated-tokens": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", - "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dependencies": { - "extend-shallow": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split-string/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split-string/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" - }, - "node_modules/state-toggle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", - "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dependencies": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/static-extend/node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dependencies": { - "is-descriptor": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/std-env": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.3.0.tgz", - "integrity": "sha512-4qT5B45+Kjef2Z6pE0BkskzsH0GO7GrND0wGlTM1ioUe3v0dGYx9ZJH0Aro/YyA8fqQ5EyIKDRjZojJYMFTflw==", - "dependencies": { - "ci-info": "^3.0.0" - } - }, - "node_modules/string_decoder": { - "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==", - "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": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/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==" - }, - "node_modules/string-width/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stringify-object/node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/style-to-object": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", - "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", - "dependencies": { - "inline-style-parser": "0.1.1" - } - }, - "node_modules/stylehacks": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", - "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", - "dependencies": { - "browserslist": "^4.16.0", - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } - }, - "node_modules/supertokens-js-override": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/supertokens-js-override/-/supertokens-js-override-0.0.4.tgz", - "integrity": "sha512-r0JFBjkMIdep3Lbk3JA+MpnpuOtw4RSyrlRAbrzMcxwiYco3GFWl/daimQZ5b1forOiUODpOlXbSOljP/oyurg==" - }, - "node_modules/supertokens-website": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/supertokens-website/-/supertokens-website-20.0.1.tgz", - "integrity": "sha512-lP9G2Bf0lQ1WMmS++q8ZsyeTpSsGOKzhOZyxm+xd47U6ukqFKLva687CyIZTqcLq1EStOPoYGbkmPdaaWQMcTw==", - "dependencies": { - "browser-tabs-lock": "^1.3.0", - "supertokens-js-override": "^0.0.4" - } - }, - "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/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==" - }, - "node_modules/svgo": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.3.1.tgz", - "integrity": "sha512-riDDIQgXpEnn0BEl9Gvhh1LNLIyiusSpt64IR8upJu7MwxnzetmF/Y57pXQD2NMX2lVyMRzXt5f2M5rO4wG7Dw==", - "dependencies": { - "@trysound/sax": "0.1.1", - "chalk": "^4.1.0", - "commander": "^7.1.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.2", - "csso": "^4.2.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/tapable": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", - "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz", - "integrity": "sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==", - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz", - "integrity": "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==", - "dependencies": { - "jest-worker": "^27.0.2", - "p-limit": "^3.1.0", - "schema-utils": "^3.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/terser/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - }, - "node_modules/timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" - }, - "node_modules/tiny-invariant": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz", - "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" - }, - "node_modules/tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-object-path/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-readable-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dependencies": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/to-regex/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/totalist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", - "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", - "engines": { - "node": ">=6" - } - }, - "node_modules/trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" - }, - "node_modules/trim-trailing-lines": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", - "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", - "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/ts-essentials": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-2.0.12.tgz", - "integrity": "sha512-3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w==" - }, - "node_modules/tslib": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typescript": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", - "integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/ua-parser-js": { - "version": "0.7.28", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz", - "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - } - ], - "engines": { - "node": "*" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dependencies": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unherit": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", - "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", - "dependencies": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", - "engines": { - "node": ">=4" - } - }, - "node_modules/unified": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", - "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==", - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified/node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, - "node_modules/union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "dependencies": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" - }, - "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dependencies": { - "crypto-random-string": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/unist-builder": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", - "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-generated": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", - "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", - "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", - "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz", - "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==", - "dependencies": { - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove-position": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", - "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", - "dependencies": { - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", - "dependencies": { - "@types/unist": "^2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", - "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", - "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" - }, - "node_modules/unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dependencies": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dependencies": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dependencies": { - "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/unset-value/node_modules/has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/update-notifier": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz", - "integrity": "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==", - "dependencies": { - "boxen": "^5.0.0", - "chalk": "^4.1.0", - "configstore": "^5.0.1", - "has-yarn": "^2.1.0", - "import-lazy": "^2.1.0", - "is-ci": "^2.0.0", - "is-installed-globally": "^0.4.0", - "is-npm": "^5.0.0", - "is-yarn-global": "^0.3.0", - "latest-version": "^5.1.0", - "pupa": "^2.1.1", - "semver": "^7.3.4", - "semver-diff": "^3.1.1", - "xdg-basedir": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/yeoman/update-notifier?sponsor=1" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "deprecated": "Please see https://github.com/lydell/urix#deprecated" - }, - "node_modules/url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dependencies": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "node_modules/url-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", - "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", - "dependencies": { - "loader-utils": "^2.0.0", - "mime-types": "^2.1.27", - "schema-utils": "^3.0.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "file-loader": "*", - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "file-loader": { - "optional": true - } - } - }, - "node_modules/url-parse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz", - "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/url-parse-lax": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", - "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dependencies": { - "prepend-http": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/url/node_modules/punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - }, - "node_modules/use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/use-composed-ref": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.1.0.tgz", - "integrity": "sha512-my1lNHGWsSDAhhVAT4MKs6IjBUtG6ZG11uUqexPH9PptiIZDQOzaF4f5tEbJ2+7qvNbtXNBbU3SfmN+fXlWDhg==", - "dependencies": { - "ts-essentials": "^2.0.3" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0" - } - }, - "node_modules/use-isomorphic-layout-effect": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz", - "integrity": "sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/use-latest": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.0.tgz", - "integrity": "sha512-d2TEuG6nSLKQLAfW3By8mKr8HurOlTkul0sOpxbClIv4SQ4iOd7BYr7VIzdbktUCnv7dua/60xzd8igMU6jmyw==", - "dependencies": { - "use-isomorphic-layout-effect": "^1.0.0" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" - }, - "node_modules/utility-types": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz", - "integrity": "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==", - "engines": { - "node": ">= 4" - } - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/value-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", - "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-location": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", - "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile/node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } - }, - "node_modules/wait-on": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-5.3.0.tgz", - "integrity": "sha512-DwrHrnTK+/0QFaB9a8Ol5Lna3k7WvUR4jzSKmz0YaPBpuN2sACyiPVKVfj6ejnjcajAcvn3wlbTyMIn9AZouOg==", - "dependencies": { - "axios": "^0.21.1", - "joi": "^17.3.0", - "lodash": "^4.17.21", - "minimist": "^1.2.5", - "rxjs": "^6.6.3" - }, - "bin": { - "wait-on": "bin/wait-on" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/watchpack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", - "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/web-namespaces": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", - "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/webpack": { - "version": "5.44.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.44.0.tgz", - "integrity": "sha512-I1S1w4QLoKmH19pX6YhYN0NiSXaWY8Ou00oA+aMcr9IUGeF5azns+IKBkfoAAG9Bu5zOIzZt/mN35OffBya8AQ==", - "dependencies": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.7.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.2.0", - "webpack-sources": "^2.3.0" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-bundle-analyzer": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz", - "integrity": "sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ==", - "dependencies": { - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "chalk": "^4.1.0", - "commander": "^6.2.0", - "gzip-size": "^6.0.0", - "lodash": "^4.17.20", - "opener": "^1.5.2", - "sirv": "^1.0.7", - "ws": "^7.3.1" - }, - "bin": { - "webpack-bundle-analyzer": "lib/bin/analyzer.js" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", - "dependencies": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-middleware/node_modules/mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/webpack-dev-server": { - "version": "3.11.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", - "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", - "dependencies": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 6.11.5" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/webpack-dev-server/node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/braces/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/webpack-dev-server/node_modules/del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dependencies": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/extend-shallow/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/fill-range/node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/webpack-dev-server/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/webpack-dev-server/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/globby/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dependencies": { - "binary-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dependencies": { - "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/webpack-dev-server/node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dependencies": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/webpack-dev-server/node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/webpack-dev-server/node_modules/schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dependencies": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/webpack-dev-server/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/webpack-dev-server/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/webpack-dev-server/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-dev-server/node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "dependencies": { - "async-limiter": "~1.0.0" - } - }, - "node_modules/webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dependencies": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", - "dependencies": { - "clone-deep": "^4.0.1", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.0.tgz", - "integrity": "sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==", - "dependencies": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack-sources/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/webpackbar": { - "version": "5.0.0-3", - "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.0-3.tgz", - "integrity": "sha512-viW6KCYjMb0NPoDrw2jAmLXU2dEOhRrtku28KmOfeE1vxbfwCYuTbTaMhnkrCZLFAFyY9Q49Z/jzYO80Dw5b8g==", - "dependencies": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.1.0", - "consola": "^2.15.0", - "figures": "^3.2.0", - "pretty-time": "^1.1.0", - "std-env": "^2.2.1", - "text-table": "^0.2.0", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "webpack": "3 || 4 || 5" - } - }, - "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==", - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "node_modules/widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", - "dependencies": { - "string-width": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" - }, - "node_modules/worker-rpc": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz", - "integrity": "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==", - "dependencies": { - "microevent.ts": "~0.1.1" - } - }, - "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==", - "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/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", - "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xdg-basedir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", - "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/xml-js": { - "version": "1.6.11", - "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", - "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", - "dependencies": { - "sax": "^1.2.4" - }, - "bin": { - "xml-js": "bin/cli.js" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "node_modules/yargs-parser/node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yargs/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zwitch": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", - "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - } - }, "dependencies": { "@algolia/autocomplete-core": { "version": "1.5.2", @@ -16482,8 +1840,7 @@ "@mdx-js/react": { "version": "1.6.22", "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz", - "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==", - "requires": {} + "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==" }, "@mdx-js/util": { "version": "1.6.22", @@ -16882,7 +2239,8 @@ "@types/prop-types": { "version": "15.7.4", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", - "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==" + "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==", + "dev": true }, "@types/q": { "version": "1.5.5", @@ -16893,6 +2251,7 @@ "version": "16.14.11", "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.11.tgz", "integrity": "sha512-Don0MtsZZ3fjwTJ2BsoqkyOy7e176KplEAKOpr/4XDdzinlyJBn9yfsKn5mcSgn4kh1B22+3tBnzBC1z63ybtQ==", + "dev": true, "requires": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -16910,7 +2269,8 @@ "@types/scheduler": { "version": "0.16.2", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", + "dev": true }, "@types/unist": { "version": "2.0.5", @@ -17105,14 +2465,12 @@ "ajv-errors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "requires": {} + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" }, "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "requires": {} + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" }, "algoliasearch": { "version": "4.10.3", @@ -18480,8 +3838,7 @@ "cssnano-utils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", - "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", - "requires": {} + "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==" }, "csso": { "version": "4.2.0", @@ -18494,7 +3851,8 @@ "csstype": { "version": "3.0.10", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz", - "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==" + "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==", + "dev": true }, "debug": { "version": "4.3.2", @@ -20307,8 +5665,7 @@ "icss-utils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "requires": {} + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==" }, "ignore": { "version": "5.1.8", @@ -22043,26 +7400,22 @@ "postcss-discard-comments": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", - "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", - "requires": {} + "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==" }, "postcss-discard-duplicates": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", - "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", - "requires": {} + "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==" }, "postcss-discard-empty": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", - "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", - "requires": {} + "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==" }, "postcss-discard-overridden": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", - "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", - "requires": {} + "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==" }, "postcss-discard-unused": { "version": "5.0.1", @@ -22155,8 +7508,7 @@ "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==", - "requires": {} + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==" }, "postcss-modules-local-by-default": { "version": "4.0.0", @@ -22187,8 +7539,7 @@ "postcss-normalize-charset": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", - "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", - "requires": {} + "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==" }, "postcss-normalize-display-values": { "version": "5.0.1", @@ -22339,8 +7690,7 @@ "postcss-zindex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.0.1.tgz", - "integrity": "sha512-nwgtJJys+XmmSGoYCcgkf/VczP8Mp/0OfSv3v0+fw0uABY4yxw+eFs0Xp9nAZHIKnS5j+e9ywQ+RD+ONyvl5pA==", - "requires": {} + "integrity": "sha512-nwgtJJys+XmmSGoYCcgkf/VczP8Mp/0OfSv3v0+fw0uABY4yxw+eFs0Xp9nAZHIKnS5j+e9ywQ+RD+ONyvl5pA==" }, "prepend-http": { "version": "2.0.0", @@ -22364,8 +7714,7 @@ "prism-react-renderer": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.2.1.tgz", - "integrity": "sha512-w23ch4f75V1Tnz8DajsYKvY5lF7H1+WvzvLUcF0paFxkTHSp42RS0H5CttdN2Q8RR3DRGZ9v5xD/h3n8C8kGmg==", - "requires": {} + "integrity": "sha512-w23ch4f75V1Tnz8DajsYKvY5lF7H1+WvzvLUcF0paFxkTHSp42RS0H5CttdN2Q8RR3DRGZ9v5xD/h3n8C8kGmg==" }, "prismjs": { "version": "1.24.1", @@ -22784,8 +8133,7 @@ "react-side-effect": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.1.tgz", - "integrity": "sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ==", - "requires": {} + "integrity": "sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ==" }, "react-textarea-autosize": { "version": "8.3.3", @@ -24013,21 +9361,6 @@ "ci-info": "^3.0.0" } }, - "string_decoder": { - "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==", - "requires": { - "safe-buffer": "~5.2.0" - }, - "dependencies": { - "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==" - } - } - }, "string-width": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", @@ -24068,6 +9401,21 @@ "define-properties": "^1.1.3" } }, + "string_decoder": { + "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==", + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "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==" + } + } + }, "stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", @@ -24691,8 +10039,7 @@ "use-isomorphic-layout-effect": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz", - "integrity": "sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ==", - "requires": {} + "integrity": "sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ==" }, "use-latest": { "version": "1.2.0", @@ -25427,8 +10774,7 @@ "ws": { "version": "7.5.3", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", - "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", - "requires": {} + "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==" }, "xdg-basedir": { "version": "4.0.0", diff --git a/v2/package.json b/v2/package.json index f38c955df..aa0133a05 100644 --- a/v2/package.json +++ b/v2/package.json @@ -4,7 +4,7 @@ "private": true, "scripts": { "docusaurus": "docusaurus", - "start": "docusaurus start --host 0.0.0.0", + "start": "docusaurus start --hot-only --host 0.0.0.0", "build": "./buildDocsForProduction", "build:ios": "MODE=production CODE_TYPE_CHECK=swift npx docusaurus build", "build-ignore-errors": "./buildDocsForProduction true", @@ -48,4 +48,4 @@ "@types/react": "^16.14.11", "typescript": "4.9.3" } -} +} \ No newline at end of file diff --git a/v2/static/img/anomalydetection/sequence-diagram.png b/v2/static/img/anomalydetection/sequence-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..47303a810e885aac92ce9a8b9ec4e694dae1bb90 GIT binary patch literal 209597 zcmV(rK<>YZP)hSSr_&^?@7W*3<=3e8c@()#(=@8f!Zkvb;kbJ4hA(q$J!RfvDX^NB?;C)1j2y;VaQc-&inNH?!BJ%e4g9d`~CiY zCq`Fte(&Dv^4u?Lt-bdC^6Q>^PKaq;v|YmesX-^pAq~77Dpdt{pqOOQZeaEf^6)}qMDiNX0*JQ{E^xGsYmm}4Hhmbb zoX$*08QK7{QOBn5h%=g$1aQ`dI6Tj2D^Xk4Q??6{VJV4Z8_AK+wp7xrq!)BlT)G~` z5R)aHE75W0T|*y738Dh&R5?qU`G*iYJ(~QB2;k|R*F>F_b&J zFIpwyf*_du1jOrrFXNvAE(toL(8G*jiuZaY zzA#;{@<7jJ;#WGozef8;<0DYA@u1j6#O6CqirD2x>*Ccl{t*Kk^ccsocSE0=LO*d% zwIkc*Gp>hDgwZZJ_=1FSiWhRzv;p;U3i_&D7jtOcj=H0D#zWtn4TYjY?v{nV+=!57 z95IFbkM1StSpCk$4Q8`jXD|mw<^li}0t|Lf*&bkAcSd^{x8BKW~0Y zlA-zl6^XBlkLx>QGwx7``4d-XJz&dpO2RD|276AxxF32BK{q1G>kQO&ACqQ>5%PZv zpXf*jE{0*3)_+3IjOIt=@=O;;GpIV~CjUoVcNs}v_;qi1ZVjr7fR(UZBdt30LlOcq zj!&$z;)Kp(4LYi!h`O#xD>g9-)@C&uyzCzA`$#k%jJG2Y%85lUr;GBorWiW%qU#a{ zANS=uY@sxrU=wvqx@S=I%*~w92vsEd0IfDub;&x!q#z~C{Z4!e(V3ip#Wrf)Y393J z?YIodqzS*Z65_9hw~bA~0GF^v3NooM(8FWj?Wu_gv(FZAf(%C5aw-BHCnTpjh^LTRb`$3e5>SfJ#1=7GwfxlMd!JlW(90 z^@5>Yf-IznnFH32yD`qdLzx;X_rJ&1aR-9g=g}dUlD;mUU{{gW2!d)1q$g*B**j^* zpt-QoxGo`f%quyzM~gS&Nr(Jb>*6M_>;C)jzY8@A3bRo`&Xqo<#pXm|%o&oq){UA| zhEUm-Sgwx~>3VW4?q~KR?*q{nZkN~DmT6_Unj0bnFeJ_zc0u0Mf)8)pJVPoMk$^97 zH#UP;<*duaLAb!`;>Lchn|oPVe*WaS+hltMePHN}x(|*L{YH+Md6Lp45P@w2R{aeh zAAPU1$F1F-EQV!20GlW_Km};=n=BHb@D!|($_ET}CAQ~?B_~IoDj^5Xy1M}!)t{lR zB4*VOvj9=`VD>&)kJ5!$t&%#$Y95%h9id*~IwdO3u*UuA4Ub0|4GiB-h$x`52ufq? zEK%stB99FAF$=yDwN=i<$MrC~_km-~qDpiG0lp@?AgT$_yFuRN$%PRI11qU6W&|6s zm`!Lcf437=@i%ax;LozheFZnVxO%LkZx(iGwWvo96Bml71p|Qil82{|xDcvbXF>># zE1fz~2Ok7e44bjHCy$wpmC8K+1EQK#QJvCJ8m&EUDvk&`CjZ2K6PjC!3$n!c_6sWa zOyAK&fEKDg(-C>ufDNE(r2 zBTkU=WGQYQpv|WZ3_^H-<_bQ7@?ttax!x41^b7E6n`?N&CXIG_+Jz);r*Y`Z>Dz5x zWpYM8Tofw-pt4jtU&YNg|KKe=krry_%&B-5+o(6gYaq_zi?^j5fg0QqDcUC$aV8Lm ze&~$+p3=!lny$mRrSvu*hl6+n&@8VR4`s}Xhp$cjry+5kLM732sz?x@rhgbY$^DCh z{H&G-XUy-o19@J%$w-TA#Zl0V_#A;6rUa$8wY(gw`*w1#U{!H2#ua8JITJ7|F=E?9 z4)@}s_rOO}^qDrgBX&Qo9G?(zz0Y)z#Wmjvx5#EEvHKzGC-ivRgjtbVDdds0k0hAXfO_G^mU-dm0a7tr)eTTk=rUwGXj$=E{F5J(+*=909SgS z_gwk7*+bkQ8D!)->frbulIoRCDfse5I=E-$d{|6gr|mKfCpp)p)5%>0foN4!@Db8g z=)#Fyts+BOJ|)b@9XZkye`8;mrTT3u>;*tDKuLHVPjulN+-cN;=0lIiKEz!P7_ z*0PdT-G!kbSg|HnvPZkP*krs+Kc17$#s;{0-GNG8B8UU?NR_U?h0JmSbg%kxGUMq9 zlQwE#7rvNIqyPkrK@Rq9VKGDApkVU1CSu}9iy_tqPonBshCFX?DO{nhg-Z znkyvh9Xs*(*V&@pZDY9ES!YnP)c74-> z?FP?d%Z3&s&8Z=eqQd6~1D0HpOgDV$8zLQrjSu9`>*i@FZFkLtcM|IDtmzZH@DxyL z7RiO;xDpqfG+4xsNjgM~?znyOGj0euC`w=1_l!JISFQ6y#l0$JB%yc;7&fSYqIo?x zMIawoz^Ka%+I)YWx2I6h zf1X~^iIv(*?N=!?au1JT$NMa;?S{yDP|miKp9B0j0|@{bo?vpsMVLg{XPS1EDIPwZ zEYdgid|^VDKCy=l(?>7g2-G0{a?&Ky-f!PB63graU)Zp4fhx- z{%iyKNK@hgPvC_-1nC{WK<5-f@)JV%goiXqoqZtiJIq1NboKdL4uFnxd4I5G}43ejk!6dO*btMww#Ip zKB=9!qBY4<{HHkxL&cf6KLe@QH3rrkE{eO8a*r~^VeuW+O|Gg3sT6!( z*_HmDPGO3Z{gTG1^uk}KKgl);iLXGO;WKXNbutcv;5SB=GviZWfNJ$Df$Pw*?g;LpnE%=b z0A&P&UB=?#4snPsyv7RQWcE0;$5?m!@4El8Lfurf$7=0&l^(~W{}ORA#Z+Dr!o@9v zxr!vax6V>;n2DLV-owuhpN0j@Yd`1ElXX*n0fz)fHre>R<3@@krAY;IZidjX8>0M# zkPL^wHOPFU1bvy!zb7~fBo16R{a=H+yzH^EvJ8ve_QaFYw8QCovM&ezjsyI|69+>) zzgLijYUm2eFiYZnzBy1_3H-zTQixFw!rV~Wqy z5$Mv9O9RkF>(rDyt!UG@DDZi%W~?s4V3U|8bpFJa|0M!V0ZDDFc(Dm>-q{TdLoGmc`9tznD_z=}Sv>Xj9q%O|u#>lXELs|Kd z3`r6vN|I5=2|m2a|aucgE>~iUGdqdH-Kb=cMCQEIHS>;EMHC**AY;lBJRdaTp|YfGmZ- zp>RtF-c%boOeqsaCs~xl)|u#e*kS+Af~()&>LUQaaI<5p^NSVE{iXjeO(2iOL$zh+ zTFk3!Sg}S5I|Y6)(TWs~BhKVX+eGtlCOTvfyM`d@{a)pj{NDj8eic3yJfAX6Ur^N= zFPX;s@jQ8)eJI~!9}{UsH_dp*)q?^zVV2n+H*Q5d%p-P_q=4qCp!$>~T##Eol@&ay z0Na=gCaEwij5*lZRecP)@FY?fgXZV+1C`C3F_I%*-227kUB)XZG-3p~yfjBZ96-0a z8bsPBnI_t+z{Ws=2n3VOU*>oo*-wb<)khhNH^|>r`X79-sc)whi6bu#=hu)ct`0Ev z^Fd2OhxzoBIO*2Gn?{5%Y36<+a&vKVl|j9~G*3*kacHY3;p2_RFR&^HM< zoNS2BDR|!dj|5Nf!+tm~QsMgQ?m=P1KAecZ%9=bUc<(r5J7QkNXrT`0m~auC6yads z#n6bidNm`IWI17ITaaVb z{YguLB?mpm#4Hj$kCo5%*_q~~&HdfLS~$3FzL(Dx#7dGCkKN%E)&{{ozQp%CG?k`nd zNVzB2Cgx)Q8Z6V%RA|1@75%azBobJ_TdE(^O8{Ac8yg}4*ikvtrya^`wH+D0W~O^L zMM?=kT4weEqwT5p`Q3jV=!^xLh*rjDDKwsh62PelPJgR`D=v6hm0|E&=1Uk0T$5QZ zm3f@_WU2I3Q6OR0mS=nZHj5MtMIBDuF$rG~x;VpwYYZI6Nue$d9@Z7G3h5m9a+4d!lh>$v-v;%Gf((Ah!i*Lvdb<7hi9g_^2~ zSxFW(IJ&GP{eWG5NCb?DG*ocuM2IRjqsnek=0hMge0b`PIvtaO*-OYj&~wFSbNv2n zSI+oH$*DkWkh6m-0>sC4u$}FntKV31rc=oQ?9jP#L4&knR3IiyL9}2YJ0a-#88;j!j;Zmw(hAU0(uDj_loW_61s80;&*{_@9J}b$Mx^ z_PDsYkJq&5dxWDJi$G?a;5z>hz}VY3R~9PK@KEL443v6?yZ9$H>JDTTY4~-|yZA8Iz(uvpyMF$+OT4%#v-iY* zGZVBF>#gY$?hk`&k#LkYA1$?AH?L#_%sM?CsAEwOp7#@+sAIj+-c8_quT1U0%#=nuEU+UlvsyAS8!mCy@Qd=+X0`e*?|5?lz>0Q=*by3;mPh66RrpHs6@?$ z-A)wtVaa_g2K=IQK^jAu^yZ^=mu<1n$vy;N?i)Qs_*X3*T8teDp*WmWbaBIgFRoxO ziz$~cqXt@}DX}YRoj02OEOp%5F z4$MzP5M0=s$Opzx#$HM&tk>6+u zO)K&!)(0XhAL&Bz)_?jxO;d92SkSdJlLf9w`$F`OE=PQ8z2*%G4Mz{oSF~~gpQs6u z(V3%fQGv|$DL8|EhnsCH!zxOee~bHhYGrJQa6frC1?5abXDS$+=>*Oo$$K_MU^xB_ z`9-IN-gdlF42wKW7+gt2;h1HXPp>FS%mYjI3b-911t&I3Iw8x|DUphhw&S|WH+pYa zI@$qj4l@OmZ_z!~-1M}+7fjACHCMmk6x{w9q z22%{oN!@%TxtFNmpKVpV>4?=C`>wUv&FT3lv=!MaZVVUUB%U>|9+VoZ21>wA3HL$T%KrvyIB@zCgIfA4gKh)O8FF;@Y|wbu`#6 zd72Z7;^fzuQKi2yVuMC*6bt}l5P^osSLAVY+-@=0Z2fGrUO!@2?TL_e-@yg>r3DF* zmp}C->(S`I#z>QdDaw4}4s}=Ye`yABs{563p$o)B@C45E)?4Bj+R#x;zz|!D@g`BZ zLPTM1BXI%k#ug`1T%raepePIwiK6Gs4dGBts3&Y8O8`KnO$K(b9a1On7qtIYh|)SdCg zqFLoTMnq|RZK<8T*pSY$PkAE1->;N4Xal@-D7`}wervE zKD2Fu85B7bcGAcHiC>Ed{yQ4DSwobQtx+h1_r2{p8%;dY;ka}U28kb82eYQot=`NF z_E6*ZCrQx83>YPan_V7r>*FZ{Nb|(G86Xi_^eAZ%6huzF`pp=p>WE6npL$bh669Qt zy)%esYF+QPBY-OR9FGcw<&{rQdL+0Dfek|EDFQ6PHq+cAIzU8zrc@@Ao@!>_bEc;jutogSn@i_7}kX7(7o}Y(oSo zA-d1Vj}(zQR;lG2e)sXA$1I{eFsdIP4MKw99;Mkhg>XB&Oleczz~e|vKxC67>TKSK zJGGHf28JMi2~o6!!?paY02ffyM1{+h{V_XKcNN}cTzu+|@D(J`;?`ULG+s6K_V4z( zC!ch7NH&p2JI2lPCjU8CwHN>5gUQ3c_JDulaf1x@WY8!`qi@r8hRUP7!>LugKoS8b zeY+6&851(Rjm8Qfoh+)1e(sf>0c&A2)Bo=_^o6SnAf2bhaX40@^qMuW}@jX zI-k5i^hExM@?KaGpAyM<94nft^eN*pdO8B*GXl~mgpYu^$T5c#r*V-!;_Mt;4(TN| zgNO?{&3;p~mS^y91j8#~g*UgMKpzkSYddH4-~XGg&Q$>&3$W{yz4_xag%gGmGal*Lv2$q1T= zj5)C9d|DtFw5%+pC}1@K(kX|8m!O}k zuL7orB8~r-1$0VHuDPqk@fC^Kcht8V8C?nqbz9dEqj*7EilezpIW)Bg_g~8Fgv&>K z)i_LbF$9&#M4phIl|4k;DQMLCRHyXQd3>1NDy`%V{^JsLdNk$^HNNDrw`vmV_efxPd`$9jr3y z9W*Y-0DWf{%>b`7tqNgF(!->K{I@;`^dxc63EF1W2Ln+n#E!^ei;FE72oYW z+C1wLn}Z$`7`6}faDtg61%-j+sI;K(4unCX;~qkHm#MIE>jZPgc%ekWo*%g;FWg5| zo`7zoA9Ki=cBsrR4i0rm#TBBnsu~V7PZhvKp`*X7m-CuD)8`JWpk`^cw@Hz5d2HND z5#wb|6+Z!;%OXL!w{k@V8$y@k^!G|Bc(}YOl%9lYzuR$%>P;yOEi=d7fFNByY#Po& zFzE@jBTOjnpt%qh@L);Ri$0T&aUD069I-GGWAT>P2Ay2^srSz@9(~H?mJn0MVmp%J zP9-@;nX0K?+8hyCiLfq`E{e7Ql!L4Vn{$wheUfB5q9z^%ksc{yzN^~zxf9uv zPv2NMf7R1>fT!{c=zY)_0h;agmGnexVzMzasL)CAx4OctvKkzV)VesdtA)`#ZT%Oh zVnS4T$Dl>jQE5+Tqzc=-CZ%g!e}r>o)xaWhhI3$Lxc1+NXJL(U8VoY@>3X&jd8^RCK<@_V1&R4}-+X-GL?Op0n zK4lT$P810fJ-r`{N8O-pN5b3&GaCc=A$3PAsLH_<>u?)8zXJj^=xM=n5?|SWD9##! z)8@!#V~9MhjxLGbUB`hrVIIo8Q2a|X<5#FSL=~KT-Wt4Zyj;m_l^vt=TUxL=&&!HPO&?Pr-{5|!L5!9%aZ=CD8e`q0E|+icx0jA zRfyW@MhfQAqpI2x+z1bggg$fvUO~bc3Ed;bGsTHEgfGRX{o?&SbU%%x=sg+76yy%A|zcNF#Hu|b>WjV{vmFf6_E`KdSVstyF>;(JJk@=uK_je(X8{^^C zXeG^0fiRI8yMPTIp&hE_jMbdto$s?52k(TVa#aIx{q~Mvj^7qP7h>E44qVeW_0Q?%{-;KJ1+Oy_$~wS38o^8f_(#F`Cis} zrwVSW7Y4lyac<&>of!Z=r4UOqv88HD8=MjhMrjZ*MmuEzHkWya^6IHkOtliEzWzmQ_A>wQ8A zdZfb70&;1y_(Ca?tMiA%#QxL!hL9>>NJ9_m;`aZmcy!o@sQLI_&;tjIUFlNfb}t!@ zO+La)DM7^DLIrJ)l^5~!BezHHk8a~kLwvg%GzXxdv5z1lw4}h?j@+%V_tzn6?I?KfrV(Ox zO{x{1ZF32z_B+Pn(|r5>1;8XvE0SHMHq8I}XL*Ukl1JvcW^Vit*qtPSB{cH_H~O{3 zUci;@bx$)(lg$F^ey1CGLZvZI>lL_XhM0AoF-!)5x6>e|E}3gh+#pe3+6m*0rTs1imFVem9o7$X)J5X*kFW?112Di@-XCL+vzPCh|SLjFDh0+PY~ z4`J<_45o{{KPOx_w&E1U*##pxQjo^pKAgXY{>*5$WNAj=@J^*=A`hsz2AJiTm}EG# ze+rdo3)1{Y)RW$|%cAe6M(GrFkUNU{Bfglr-9u|c+42nVsq3Rv`5>Tsz)^sW?S{>NY)W6F>B_{){>e{# zeP<~mKCD>igkTn1>mmm9<5I}}XqAVY{SE^dcNww%xGUz=ijTWW=l)gO0zf#&MSi1*oj}V!O<4-mH>FcX zk1S_CxLB2__wzOyml|uhFwEPNAe!I0-X>xKAUspUiU&asdD5-P*$R^7`H6+G_`$I^&v6dRi z&0g@7&2Ad(2=oW?BO|~9hz2)86s6Y+)|2Z8q?K}Uc&IQ1R1sCc{715rj(`BQ|A+-; zzVgvbn81M;8Ri2|q}@N_NZ)>BPz6lR@t|k?D?9>l(uY(t({(y)oWV7U*d{B)-gpV2?})& z8zQfl63SU5)wqbf1sv-FQqFMlhC}M`bP6{W#bm+E^GgEmte{yV*=u-)Z@-er*=5w zq-BSXf66kAp-4|1Oe)dduIq!U9{4I}#&6sVM&?9tr$@-2IN=g5pd90J-Ah?k@o_Cp zA&UMNo2Tv98<{oEy3eFY21QK%`!S1h1fL=fn4VR3&|@&IcNWBH6!e>f2LF%EuGo0g zn-q2DJo2bWsk068ZGi=USNV)?jwsvOq{r!BgCgQ;Q)FHfXm*8<^1h$OBDL!RM8&V~ zIwthOMSSp`Z$Fn1k8jtP5R2O~-D z0GqOJ5lHHpt!jA?A173vo!Z0uTvWrh3eg=V9}kZZ!gQx(KHJE7;VHK3}^Cy zj_G#RC8oR6k+M)0S5>`KsKFx60#-_GNt+TcCUY4UrItPFZv3b<2)bTXWme!OPpbN|_a{AugKp z@USC}ZM@(bCVGewryYBHUUFanYn_4loG1}_*AQodlqsHR_+I-dVC8$vEZz7BJLn=q zOYK?&D-zmp(3HtNndmHi3b+@rnoDEqQ~(YE6mnlkqWyn;!aoT3PU zSBcNdp`x|b5r+@;>IU~jCo>P)w@3Et9o`Pn`$r)S=M&LE%xL!wfuIlxXFX7UR7)fk z@nn>wN!aWUC6doo8|^aTB5q944BGMIsdFKV{tG!_;!z(>avmS8g&;L~qWrBhMU^ch z=mcWJ!~x@M(_dUYwX>h5?Z{tG`Li#TeXPJ&l$BxGA&DIq^)hBl(+0%ldL8Ed)8Lh~ zshTRoj{TYPrZ-dGFdi`TgF>HAklrRLm0q6cqPtc5&wQ!mMpVg*58Cr}?0b)VJ9w3U zRPgW8?w=e3KIPShGE4 znsES{s!-wRPWZA=@8xS6!H9)y(%EPV|KXhWrVRplh;?cE(OKPn*( za1j?GU9cw*!MJ;+yYgu+2D;Y^Hv~*1UCLL!iB>AH5&o4O|5_IEc&y(^H&NQCJRDlI zy9HVxVdXzb-i!9FPqeQPAU0mY-wVcgphLD-6a!9`u|`nsTsmqq>bU8 z4xgI4`BejWw^gDPs>k>Xv9l)uWH{EzgN;6-&ZWakDGVDnS%^VEwSi>$LoBCe2_{4) zT>&WSfnu^|ACD8P_P!{qE+Kay&Thefwp5fV%E^}$gUD#|?Ha3y(koSN^UQBhJ`G+D zOLmAlmaKy5*@C)yilqyKL_N8EgzIsfg>%-*%_Gm16CP8RBii-)F5Ol_J|p-D<4H@% z*^Z2p{!^b2If3vc=^qCjSx~BwJbp3!6yqFw9{>gD?P-xSa^Wr*$56_Ma#y_TkB#Iq zQ(C|;Xju|iwAZn748S9?E1a^xogz0`=fmh`bgZBft#bk5S;v4HUqe;fYMLL{ju-<{ z{Yk{~L}o#$P3F1?m)ok-O+;S&og5RFY~Ke^`_LoEkKG(83;4?F`y5B6RJJj>%>jW| zDQ^E>im@xXRJIiRR~u?9{#zOm!=e8VJ}z@|#xt>`u!z($l?xS|JSMpXWARDLj?Zs& zT<{wPK9=A&lUVPA7Eyv#OIOZ%MJ#dQK$IsRapQ-p;4cS6MZyB2Y9jC?E~UQXXrKR( zU*MCtn8`ql`(s6c-fLk;w~N~!x3DMVplhaO4CjsswF(w@50TX^hru#7o&< z5ag7D`VpHQS2W6$jg2oSgz8@;r8!Z}MlW;m_px|iDmGThpE~5ikTsS{xr?d+J}ZV3 z{vb1H7?DhW{jH(^6UIgzBTIVizXT(tJ0ocmO=LG>sud5^H~JFK@ouqJXSoMt&NSh< z;Y1Ek3~_<99h7)G<_Mrry##$x0UJqvRHEt7Vgt6DeAAg-y>J1G`}d^{}>k)I9D(_x~efN948cb4-WLI4b4bUHFbJjkHH~+=aY5ZU7(f42nwT(rtJ?i1~;YAYy=TF~(CPXgiG#8O&P1j`mRf*4TGfSyHAopawl>M!%g$oV1eCyML4c*?K;Pro*?lIXzmpM zD#9dX;eQqMd9N}aI8b)(X*GFWN@a3H#d@({j8dS(@zeA#*P~m*2tqV0A87)37}i78 zyx#3VoIX2$Pw+PycOpw3WT$nPA3zf-Z734zy1~tkvWg=NJdT+ZZj5rp0eOY1Z*%?K zi`u>i7zw8+0;(Kw2%zos<2H4YwI|WrYJgW3@qngpMK{#IfV*yh1?MS3KFTr#KsauMy5(D{B zG9jXBA6QnpXl%8_b&ui%SXt)4;%D)tv%a#2D@sw2Vhw)bqWDF-CF`5DtbM>+{HN zj>ZCAb?dyIBw_N?Yxeyd?2*mzqpHycI$YLniPY|`tj7jH@|dn1Ob)7#t;LNQ-)1%w z19*ZRl06^L5RaA8#055mGlrwxgi25){(9I7WCc{Gl~q!Rb(QbAV}a5BdbEy*&d<#S zOu8MfH#+cR!V?CqB8wEY9@ktXa)gKzMGwn8B@76v{Zf*O8tb!~19WqWuHW9^5#lDs z%KzQH6gpm*w(CdKDBN!1cOj-uWdDex6E0VlOTFDyy3zjbeVCoexwZ!smqFY1;ZcEa zR!k%TZgeD~yfG4nBkwcjK|lTAYjsMm;;~vBZTNv__zFxChmLcsA^jnxPW6a%sz^L5 z9zzi5(~YcBXl65hb1Qon+Ob2{24JsHF1&JTOTuXqy^=xqlrcG-CLa#=;UNw=fS;77 zM9?P48kC9|Hzm7p`X*O^S@m_uqSJJP%MxZ5C?h=CMU;IHsLGB=RM`Wy!)$`sUvUR5Pe`N+SSJ!u88NW+ou0*|}r_kCFtb6H3Q1kc53u=0n zN`!zw0S!6>6)?C$2!W~EZ%EYRWQOw7Sqyk6e|w5-3sil&bi6?l6SxrFv#GMwdEoRY zFeXr(h7ujeS!bG1dXz!&TW3>T)YpW6vx^&T!tThloeIKAh}WfWtEC^$+MLO;Eq_&k z&K=y!&X~eD=%n{?etoOMR~)#Yed;gzh)|knQN$VORR2U62)mkO#8UzYu$<&AO6&ij z-?~rbJ?HT*Up=fIDb7FvkcPcm&H*12)0Yr*hxk~5o;tXF-|<38hmK6z7lv2yr;>JZ zX5^R~Av+CWlLG9#4fomoT)`MxT3ox^7T|y_q3_@Vc)P#J?|M5CVw5V+`k`DWBQmt< z3GRZYy?-I7Sf*~{i3)sO&TPX3&d#y&L!3Z!Nk*wL-yZVC_A_$fG|nOLO{7=vUpqFZ8nH<;i=A1CLO|apW z%@PIFI+0XzB7a>qJ@r!iphL@ay!ml&=|U6Q8#OUKm^BqXytLl{IL;3`HDyz<*P|!c zVT14o=zvhjI~D7Pa;|l?xA=KBy1E1$6ltSg9ru-oBnrq)4bt+J?_>VdAzyw&Braki)*0W?HfN(i{`Z?96Q1)aqi|;Kg$~^KVuR%LVpsc9mS|Oy z?S`l+Az)1RWp?o+Yp?Rw5o@CVlRwRaaEvbUNr0#{nJ7NjZ;n?2Dwsm~$)^NdTm{nJ zj631CV4*Hh4j!v7V+ax1$`E$GUCq(Xm>|@#a(vFMjt9~0;e1r@lJ<(lkW{@~= z0VvT{MKA-24{*9zoHrsO#Beg8KzU?yM=MK=+r*g`4G;6~l$>Lv2~B4~+}k18BFe7@ z(Vz4=a)&9mSl1GS6M@m2c^$woS5^c$MVZmr6SG|c5eJ?Fs!CKDGPaTvk@Et|CzI|u zu|zW=%!w@5A!6kN$C1Y@d``NxhKX?U;um|sm7vTs8>kHm*O5*t`tESNya?cGYw7<) z>C-1c#BH9c+K%)eA$5AHd*{LjW2cIOZPBlNi$b;pdE~W9%8sIFYK3H~SVJFkp2m zoN3IQ7XBcRBTE}`+)R?FrmPC8Lq2+%zc)qdSU6rrfT#~SY5QlV7f=2<02qvi z&TWH62)EnosD|(u;;aQEhnIp4s2bzrVGt1`onstx^9t7J(D|>UH-ODhpn1xN2>;Z# zp#eG43O2}LYzSrl@4ltPuz_i(N+jZq_yLSFU+17g-7B^kEPP|A#9jFi5~EFE#T#A2 zW{Ajb#yTjtoUKb_TjP?Ns4MYkf+|^QcZ0xSiHItj&5lw#?mxA1=*ewKea;MeS|z)} zdEB#a&j07jef=LTQ#bl0E|qIW8OMG&HnvmKFX9;W&POpW5v2#H5^!!)ihV;QVrd8CgF03E)}NStaDU2n;z@ z_^4y!8B@Pt#fN;HZ7hHt>Z@oOymc`kfn5cK7R$I|oIKI?%FO=i48R-&1gp3BEfoef z^>g(sM|$eG4lezOb*ZF@lNTB_OnfdufLYJE$X)rtKbftRT!kT(oOU#yiBIsTesT>P zDiR+t7Ykl{g6w~d#x>(nmhrC@5!H4bCyI`RP}l1VC#3A|xoFL!YaK*dt1|6 z$m-RR1bgV|vf7Y(HF zDW6iv{t*{Nm90b?cbqcxXR#Tv90-iu%r*rb3%1gL=mm>Vv*U14*cIi zZ{j(A*w;O{n&aj_>*FNO4U{le zY8&oos>Kt4mu)zHSE5cws*@;0c_JErVbHQvrrL<52vDc}`2=Py*aCyuyTSTW=00AbQsPlV&cv{={XK7i|FKq{AU0h3>}*MwK1&eXal zNa`o)fRFH5v){(5?8vcHsm)E)iznW2Up+;s$+cW%iwN{8q*BV!m&0Cu0P3(>U{a)= zg1D%$R-qi8@j`$TMZHL{ZVnZyhqU%TnNhenLwo z2Msq;cm>4C=q8YBb{>csdaA?zlF4d8K;(op?O9KG)E35vhG!t{(r>ot_g&oSr$J7) z5rQyXPMc#uRuVUZZQKM?$nI1L0DXMSz@m;f{lve8%@!BB6Cm}@4){)Nk~R4nJ24j3 ze{1(7;I_!XgT7BmcH)#mX>-(I5ye*;tFv6CPC?%W&DUXl3Tcw#4{^Fo&G9$lDF+c9 z$JwL%$Cf9C69&7d)rGM6B*H~Esq}gV&Ps7-uPY*A9T*j!qTQ;ZXo3N%Z_J0dWc?~$ z&vu4J^Ih&+p)v(m?GSRK~y`xI-%7-Id94DCgb~+4m++sk-JL9VdXdf@=4_&u0QqB zvMc-~kt#^~2-GRt!j9ZGpD8F87!)0xk3bOhzD1EOn^>fcHBF!a$C(%+4Q(j;DqpYQ z&*4mI0qX!D5Kyx>NADX^d-cT3p4!Gu5k)GLV+f!-71}DdqsEmgHB0DmQ%I2)UBrW^?-3f|8SAw^Yn})#K zFMK$Z8XCJ$bgNI_>Wj#!_aE)gZ1fm%@yJh<05d?$zsd$_pD}C|Fa;3R?ntK^vcY-+sfgFWgnhl^Rl9w6)&h1p-MXCiT z#zY8ML{tVOsv|)ADokNRl?a3A0JQ;9c}?AJ&Go?=6Ehvkd@s< z?A<_7mqE;RJ9&eI zWkNPNZnk`kE8$i<=mIWTe8Q6-`xvBR5yJ>`h1KECzngnconVZl9`j^7DmO9G7ooJF zriN*Ac$!H;>78RDN={%J_XArm7Kr4UG4Sz4eNCv!o*i8l?vp! z)G&$;+=G^4*u_K8UxELyKwTAdwfRU1L~CM8z{Pk1Wx_7jt_q&lvrWjyXF68FB|VLy zspwna-xm%T07oC*p+V?2+CbE9M-6bOu{o0wnt{#t1MJM?7v`ghsh4wjMCd+lMS*eX z&&q%Xm<3oObo8R}RFQlwC%RXGB6Z|79HBKXgrIt&I<~Kh1UyU`NS3S2-?vjv+GFvq$!x=Mh7lB)VJvXFUZOK@}wOC@i=PA zv@+{pH&XppaY@u&#rPK|YC|ErjJgmR^Fk~!7BUd%$Jo{Op1M#8Rlh;Aw^Xv)so6J@ z8EAl*0#qS}D`ncVZ{>|Jm8D`~#}$KB?Cn?bp#$l6K0Z2hb9&?i;kgR(Haz{R(AJ~_ z4FUS^IVl+6Z1-|4Oex!R!HG<1I%y2LC{38uXIZRW+h!j!zprf$Yjz$52F|^CNA$2K zhP&tx9<(D&7hBVoXYjLOqPZXR@N5x?t>*!WO#jGXLF0!yrqUl!=2)o@PRwSpX3X zD&pg-&p4nxMl6`o1av@k@+f$esqYFm!6eIG>v3_33z+1|O1D7gV!G#9kGw?Ov0v3D z#dz_wyM6+|80*6PMFKJE7{XN2>;y=Zg=W5l-2~%~!01UExw)*h^CVI8z~1f^DuI>B z2Ii!RM`QgORbYq@0g4XuC;bPijYFFgB8uol zvG`yJs_SYT77ff5a}5x;OC4leJ>}gNLU3#c{bXVZrzHgNbno(4uS@6&5Bx};8Y}Mh z&3w?vsT3#TcP*heIAof%b0bTxA`uMA0-JKWuuc{vOcV;eCLYcfOC|!QIv!>C(!du-Lr4Gqq#T|mfPZZL;{Y%Z zF62i9VQ%oXD$eH6(1}tEB!G)TPq7Z}sR~b#x5*DCZbb-vnPP}+y+4lec!==mv)cO7 z|HX7|tccH3xupfeGPw*0WsO@2e1$I&_IoHdq; zPNL&L)#`=ml+sF|vB?LJDrPHAoO|v5fpYAax&3#O*Z86`ACMRmx=U1{gqY-kL2RYk zW&?<_Eq0J*e2SYz9To5*+{&C)zCu1XPYZRtNv(?lFV4+!RLFVZNd_W zsq4AODYLcFp|vgS9H?5s8DyBvCAp!$RQM_@phcf`TlJ8p9jc>m@e^|GC69^<(Eli0 zlNW%5VG&eCP0+hOEzqZgdr~vSz$W$%LNMrX051Rw40_6}I*M+a0=f%_cx-pu7JWL& zjV$ZLjo=B~bx@z_#o{zii>io7)~FhW{w*d1OPJz}bY* zQlm9c_OeXQiBgR(BYqoFru=6EhSlmn99xAq-@gB($XXUY?vmgLs(Spx(gDHe9S8N| zTP4~6jFUO_p~Q1%y8-X$BZ5q0v#Qhb8&L9#o@jfaKfP+OQL0Y zUHkf|eF^;~B5Pn-FFxvoF(&>u+OK$8K{Dj1pKA;=6W)NcPXZ{i!xNaeCu#)UjI4;H zz-tiv!&>sH6qsgNLoZ80%&J*<#uv$+qca6GV!>jdq3`Ar!h+{Tv}wHENakv0(GK zh`s`kF*2Fc5vA#BEI!0Rk`DE>xGx*|0=q4K^BiS;$%wA>-xb~o6TPCM@yi*rA z8^4#~&r8MzJ#1#bE5*@a{*>+1`1PBDOaBjbbIj=AW#Ib>#W?M+si4_>*TdNPR$f64 zh)2}JV5TIUhRteCR{kUg#tv&US{%Hgl3JCory{jX3#S(Wx9fW9>E{9iwlyaqb%;vS_1v_-e>V{`tEfaV8{b zaJLhd{#@70dHzj6GZZHK#>d`srpvgySM2r?Jb~D5Z$~}F?@naQQbzu)=Tpz)V!#$#o zc=2uAgY<4N?2U_^Veo|~DI3m6b|>J-vvy;yW!7briUznoSA5!xyWiSE!TgfHQO#OK zM-@x9{?hlEqz*carow-=V7sQly84qLM78Z^o5DVMlULz-{BDXs@svw83;%S4AZGf0 zG^Pd`i-!Op0cTwy?8s5nqd1=I+EaoYtz^i7KMH&hVeY_0P7V@>cuWPKfehFDdOA)+IF zwm4Q}`ZiquW{0c#a)K&U&0C^_`n!;YD9)H_7sr^gC=0WZYEq(i%=itFNFe^l1t!Tv zFnI|vwe}*AiFG2dcjtf)lM_MW@X2EyjSM#8cVhz?0s)BNsNbv?hZB$U`lP#O8GP4u zY0^Td3!1x=IDoZfq8u~?V`F;??Nzc<;C2J!WCBE;_?cjkP|RF`RtVtw1R9VUNp6tI zjC6<;wk!!!QHsGp#?pacxcBa8>k_WPsRE+PCoSRWw;^PL#Bbn~GixY(z(ypO$&<{; zV}VMaOin!({1Ms}MUS=XL%BQ3CDGvSCARxXRRyu5O}a7C03osmI7BmUFvOpV0Hnc* zQ6f(8zc3bK35Hg@N9>v~h87Jb5SC9D_=P`?i<`=d#h$9@czdD}zm=pfLohHBwNXG_M8ZfPBy#;VlxOV!Y?cg@j&qGx!R&6$^#~lXC78 z*OwH+)D1SC%wVF@F@25+_@dp8M$tIt=;f(@8TS(}(5#|hj{>MHq{AtjuRH zs({;B1lY6siddDG{d@pRE)W^>?GJK=i#!EpFQQS0$GR$+ESde#5AGv=y&~3Q==7P!A#ijs< z7Cc!U>Z_(2C5|or%6SM89c+f^_`+-i{Z^Ce$T#7y%-j=Uxvh%tf8wc%5)xOt$MNZ( zQ2aA<)sq^ay21DlVN*%z4Eq68Nrn;Dor` zh%np;O_LtQ(;Z32JZQ_CNysAwC^TW8FZ0w02>^p<5l%)^d0V5KpC~NNAdw&EWH@+- z8DaGVQx+Yc>F8_qrt>g{e`na?0#-DfM-(TDj@DCv$T^97z(-kRt?2GTnd1Vs5!g-T zXVdI>-a?FsxIF!_bXFICsey}tx647>h0%A((HZwBk&hW8CU}N_J&kmNzrBwp^%$Qs zj}^a3ro!&KDrfNZa;zuXtEZ8A-P^jfE}!Cg?5B1#elgZ>W7PjqZ-qP0{(xihfc_Qi zhj1KwSO{-fuz!e=5^y@16gmFFJU1L}HhnGlI`k1j8B400^21aC^2QXRH}hZivR?VY z<4dq4mkfrlN@vGGHp%~U&Yyn`0qYdf!l-!+okM);r4!aqiDC`3U=!)&28Hf;FRCY= za}$gG1}nxhg1MTbY&glbO?NxUd$oc1{hw$IGZqu2xmj7jNp&`-aalpn9)-~v-$Z7l z4EUkMAaSO+F`&1!W9s!89hlkD{fgMODqWv#E<%~rNa|U*{yvY6Cp6VxyF9=5 z@WS#ji%S@8J?JoUwy`8=qQlb(sdyhocrl&`)Jy0SqaDU2ay1?r%~oz&D>+9)JY$rr z(v6n|u1L>Gr~!;>&HT*kGy43)hRAag&0vWEfuS*u*}McQT{2^Tl+r08$%adu?noh0 zX)$nypEgfnS7meh6iRM@~t_J(dDurSv+ZZChnUqHM zLHgc=cwWv8AR`HGhGm2NsxWv&Up7zk)7;mDj2mb8t zt@B3UD_wND3F{6|0ZR#I_L?z|^5Q+>A>cg$qO=Jm#TYJfk(5ZNci{$h43APMvEH~V zIK{Xb5mQgo*}_!oE&4uM|$|pYTx%`1o|HgcbNcAwO9| zab&$z#qd@XcpGV=UV@az$G&@;A5p=Hdg4W2DsXo&4F*1pq6CeL5k!SSfnRE5pn~?U z{Y>#bU(1#kV~IQ`E8S?{%0eq$oaMozbEiT|pTR^9K?yfd*MDVZ719gB*}{5;W~V*! zCWSzfjEiKz#*|MHL_8yi>)alzgau<>w(iKtHST;QMj<2+H}VuOSumqh+VN)A4^caSB1 zl&z3K?|6D$3_DXAldn6{x^v8%VPrMBlA}MBbY~!u2H_*)(Q&LGYlk14hs54p-BD<@ zdTWUru-0O2_Mi;=@;ter10f9TRcvz`Pn5uB7SN}$PL@(i1ud&>pMPCtL@oGhD`(^w z5tZ{eS>ZQaWMQSm$#E>SNvL!0-Af+8A=g#(axhN`bXyvV|3cjMXn`mDH_Zh%z3TFiqkS=yTF z?7m{LWyiHc7RhraHN)hOV%=`#TJXL3f3W4K7mMT8Zy#s#mFg)e7x#e1(S~zqo68QK zu4u2`kEDufP9RhiZ?I+lr=FJxNHKynC*?CGSK447+%7xFXzwYW}H+s*wY z1)Dp@DRmvJ%G;xb#eUM@p#ywJ0nXz@AKvf%`izL3tt*Z?LJ?&}6Xl>D`^G+0)JNKn zWL3#_CGU>@BYCdq(q^GD@tg(k!01~b1atydmKZifTG z>w*cqI?A)4jA=ayAfjDZH3m;I0YJ&hw|G0-hmVDlp zxDyG(E;_e95p^AQb|~%4SNJj5dm<<$1{mlQ872RnlY6?S1Sh@6#}Nd@aTWJW%hmv= zBct4GtX2mlt^(>RW@qGi+|<`icMN?5=uPUfb~n)&BUIOuFLo+I^hEcu(~t2RB?NVN z`etQi)ze1jr{r~ko3aKYY=XwV#ZxRMYSVw@wCYPx2Y>Ky0mqjnTsXMcFXHU(3Hme8 zwfQ^3=Atg(Jfge4$F1;Q5-!JbxYrJ`1gDrX2w}Bc6q8NGvh=91*U_#M2JlTC8~rAZ zPkI&Krux~NMbsIF%|IKOWFqsF#!*BPxhv|S{kAX*C{D!B|)21A$>4|NeNH8Jb z8Y=1>1l^QLyj~4h3btY$8}K{{`GV0BlH;{1SG2U}C(Z^!V3>#t!qPn%!KDvGO;^N;?;8UX?oOtDfTy!>LI+2Su-J%U z%*?GgRaN2SieCU&wnZf@lojRQ;==Y)87E4oC!|B5De4Jma{*w#pEKNG7Ge7D3m5)y z`!6N=h%dJIwS4nY)vj1jn7i=!8|`l_v}pw1_-zFDDh&`OlT_Kd?A>NlP2uHlZ!*!tgUX?`&0C$B6jW)VmV3U1N+S(bsSb2}6qbzvxFA;u&8(1X~ z%BD%4l?Xz}^uXk|A+C;U(_JStaaK6)1n((OKxC73qsDKn1eQ}?wI@L&T z4hTS~cEOljfy79Jgb9p9pN+%Bd{nTXK%F;US`!sTQ2@k zM`$>~0i}Q$ey6>Y)Ns=s``F_Q7Gme@%eJngK%Rk|EGEA}avWlEH@9Mp7`t zsY9D0m_8W-2^)pZUTo8&w^bdbc?WHHrWZ6JV{!jMX8{xQg7Q9NvKP0ZKNklgZXO$H z$4HzSkU{K>eK^A;G^^CduKdDQJX3K51H9@NVQ{z}@(~q!RH8R`H=oJz4T&lW=+2`s zDN8w6aym1Wd*Bt)NLNQ6B~s^bout|#o=G=vB*qXSH|4%uF2IN12*538BAbI^yz}9L z^Cg?FPbky2{5)`vlS<_H-pC+WZ3y?r3=dB{-KhkjL}89IH1Y>T4LwEHX>cnS%5xgT z7Hz#EM(<5fA&xZu%Knzv_`!IbdEmyLk(hm?l#vtr5S3kKH}-vm8p7H4C*#Ed7|mDs zGd@Fo&K~uHz|kapdgf5iPVU-A2)-e8RTiEB4q31`n+uglYteN$3TZ@W~f73V~NqI z^!q635FfrW!;S$X6OVBPTbfT@VsIg|gOXR6ID~ zq@TzKKkOH2M!1?i85l0`&3F!cJ+2_r0p~p+aQIkfPMB`iLx;{x zRP@K+fRAc%-qe3#*pTDQNBugT7l?a(!1)_Zn{)4h7c5pB5OxDoC#qd%Wq}pku0Knb zDwe7)zRKfdPYYZeVoAak-<@3*$QeSXe9|9GRh(YC_HRX}*IYcljTkE5Fx#o>#bM}q zSbNRNBZ+FeJA+3GIQTl$Rwp5cgCWo3qc|}qaUO*m=IND1@F)C@c*~rn)zelAJ4YBN z%kJ(Y+p)O3?htYilp~5VK^Qt)Wl0T-f_~2`9C&g-lCWl0H~k&~?+jMDj^c;O3JeFT zIvOl4DaThXrh7%PSdSk;?y9 z0G9=X73w>CH){-0s_a`TATVT| z>!1SsP1$h+Gde2PIM9%3bENHQcC_|m4kzj;;DQ~zzkoBxfLb%hCwZ#q0$b`GH?$og zDs+>skLU`RRAw-dG18fE!q%O_nz1bK*_tfQO#r`5HVNiZIr)1Um*7tq_TWby_`mCW zJaM?sT>43E7=ihxnbOyz>dJzTQf;H75%GC}H`E@9hgpVxwTkQMfZ4qqQl}`8|`uI zeWe(wR$|s7t^4o&m~cDUU`gh22IWFiNH;};aU@#36b)!1ZY@ENEEo&ab9n)d7cI6) z)XyQfsXH>TYD^5i@mfuhy?wb28xC2f!gO{Mhvs?**QFj#55Kg1=w<(DFy+vOec_km z*w~K_>ej_+fqBXxH0)KFkQrzf&=q*3`82z=xQlzY+wO!2ZWv4=;b~6(X&~CMq9``1oZVVX+GxP1mIj21K;@cU$)Zb=WvaDuB!hE(q=XqQ zq-tB?jK4?Y?kU-Co*c>1FxS2c7c#T=)^XbKNg5PYeDkS~%WZCFP=$=-`48;I0R8K7WaQi@SyAM)mZ})7oE@oidllyyol+ z?h9JX_H_P%^i=1uM*IWa8lCycDDqH>LWuA?W^qH?sgMJ$MIiA{582J_Y#|d*kD!MP zP|j$@@wktQ(FM;@jWLa$W1gNm82#WcL*odi(%E<7MrhEXKwZ(qPPXLd$U>zqBSu8w zFT$8Jj$Yb05R3A!PE8PH9HR*r-g~`R^Y}|sGA8^Sz(*pP3L~7cHV`q?j`DF<6oYL= zJmqXDI39FZ&O2OvWh)GQrN9lu2dTLA8XcYFjd1qsd~#-0I@uS{aZU$qnf4Xl$bW3D zU>xyr;IDW0zZV{kTj@&<`V(c{oz>{D)fwtkG7P5IzEa${lI~4t6MQatz;F^#9WDPgs==@I>u==8l z5DE8pmqOiC$hjQYwqVk?e;-L9`N>J%Sm{V9-IK^|a^^^}AY-=2i9Iy4lcueV1 zZdX^P^fDGv&anWfgeNs3x34wpqaH1H(YCq1|GHcw;_UrO+3vHYLEa*qfQJnbunCI! zn(8RA-3z6M4W-;dLAaf6jz@M~eD19uc)&Fke?0_Tpt! zOA&s%O(kjS9Bc{l*Bm!H@WA1Z6T8IecP~bel@TY$Yar8Kgk)jkN4}YD)%ZX^$s=uG zBpGQL6mE5whdjUig%|K6eAwj{twTmeQ`iVej!p)LiK1fX{FT5q1fJF=0Zf42P-$d! zv{m0c(MC0zTxt(Xwi9Vt6qIwW@9jYG8f{dU!cWXL1Hi67ZV1lyirE+h4(K^-v#qtW zCjc-%6OcN=&$(|{1B~AOwM{Sm`Xs{W8P_?XZ}J_%Y?5i{L=^EJ*Hz;pW~{L~qzU`W zgJt9~6V_sYAX^-NT^>y@iiMb4;y10C$oJ>-?~MnC7k zhT|)m7wn#TWhO#lmudGlcLX&KWi;5(#C9xdzS0t$TYuAg-mFoR!+kDW3rF0(U3o!x zRdTTngba%VjF~LSB4GEFY&y9gnxTezi zGnO2fI&6BWG6RSUHXc{Fz|BqlevSN6*`vl%wei`0ow=;!5&Avi3)Kgu@}GhTeTpUI z-oYmHXU8AF(WB3IDp*@J(q@p?==y)Ag2mxsk%*WIeH1(q1 zDKzxru=^QqgWYYQ^RD}4x9k3j3C+2t85uD3;+^&>mmw;2VKpxZBVVc7NRZv5eG;5iXQ%g)pRfkd=2yQ5X13G}OA&)9>{d z^(zl0wiCev)j$uP6w_kt`u;hmaAOAe>XAWevM!~B_2^OnxC<_aah;CVj^j~sQy=@I zj=a8nxYDQ=p&NZFdtNYp%tb|`zmHrB`gG+?`kQmj*CM!v zbz#`0H<6c{4w2bIqhqQce0bLrFawXVQO7tHGihWP>w;iEaWGK{5*BzHForU#C&Q*! z!&e_=tWWGH3Cu`DD7=roZhrzyQs6R{@$|#jgIF)fjF zR4RFI<6~F~F$M=>tQN_zI$W8SW@7KLjQi0~Cw448KG6w#K;x3)WXdeEhO?j+$0Ph1 zifH%Ai_0UCOa{5GXsK)pj>=d0W?CGzaGgXTX3u*<-9>v|=`>Rw5eF5`zD3vh?)!rWdr`N9_$D92sWKCTO<-bWOF`Uy7=!7@pol+HfZVHQWi5NM?J z1UVUC;!S83FR5w?bCzT?@oC9+|FEsQ{SDBLj!a3<5afQ5hT3sGeMSB&l5rx@@kX@yP*#e*WaqnnpaQ^du$V7`C>*8VI_Ns*e5{#yjvhNY2RI zljSxU?6RY|xmA zT{G}|rc^7>H2L!I;xR-z45A>&W#3{<87xD$P)*HCb;pZ#92*Z3m|tK_PWDbgqu{Le`kj}tc1wK< zd33s|<;hvE@tP>xJ5kQXDx-2}aGGf2(Js&_D?579qB3$DB9u2D{OJ$8r)EuRi}Lhf zVDJ@P)5gO@1Uliuyz-@aeXuKYyMot(gTRUWzJZs;`~}{kMBQe_kVT|3@|k4hAhOvC z{!(zxuz}$g{R#)*SM;YzAjoA-@TulIc|6DXwNTO)HeniEFYkO45VXMLJhsfeL_9LP`0MKEOLw|{L z*=T|_3BAT%s^Tr)-(Rxn9s{f7dtwOQ6BV{q#g}YZS*^Vh`NUwgV;<)HQICgEW~9K z!SL}~7i5em+nE_K+>4{#S?fH5#`Bh5~Ws5ld`KZfOFO4g>n-ZQU9n>t_oXs6%FgMdq(F1K01`IV&2ey?KA z7D($CE9_V=_JJHN^Ih_R<5sO7%e`D|;(_|P=!9yF6WEnxt5>+J*}OByAS!o+b`KDht87g;i*a@=EO$-8lInWG+HT5}`8% zUth)f^p?j#*SBB&NH5_W5B1uSu@HoQy9nnD&*%qE>EHyK5XC2)IHyZG(T?I~s_>VX_9=A*J580>_>Ox-ADa+Wl2uR7? zMg>!u@$+yYKCsKmXO=|{f?($+?3<5L$ZJekLsruZIM^TrT@J zL$-~HZBs<~+mric`=*G@4IK(BM?vqK2iI-9PKdIEl<#4IH`rI)aDZQ2@GBff-H|hH zTo}yik(@U^NjE$Eadmb2?ZbzlgX_a2V%s#i!O%zBju7A+CIGwMc|RR^p}ffnidfl_ z4E?VB!fiIW!NCBj@!7)?X)>^ihEKtXP;uifC+O<7^0rbP9jwM(S5!u?t;5RQfa?-$ z7pmO7Ua1T_3#m^*5rtjS9@$eaQBvLYlftj?wOR~$xwE6ryw0|FX~}KqQ5943Xsql0 zGRv8AG>>{rLE7ehM?Ca-jBGoQwU^3rzksN)Kc;$)KL3@X&0uYMx#_kt?9w1>LGk3k z23nmsFbE#=f61&AG{t-h*V`qK*!xSIE4YacxrxX^`ziKSPCHT9g8>U`VJ<+a z(1bSX9>j!{;v^IG%)w5pjgrWt%A?8{L)tOdQLt5%|7;H@B^+IVN$1`-YQsbx<4TSc z*2@KXH3n>peNmVdjQIMAL$>`g3Zhkq$n@! zBUlVRMTt6eiXNO)3-APoa$m&JY$HhhKkU*5qa=$PtS5AHIz`%?Clg09*sxt^!a2*xXXOZYR?kHIq z7>jYF%tGKBfCZGRyY_gp!9_Y60e!Z|qn4E7NL;jQLPV#=rx*Kz95zQrV4@efaC z7*3C%8bUI;Z8p3(o?K`zfsKi)KGgtzaKk~v6N=_?`!jm_h*c9AhZ8D0^V>#@s-k`4 zp2vpGSaIx|O%HTkF1w6UQr#yV6l75r&cC{{r((e0AOn&z~YWR}Rl1WP+)Qli=Qb6i5l+ ziBU~d#j7GV6~P!!bVN8*#-^x+zP}&m(55h^`mtOy@?7YQa`Ju#Q7+0<3R;3-SP3H{ z{O-x5VBxcj2?TR)r2k4w?&>07(z-m49T1k<{TKm9TWgmzUZhH>nz+mx8jSi2Y-H((ezq> zT2`^g(@Cg9)O^@h+fbT~Iy>V_j|crRWY}1<_FFBNR9cZD~{VpX1W3DL&~i zc0fc$23i$aKylOE@jJs0C_a7iA|QxvnJgFJan-)Kk1!uowtTm3h{T9Y6c)`&giyy) zPEZ(7B1{v&j7_6*-+T~*E_2&q-;B8Z2^1nYnK)ox*ahnP7$wckih0st{G;{HT*l_b zbtJ^wsgdjc)pZSERh+_&i#ZVpfe?gS2A^BekE{;XcO_j^HUL7$FwMX@jh1zDV>|&- z8H~-8>-EKruPJYkkRWjQWtfmu#;A@n`5B!yJX0DBf2x;#!lnqc38Q@A+>_q>oTE-0 z6X**x=;mCG|5E;e23DeqZ?tnZp3w2Q5QFT z$xl@%(VmEZL@AVouX@b|s-P zvS`oLFx3-#@iQ2tT%t0^{R!qO8BF&ZH*Q9NWRTr#xs?4z2OC8ktAhVD2#AdDoF4?CGZ1tV>4hf+royN&4QajUTT^oY6$$ zh;mSOkD+GUzF;PpOCgaO|L}pyj!z#howf=fI>&(em6huL0t@w>6V96+tSv-%YB~~v zrx$&O%=yM1j1b|5i-`&6lMECSb+P+cZr}v5aMiu=mbsH=&ZMz|og>j~jNjSIn*v5a zeo%JAQgr&AE?k(&Xmj5N6treMqts=Yh<6Tlb?KE0Mw_A;yBX+LnZ#GXot%^hMa?4? zQ5`Lga%ja0(K?rQ_Enw)Y08R*AWDb(Y>`F(vhCCc1^Xm{LA4RS#R@Vz_g$8BHRhEf z&8nQ!NK@2D*lyK!aqS*A$}3B$GRV9?X5*=s{Tm`m!6aq`pvE2IX33@o=CtuqW26~7 ziO4%V?S^vQ|L*Iy5uxod&FXhAZngWXE;M&@T?!w8NQ>KZFxB@Z>MjEk(HT=}iA;hr3oMbG-g(sX{2OhybHS=B^U#}#gTVoH**V|^4^ z%s;blTph*`1& zoAcc_y>8_~h9m3%5H0D)2VWtq3Fc!!J;z)A^iTDP+C9eALJ22;s01eRiHS<3?DU&L zaf3|9`Hg?vIKYtO&ztt8^T1$Skw^+{k=MrmePA)i&96F}UUpQrX&iNi^7WfqNGJKZ z{?g}&>c9{kTx%9%8a;cIVO(^gQ>7L9sgWBQPXO)KKYa(b=qCp-a=fayq$uF2(qIkm zFhsYojiN5l4@k~j(B}6C)Z2;r?65PIWtc=UVuk2Tw%v*nd-9Ux!(|N)y+JkAcTND5B|#tx zm8oU7#gQy!`~ei0?Frzp*HsLeZMFF&qE$l5~-_9a|VaK zuxs$tJ;Xes7n0Db1k0fO1PB6s@YntWQTLa}ZJZcUZo=-|063ZTg->AoCZD9!B-KsI zIt5qMn)Uft@_-g*M@I0b5%U~SDragQWI2B<<{XjW$yR3v$?jAxDZz2#C0p6KQrSw> zLaf6!E-FjvfGj(qp|HoKD#=a?S}PsgXY033AI^p(elnV#mfQI?%eWERtmAVefeRB*0ekYn#BDn`H zxumnpeHD%~G(RbCkv4US^hy&E#5tTRXlv#;eYyZ*zI(_%{*^)s_ilc4@>t0UbsFpB zbO1cj{>XxPq;BtRQ@wsla=tPHu=3OGe9$kJYEs%wRE-cznzP@-#qB#9uXx4F>6g6v z)%5b0y?p-Fm%aI6YBY8sh7p|+v5#p*8^CR-4funEN4;as#*mGPa3V3o6JlG{e=I!q z)4H&AqS6F}GgHKV3UfsdRQIwDLlxdH{^Bpv$3ON_`q;-mzD){m8zb8$&h2`fvZ1;8 z0=CCC(e~0j3UM(QX)+AM3r^e#7wUsRRm_&jZIWeLi%H3x?eJYeW4%e@{Wd-?V#L+S zgYJ{Tg3!81Xip;JGo21muQWjc>LDO1$m#k;lIckhsy`by_Z&w(hi4_N_4sW;vEAwh zvzQ;iit*Tf?!k>E3f-_}>`{g_1rYTC`cZTM*z}l9u%;9!x#}|-G@RgpDQRI@#Yn7F zFU+?_N+&KQK3_lP`K({YSxg)=H_%39<k-2pqAT{#aL5qvylw}+fy*aH@d?4n$|Ii|_PKlCN?QbQ8ZiaGQm@Oj)g z1m7ic4xjft_h2mmCoi6Y^{LaGDvdrvS;fq=nC`{-saL!N0Chl$zaT=8+brY!;0NvM z0;fT`c^dm5N!2ECv6Vtkvvj&%WCJ6k8jL`Qo+`QV6j^;jIg=5iost!E!hB_hnVnMN z?tu#h8ib2rkA%B$!sH)-07d%bGbMX{}Ouk)1Gx3B90{5UX>g4 zXPL~62#d}xgfOpFwVw<**fd~T8obdk`wzO88xY*`OLM^y;ZDWnO_kjLc(U%7_Ks!a zcf<&G^kdggeBu-Ip$~tEKK`&F^79}3;QVVp+bI>c*K1&i|K*|y7{*_oc3JQhW~b^@ zX=iq@&N%s?KSC-+9e~t8ACW9@o+N2q+KBt)r3dX3 zUKR85*oNCqrJWA3nnM+!II=YadvEFe|BNygeZYSG^NTq7eELd<>E^Ok@k^_;Mp-4K zlR79(M@IdT-O)l+wN3gXw0(bEkm^R3!I+ViuH)%BOCh%r*O-K)nQ>Gy^I4hF9t>^* zM0>9_oW0ez2UrJ+o0A2khbR%T`>-rycEn9mm=0c8vE~2F?V)E993`m}BJa|7< ztEhP0coEZ`oAV)^T3b{m%dNKcm0&7ykl% z{U82A^ke_{A3HevCC@SLv?Wz*qx0pAAD{E}6B5N75OXBf$GXr>GPu-M6IcKr^>H1C zep_Lhe`O{=ZHUt-pC~l>#L0^b_7%cO>wtIJcY9ylK9(xZkva>8SZmFlXBc;N^mIT^(9JKpSmt4hg>^p`Pfx zzO`b`{;3y7Q<6`=)Mbyp7Ok`niCNVZ1i$gQH`0IfRlkFN#V`LA4|(cU9-UAdslWdR zet^F7d%lxC@H0O%>um1S*u@@&$tiqUykt4Cr%~1~d}r9E=18~8SCqEM5tdYDO}?(% z;Gkky=W0n>0+UoVQ!%-18Lq&0S83fpWWu}$zc{byp{>C^S!_n+Jlw^zI!dfFUfYEXpbQ>^PVb3Jtc{;U09gQgjz4UsdBRW_< zE*!RMJC&1on1;Ns73RqcM;AzYD%LDuj%Z`4)N~3_+R!1&ajx3DNWK*YC8y1@>rN|0 zs`qP#fBVv!P(gZkzbanxb=&Hm4*HzIcLsM|S3nxNwKXyX#4zTwKj(AkYrgjD=r?@n zZ=%2UecvnJ`|iKYzviu9NbmTKzlq-Wo*$vF|0Dks{m|d|!L9H1ElR|PHdMM%VPglS zGuK$6sUCKuAiJ1jgxU>|m7b&;a8ycULj4n#zPN9Q%$@f#SZWAD_sjKh!c@lyNmAdO z{vlJo@s0n&!)D0qF%Emymu@a~!a+@5u1wAJd+c!sGBLra% zXBsFSU?6|K)*|_YO8f;Lh!*ru{>I~?#c7l|f=Lf0+uQx@w#j3L+&gTzc3x-SpZ&R? zqYr%Gr}>2!Uf8pSdR$6hjuxIyJ}>$~f`Uf31f*K{3S&T1pe6(Q<{vQ>gisDcFRsz zNLS+Bf6rb@*r?oi!%sF`C_OnZV8c z)?j8yDg^O!IP4y?EtCHQ6N7H1K&W}wd+ifG`;!x;5>%}fiPouZ+5^~5b?OAkjFFa8 zZrbmwU>Z7KtZm#dTmZ#Y%v^3vYCcJAG5q#!HTOg_}(nSLmU{0S>)KqnJh_(tt3l`kL!hy1a95Ifu=cXy->TD;#nBq25o7yQes-TTG^=@2KyR&7UcV(btXLm<%A{$I`O3jgNUKlgfxFxOF? zA+~u$cx2HnBE@k*%&2ax1^{`JblW^;<9W)_-yT z(9)Ouj~}NG|L3nI`lT-;`q;zxKlpRP9~X_?$}4_UJ7g+0XK*w6r>dS9+zGI{&8cz&^Q@;-Q(e{K}#IFp&cAT8uGyU93_0Z&|T zZ2TDYtr<6;5b(++ovgG1sEfxL7A3768ykt_&A#&^wwX3>4?AtPz>lv3EK0+NdK7MS z=5=nrA)+vl25GSD`omiPh+@Zch5qvy764!5iL?kGu#?LO`3(SVml_TzquN*@rw?2_ z(lDi4-IXj~2B%6Twnd&9f>HQzE+&)Ck>e)CMALcYD4n67DHS`F&)x&`juI@TY&(ig zUAeda*|D97&W=CAn;_s~nJkAh)ayF;ZEt%!ef59&b@Z>k^$WI*kiYtU@0N#+kdYe3 zcJc(fodcw|KWvPA$veK3KK`&_^7Vi857WE8<(mmlM=@-MI2v6b^w;-ph!vhx$LL0| zb1&lFau}cw#%{><8sb+O51D+h<-)i&~zkjlf(5RatL-s2}SXl z-}AuC^s<+|oL>I&m(PyRzi6jEKJqZ(`0&T~rl0)z(dA?I%O9WIjg1dyQ(K+L*gP@Dc?Q+?+33dXhKRtr4h5&Os_+wTk_r8!(@zPr~ZiL_o5p4#16VJ>A`@1b;)}YcY z!XFDGd?@q&x^OkHkV*BZ)A_}e^^K-iyy6uPI)2$4ZO(71Nd8wLmzeazz-ey7xLs~x zj4;0Y{8d`KgQ+RAf;M*{F33SFj;};#7=Zju;<*@vwc?!|Z!ty+pHOjM`CsU1b>2O1T*q`yv#9|6!PF z-M@fc(H!ZjoKcD~LhPtP+gb5c$)=)*PSh{T9=EoO&wtBX==MFN+kY>-puaEBCtld^ zU%0jD^$XhPh1u`+-)Fw*GtEzl!98pt#x(QEem|0#J2?UthY@&suVZzW<U z4v`;kFEu`dscIPi90>Ju-Me{Lb34~v(_CCV13T9Z_$M`CcS z#6BQ+Ggo_c;tV|+!@J&gPC@3s9Ng(DQdt|o@NSjj>d50ZUTrzb9OHrg3K$Kpi)gly z&CLi zSABRO6xL|N+=Ra9;o-yx1IX@{lD*P>ASz{JLw}I{s@m@w+GStUme}k zDBm8M-|Bww2fm;F>#zG-diT5k3jMy{|KHH}|Iq(UU;gj@7Lz;Jll_Y^B7f`1t??T9 zMqS72QdUw5(8uO`4U-oAkH)!>kNjfb!h|1?#Csp`#t9LDz)Im&7}E`T6GF-u0<&>u zN6{tGgdleVy52sdDsOtzoA}vhUpc=?@#|joO8(IGN`L3$|708b>pt%p{)azxrRN_u zMdWoC;a~PLruV-{^0P0ZUC;Scb?xu>XEC~Ag5yU&zljdxLJ_x<$YFjc{l{7TD>!wZ zM-(UKokz~6MQmmP!<5hZ)Ci&C6*gVQw@6ZEnnPcF@kM(6r+$il?&p4%_?Zj*X<~2r z)tg514#_UEPW5U>Nwv_NAh-u1?D2txQ(0ink@gRtb^*Hm5mux&PI`9Y=IO00TJ3WB zP)7x3zmC1Apo?fJ9T)J@?dfsrg7T3NU?p5py637xN6!-(!Wkq)D~;gz_3IK9uFi4J z(uXi;(HG!IMb~O<7=NnIIb+eu#_hjv{3G8m$k1T1)8voQ5~Zg&*!EC<&)0snZFac$ zCi|Zwg`*i4@JF5W?BSa7;HH=W2I3)##>uo*pqTSnS+a7jbEjO zhmaRba>dS7xEKfw+q3QLOY<-V2xs!g5N8R}4^f?e;JPAvE}C(i^a^(HfL|BWpjmZb zb&?MYjH^ZVDeVLiCb|N*ZZ1kd0KiMn{k=k8%{i`uV=i=uPO%QWJqF{K^D7D`u?RhVAN56V`(paNU-Mtkul(H4rSJRRchmp%Lw|!l@{x}cPRQK@ z4FY$d7`OK|*{^)_o8=u}`WyLGuY47K!`J^&de^spGr{PBP6|{Vun(?Y$>UTxgXoN| zs(!J5XHU`?j1Pi@^Rq+a3S;e+8OjENb#@(PgQH_wurYD=vm4%J5_a1VdG)Jb{qPj+ zP4sEcK0E(3Y*{SO%i#ZvOOQ%RH#K0BLKc#|Ed%u5jh?zm5 zN0%^fy~hrpM$spof8>AoLo_Gbxzkqv_kQ^AZ4~|L&;NY#o0fJ$<7@w`uiMuh`nupK zdpF3So6p_i<8{N2f5KB;IIPiLno=3YN)b{G8q?3|+BzN8xQ(T@$3?_&BRldO^f2Mt z-w+UTK@va0fwPBZ(;?9%VO}=IYa7fp(uB2(P%dXRv~V04D^)_d9|B0B=qgPjomay17*?~I}xHq|7Ckra~h8Ge-A3D98qE&H+V<8<5_y_h%7|FFyfQ{)){_rRgKJ9V*@_@08(N}|I1SR_zsXZUM zZPMS4L|u2A-~Ub;LuB@$WLLB}MT8m0L@}*_0FLr!;E1XdO_Km;C7^bh@+Y#)2b)9$ z#AsGT+(cAPZpm=W*0I~V>EkM!toZi2CqILzfy!YIj6}m{T?vvTf%sIx+Y<$EIRo49sb#ScEJlP<~#q4kgpvwOV&H1`2MBJf>p^WI$%UFEvi zUhXXSz1Tn!JwUgarNOJSvBb*(s zQ%v7c=FGy|?rZ{nxT9~3kA}}HnUPn=Cti5LPq-g${^sBMoAkQZy^j8sf9YS|`uxSe z{Fmro|JQyk{oVif?{4^h^;>?m_uE16{$VE~+wcGfR6pJx8SZVjxOW8x4CIK);#q#8 z5(V73jNkySbz_lr?Q`#_^st)xwH*x9C5&+_c>X=-m z3S|LA6~brQ0J`FP+d4(fC%bv@Ubr4 zr$r1meW4EjuCib0lNqdljAShMjeeC=x#=-vgtm$HC7?KohU3T(XD#WZ+_)B)iVD&| zL$Ye`lbb8_7x-mzn<0ZPcKvo{?KJ}QSBOZ!r$wl4b8JR9itC?gPg~%*61nNW@9B^k zQtKr-|EgbXE*!oVoNO{WU^KPL^rV0x3woufuf}$5o%u^cYowcL={n^&_PX1O+^Z=r8{*ckbVAOA5YLZwv-VHzhs z3s<5G;Ob6CdgG#wnl>)36MpuvT(ag9!0}!(JPPp?;?2vPu!Q{A$jKWMe(xdevWZ?H zNs@Uba=ZQUDaVU1zQCXOMcV%K?q__)XUH?pJj2@ogSsRs+&(Ni-(U33EQvfETRtKH z26O#(eS0_jCx7z!+b;*878Z3=hN<9Va}pVH;ax6xOpw5=)m-L|OYw>d;3aVLFZs8W}gQxT$0^G?xOnCV3#TUl+tVYiI z+kfY8)36AG`id|63i`q? z_(EHt4#4`ACDzFi>w|$2n&GLk{ZVu=x4wNm^E!N3jxF5@43j-`V>e*nNpF?1_Bx+t zt>zMTkSj#l<=dD+zWwh>XMz1NK-; z&F0JKuMZqV_IQd3;v^PiH)QAWd43=-%Ez(>F6$_ybhuF296am>1 z6TYS*1K50B%@MWt!VNFw)A~ukj~&N+lLrk#E^kc;bFnM|;+1TkGKSz;{8p=7qhFlNpQJ@)8Gv99Q3+HriP5056;tX5JRT_10m61qH_#9MAfWh z_ix(_l4&>AgF!-BzvM9CYdV$AYb)6E2Iz^4KH6+%2&!c7m;~`ZHc5HuD9 zt%_v2XMOBf(J46|29xO0Nhfk@=L~bK#&sU7qnBvJ!w3CDP5=)T?|jJJ@BE6dczEFP zditL4{`2yq?|mPe50H$>0#83Qbd$L4FKFJHcw1&YtbeZYjR2neC|k$thT>;_<^%L+ z|I9bhbI-kje#1N7LGS$XuXxxLxowQRi+t^#O+zaL)jq z%xy<*?<+O;hHS(Y=5&O#%Jh3@N}DWsMlgsR`2Z5ebI(1;&%WYW`Orr`#J}(hzd*n2 zm;F-uiJy4C+%`p+$o*N|F#)zCE~J|e7^zq{yR|P6qtE?WX=nHJU{SbVlFFEamw!2j zxgJ-+)aiQMc&YkYJlO-u_9W&ifOj9g{VN!z*fOqGvbEM3fQX8HH0Lx@<$<9OqBMcD zBt~N*LHQxh#Ii$~yTkhAN(d%ls~5lTj&1;HqE<(~?at2*gfdQ`c0EX4axTCQJr z&DEf0Oh*UbIR^0tIt1GSco!|iS0cZ7;_=0OacUzQR z_J#E2vh%Q=jG!zsT#%w`=qVK<%8W0$I>?zmlDf#-c5>SvnQtMQ59UcgxV9M%G~06i!N zKlkcOr+?+xNEo}9PMWB2qF|iXw%to%OX4RU)3GrEu#E@s*o3lI`Do0$irJP@tY7d@ zT@X%OhTQa|h<`|OHCbs0Av9d71*$ojV6A}j3pV211{&@F&Uhh{w(3Fb!u#nsxz(FP zNSn&jCVJ|}CIfLXjY`a{ArB_p7%*nfpE8{ay6F_q}(Q)$p^cuI=`}D!Qd&AandB zdLi8r-22M502rH(bG^0yWm02sf5L8dYw@r#@}=~&+jZ{AyfWTWP306Xb|$bFb>Ve&j=0HKd|jB{EOklg4T6$L?PaaB&R6WCzEu zWL~!0h6XvqHsdT6l%7_M0em=@ArVX{f<365v{+y+M@NhH$ z>y2-GBYoCqeHMNE;~(ee-tgRmVg3aD?9ct|1I?eoANarrlqVkiptMwNW5Wa-i6;;H zpM4oUV?V(e!5%c7Sr?}?M*aSOZQC7pY-H%h&E|}ksr4~$84qs+=&9h#@|!Q=87JeD zoePHzH3(2sZgbWsW=AucfoWoJV00rq;xnat<9FDT05*G?>3L8bpPKtlRHo32qF=ru<5Wv%v+X+~;4Jefs&4kA7tDCiYiRZYM^*;H_`foHQNm(_Zn4+v}7&Y)z^>Hb}=S zfP3t{0kfs)jAeRyV9#c|ZH*`OTeQ9+{r1WPt{-$!aq}R7vAM&<9pvQZHv(KQV!@#+iKjyl5njr8@W}W?+!)t| zD1(Akx7!O=S07ev;WVG>1bG)HeNoRLOi9Vh30Kv$4GVc02w?v2^#V{;r!y~s&UAV( zWAPMOSVXJ;xcMdl03yuM+*tDQrisEHd?FYuuv~NB z`3ezO)SQmnY0oeXLI^~JuZtKB+c?;mvG{3*BS1fx0)FG-HQC&1jvMfFfoSo-H{)Z)h9y4S{*OMDWAD}!tc#lv_W3<)^(;KJEe8qJY+o`f0FAJ1bXp9~4BznMV2=ZqcFfK_}TWJ;5x@(I$wu}2^cGM=g{ zt|sOLD5XBvgMz6$M;1&zhBL-w0?nwS;_EzZ7AZ7>fh7*1rcPaQx+vE$kLs$Rs#4_H zi9=>%e;FfYMR--t^mT@_7!STU1D((*0yI{N_@}GeReYgs##N9(qLsXCqJpsf42iKq zVO5!k2o~KQ1Or}aax2V@)9>7fQ}%I^yJ9FdNiqH&y9uB=gb6JyroP~|0qePwi3+Yh-9VqT+fMI!KWF&H$yx%5MzEG$p>)>M{D0JTub5qO8@>r zPPNAoRbXDh1#P4-s4xkz_qg7iGK+Kt@SV9;-7|j8Ng?nIB5;9@=k(BJcQ8`Z6kI#S zF%kIlz%=0_>?F?GN$6CF#PRMIW|3ldQ--P|+HK`x!^X;k$3~>(cXu*@$iYJ<#9bp{ zk-c%^fin4a!qg0DJ{;6vPXXmqI02|vRL+^W^4QQ0J5ikv+nK)0=pA60Bi!f{ZHo(5@$25`;Xyxgh$$>N+^E9`KEu z+uCw}pu7**Pkh{dz0yPj?^r3>;edTzc3YA1c=SDT($-01+x`ILO8cuc`^L!I-u`y_ z)^Ga``s@Ga|3QD^kAEZm#E<`YnkJgWpbVeDjp5v$(0!txJXY_={ZZ3WgQf{X(ZW|&IE=~sL6FF;}#yckV zJkDP3xpw=rC%Xe(^{v+3nS}I_7v?P4H%YYS6QB45-8Mx2*8lUjGmSg zwVKS0kfC6ePE0e5jbt%f0xvqYD-y=LqAof&;@M0Tg6)(;BtnC(%5YVptJBaNbMk(K zJJ+F;);Y4y7YKqDw2V%;&Q-h^JJ?g}>qdocoXPgq$xfLrCg(#RF$U14Vop0^z@A2G z9^*+JyJ5pd)gM9Dw&>Jx`$v;65C6N8ex%jYBGZq9(ao+SR&W>xbkpS1V8EJdZmeov z-ZE2T+-d%wl}$zWRz$&cCDU8 z-j~2Mv=`Q6V88YG^oKR&SN^u&PG9-kzl#3B-~apcr~c%hq#qp{Au<&-&QJ|sQgv>c zw{L;yDG?q~jK?7Xb`LZjE?#^{;+Ji`w|lQ`$Y1sJyrzIXb*e$KewbBp%eFD{UElTR z=?8z{2jtD4`)2-@cYXWZ7!fFktB;X zdk60?bE0l=#ON|(7NcPxxgC$ny!_=a-wgHnpL*VTC%e_G{=bk3 zYZu6-8ZO6vVi;CxS{=ylG4;jJj<2r7rptsyqEjNL zgNtrwN10BKu2w@^3UyvjEl%KAO-xWlWJ@fhJVgUBB8Go zV~vL0?_vUqzJ_&2u({~l!JtG>2SbW+x>&iz`CH7tg-3nC<@WDe-tv}h#6S3vAEAHi z*Z=xG8a;IQ{I|Si5X`cF)N*^;!}Dt2+5@5MGj z?k@me#UM%p#xpX0qW4_jnxK83c zME)W&&iU?pBt`jDz5AV$Co?iKGPaCd4jFCc0lCs{6k@Zt3w+fD10(1aL|SP2LMwTc zuDt-G-oWkB0Fx5<_-yzu-7(L7_^oyfDFtn4u!6P*vlqvryf;6Fa(+>y-tXsY8npaO7$QV2Yu%V zI%p!Z7rNSAE<=RJM~VoAp~1>^kvw1SivwqHe66FC_LgbLoOp40@alu~?;Qdm<=^lA z&hOBF{2%>odFGjC+E-qPh++Sj%wKg=6}XuTQO2fEZzRs$$M#&@_i!% zsphej`6VCO8I*O$L!HC#xyu%tgD+BX{`?^@Qi3DD{L8;g-}Fu2ME~@^`mgE3ANnx; z*nj$;(69gcuMO4#-tyFw(I`>6=_?@}nqsM_9lmrIVkax<_>5KvR1vAH(quFJv^jfS z+~M#ek3O1Nl%bTtP&2$#ffqFB$`ndS5yE($i|w)Qx7yiikE>T7phq5lgkJla*F;K< z>LDFggJ}J&iL8pKQ)oa?>cJ>8LRBqEev~~ZFT0Z+U%qr%ZlB#|U7>P*b}k<;CjcWE zSr09ZzkN<U z*^L_eS?J$H`nZpZjTLUlhq#M+h72RIGB34!f{?V`b8nq_95P4Hb`Vy9x3?v33+!8tHZ%^9Dw7$)867JaL^_nj`QEQ8-w}kB?m1oa%!FLy_Bg&Iq z>p(M>2KRr0a`g}h`QQDuzea!g`@f&w{p-I@zxJ!YN>4xa6y=iJwrWw}vqfMx0Sww| zfI`P+MC4Y^_gtb&FTmjGgmc>^Ks3hD`nJ`{ih$x_+hjY=VGQ|}w|o=5{kz^lANlZy z=tqC_Kc(L|w3kR$xbldqjn~SA@>)Jm*~BtjKqg$kF@xw-bdVF*$XWi)cJeU5Eg%vE z-CeUD2pA3JEYa%rjw|fh*EIs znWXYCr7&8ne+BSiS8hz@iG|qLn8elP?y@9F|_+w zFEpOV{m9YK5NIX_(y)ZY!je?wsN8vt(rEsD~FpI^KxB%;3|FZ_xx|^5C~DlUbRS_aUr)$PhFGoK=bJB=x`K+Ap&-wR$@BMW7^5t?+xRjvC(gWqi z`8mMnWnU)|nv>O7shc_Bld`8?^^`OM9D?%n(?9dmH7KIEh+wE;r9XN=iY zP51b4gtURvU1qNvmvuacon-@A?>$dLUl|4W@u5>eNP9KaavS$kCdLV=r?2KuDvEAC!@w z;h3)x5V`-p`{@hMJ(p)Xu358u^Sg^HjWNn4C>a(fOr&O6!Fjy457G4;A#CR zKGPa#0j0wM-l+bf*D)G8ni-$SeOIsYbI(50J`;H|^TZUa$oLjK8V=7&fY{tPQ%NiJ z)>SJDxEw)_)Xq=%(8!k&M-tXsV^nL3rXvkHl#Df3gC~=%0VQJjx5R7Ux3-KtUTeaU zN(-jT3Lr}IP50=$TtEaT#YPEo-6|3G9+ca_7txCO96xRRMoiZ*Ja%0)-~gWFB|ZF<)gfnxAnxm5_j)b? zmztCDJIz&|)O)Z%OT@oCeE##Fmrs7`lYGxT_tY<^9Xy;CkLh}>oa^0!BP1NzR&f>n> z(s*o{nA%S;0#(tmr#q98&1-UerWc_=>~Xx}x~nw<3cp!|CuKff)k|HWlZ|XACgf55 z1RwALMvDVSKjwjZs|&VoBlKhKa&3gV0?Gl?bslD4H%E3odV%kQR(5I>yeFnjBTlg_ z2RzqT6GV>DoB!v3__yh6{^%d2|NlSwhjRV;^=?lU(7->c=S6*lVe7_jgs!0agt_!~ za+^;Xt2GcN4C5;M?RuO=Y)3;YAsAE{I|ABYCdMJ5sg$13b%FJ=23x-M+up|C_kG__ zZ~EFdSo=0fPb>Y=>*Un@uf8B3fZ#Oll_Hjl@f6Rn%&z`SBI11j(mQO|V0dZa$h%Hy zTMu?+EGd;a{CYx5APo0$KR>HmV9v|^{#=%2U!Mb9J7Il$-r0jH(>?%P(Kvhr}>+tc#sHlFtH(2n{gww>v5q7m%mZ6=&LDNr6G5><7t zblja>nfzzjWafn}BTs4GR#6tXSO$eCIAZa2nU3feAxamh#J8V z!vFz*<8C;1m`gW-Wpc3u!Rom)G`ec?5djb9aCSYzp^J0dlU)M;VJfIhQ=c;IHYf>4 ze}u+fH_tPU0aV93W1iYKT8?59WavsLYuy%je=IjHGQT6`CeJ54K94PA?V*l`(qMIrpnybI6tPp5}v)aPcBK`g|Wi=r38$57Me9ZhrFHBh1M@8TgVK9zfk%) z&`s=p1BUXiKA`5Mx-zfa>tq>h*NSb{015Yg=zVH~-kweMn?TXnHr|bAhM6d&97&LK zA@4g7IbBLXD(6!Z>OjpHH7*0Jrr^dsp^(^nGQX1s-HgsM=s^QftKQlqIj05wMEup) z{nx+suj$1XuhlP?mWhb=$y{4@NupmI?f({0T`c1r)fJqTla_-WC+^SXi=;H#Q?S-D z`~KU$dMd?+i`7xSZrT(AE5FsRptfx_rJi7WXA=K@vovFGb7%?8_Z&12TC?6G=#{MnMexG>p7XGmyX6)-a(Oyt zZ}BMxj+lVm2gla_-p{Qc1|s7ne_7B(0~pRT(w2@*QW6D;M)$I2P&nju{HSxZ23b2g zXwAV9APZ)PE}=Nn=;kq|HU|_zM6^Aas^xXxb%!rOk*Q!K>vp;33I5CqQ@@1!RR)q3 z07qFeUV?e;@o359`wvZP$qu|OLgydeH0;gim- zk{|}qR-dLieaf4X1ZHsscx5oDmmkvhcw3-t)PjLbG@Lqd>ZKX}xj}`Mi_7rBwHN85 zANv@;?lrHeFFx|IkJ9U2^IB>5AETOnz~Lhw{m3ED>*&7w?yE4Dec3j1M!)v!zfNEK z#y`dnKk`UNpw8g3)*`lGr0?>i@>R0i^uh}-(7*Y;_i=HGE?>T<1w-Vtp1oEJERFFB z=}Ls9_(tVK`eiSgUQep84iE5Ip;z(G%4(DSGUR^*J?Z$RgNWKUZBTA~qYTI7nOZ{m zK=0!M42+DRXv@%C2%Re&9p~M}K*hiZ)508=dXwZLn@0pqvasb-wbDqF(?S_6Fb~t*kLaq0P3? zUu(7mZK5-6_J?Nu9Q7RNr$M6u(CXfeFRCbg7zpj`zrhwCd=c_`SOyOY`*#AZmsDA6 z)dKDF4)bU_T5_^`^JUo6()iiZ+1u3Q^8FKgE8{S*l1^qJFDK9he!x!RA;ef%Qe1pq z!TipTTt*pIH-ZBt32bh{huK3UMQFCb$=TsUJcIuxVNjfD;&DxPK@dT%7=6*h1+6O1 zR<&e$K?SJa>!wxYEsjRK*X5}Rtg4lo69FYj*MyixAC*vQ8oe_Sp<|2#kY z+_TNjY7~RT#L)EDuC=?J*#We(15riOn8OLi(xrH@Pe?c9EC^HnTku>+J)eZDvnJhX zt1DHs?X?zR&D!MC4tzi0ys!CAFJ0nSyyBJgg)clu*REZon>TOLzJ8^~uL?(9oQx=Y z9Xxo<*?+cQCuaipn6BJ|aERUTmQ25K!n-qqB3ZrmHYv9z|Gx04%WlS?87qNc2=HgS z7!<4k%l7i-#J3!z5nAWO_TOcJ)_FYH;p+w5w|XK9<=s3>ax#eTQXOrFTf-Ti2mGx5 zEvrDYnzF3yekG1(piO=QqhDF#-t!t>1i_q)c9F{_9ZA|>NKb<;3~HK~XmVf(os!lr z1Fc|9fVMC?|VB@f(p zKY!puAFAg*-GBf6^!^Wi;BfzR-LhHo9Mb8VzVVxCoh8^%oQfL<=i*m??boHw3Se54-rHQKYj=t9e0H|t!0 z!%w^bFCr7~A}69PsLnIPA_r=^V+r!FJnkI{Y@<4Yebp@1+x5|qL2Zj8gy}Fh2orCM zFt$a6t%mdh!@fY{2jr^j=iw9RO4gvxz#q^gW%gWIN6O5X*=%Yoiv2+mYOJQ0!(f)> z>+Q1@q6E5#M|-75mef78zLkN09YkTZW_MgmtP^bz;5uh$?UmLIfTD-RrG46$W(W!OL&V{$Jw<6W>%L=#_8 z(nZsie(gH_{dMRKpMSo>FJEmbwsqgI ztCJGVhtO3q9rwL%ml^hF>3X5#179n38chYAREhKz@DQ75w_}wO*2@|9EX!gjg`f}VzGKH=Xq2=`+EjwPvHJx1 zF)*zVrNSWtpV8Swfr)A64WWzanoQVa1VkFc55~kudEj?@7MrGo22?I2P^>bc*86&( zR_o#{o5uiPK%c*SXtwd|->yr}xH#P5Gq!O3S__W2QG=rlat!-t<&rfm(;*7E;jA(xgz=YWB{b1AF_qN=Z8X>boC8;*tCcco=3IyX z-lqIbziUNkcr#|YlPd~Ngn38sWiDgS67R)l2pt~-CHS26(}wU9hfhUKobgv!W&4Pt2kO{7 zrkl5J)_k{b-{xDVmulHtw{IPS6_+Xuz3+L-%uU^%QnuER1&X8|fU3H3(N*m#>w9%0 zWbFBsU0>$f0yO2mz&(UYdL&DaTx|38&8Z@}as3)!yMBXS@{-5-yssJ=!51S|b^6L0 zm`b1ieyNHK_Z<5HK3ck=Wwh_2h8g{l@pbI0wpe#~AGq0g9LXhW>zs8H8 zJ}*7}9^~E4riRz`94s1NWm!VNdGP6wXbyD?D4!mK9^OFtg@Zy_0&x&knRR6hkhso6 z!=!->(G`I@OD7I*q%va*tg}3yOcy5_F+8UC{n>1Igr67%_|}u6+2w*-^l`^#*SIf- zXnup*G;W_L27~Scw?TKpv!5^qG6y74i&L-D5bgBWK+{A~N1t4t)~@J_81HfRzCB2& zdT0y|&qC-1kNaF>xKwL56GWLptyqpN@5KB4@63@iCwtg92}G$Snv`H<%A~uFb`fvn zkIasW$iy&e77rL&m7vmFZpVu=@Hq6vBxs)61ZYi_Fp>YJbcd_;WHf`asOmZLDf_^5 z9r)Kt&P8pm27BaesiT5J;NUhr`q*Q1>*g)Fb?a7*ueMLz?sOYW-2tax5#=Go+$LGN z#uLzg^?t0~MO#(Bs7ifDjOoqsbx_htk+x)~-w%gC12!6vTtK-${*uSbN|65f-m;a3 zTW2!ad5A`Sp89;R zjbg(uY7G62M2=kGYn?QpYl33k-|`G220d`K2&LsD;5*}u9EwvZGp!@Hn#%4%YE+tb z`V_x@N5NO?Mz-I3r-Y1uT46TDwTOP6QfGGtFWPK1^=3c-(BY%xBar(Id2`~Az75C; zv(NA9vtKV*bNsFS#XyOYH$!OBU$Ij5w~-lOHoC)U3K?gM8UUdfL0t=4g{sqwSMD!z zWw0-r=IWG{bedH;zFQL_>`ivYsa3>5PkUz=XOCsjQ(D0>5Nq6l1DVJ@3@t#%{HX97 z4}&I$v{d+|x0;6xk_~WCjmFEXI+P2CXXml96$Q!CGqTzlOW~zME{lI+r^b(gKA5y^S6GJKk@O8S6uGD|33PbZ~hj(_sYGU&~-+uI(-Gv zJ+}~(>anu8WXFScZ6+${Cy7*!e8R>Z6#8?#mphhAypGDA=93XP=aHDga&1g1Og=<1 zXY2f|D?SjW@m*(Z)PMuSIap^d0_akcv4FISSDa9j&=#V(y@;nkr+2mi6%F`+{HqDE z&&2Z9Jdej?Msg&Y{Vwp9*jS=WaY&?vR>`LFW`ou5WmdcsaBbHj!==&fKIP3G-6vtf z;Wg?V!qJPpXXDW^wg+x0{Dp&9<0qPFh)mM&n;!#NOb4%AQ2~f2hs%S7mH{9sMnQW=HV9%_yU|7*lkE9jhI5)zJBC*>$y&j1x!Ez0R@d>d z9cvv&!06a{u|s2hM7f93OF1KvG}wGRCKoIbO7IW>%A@^}xDo}`>zGy@&%qEx2TE02 zUTuD}^L_gfx6QLuSB8Ay`RA+AE|VZHd)dqA`7eBdUnpN|>r5f%?aMD}KVh2-w-uQ( zW<9DZsDY1)LbDxRzbuQ=rhS1%$yC*f2{g4Wu|pZPl^moKI;@}EJvlw4M;>{Y%DG}s zKl2QI`qQ7PxHSw4sD;KjiOi=NbW4W3QOy)J)R2gJtNop&cm3MZ00fQBVZ~8s zUIWuSTFsu}Nf5VL+xTEZcppZk89zDvnBDIHBi=LPe7QzWXAaKjRvAh2NY@6|)aYsu z1Vt1@1t<=nIUXURQ9offwBU-2iv49_oG`O)!loj1rYeI{Msd)x8W6{Nh$uCK!CaD1 zZm{(o#t*G*w4Fg3(1An#VG8((ALu%VBnTzWxDn)UH?Z=BgQ-sFj4*322D*`N&Zv*p zg@3CYB`~(GOo-jH+Ie{Al!jYM*wb)Re=QWlW9_ofdUoYJ^GK8^c;k3?lx2>Xk|!o> znm7Wl1^FbtH)EXid)QYb32d!&fp_CP<+kcVQRpg-2i|=k*6kQByKYNIHE`NjShNFI zS<~8KWheaTqmR*j_ukioBMro^e-2l_{!*N%?#sx@?&RRWobct#m-zJLlrCMqR1bJ7 zAV2t_5AuzhH_E}O%^hsc694`uJ}Dpn`0w)%d_U3KzvYzv&wu+Gz4teNlm5)t{~52M z_f6JHZ0Dr1lg@IxUM19Xj+E9X^afZ_Pbym;F3X`ot&%Q6mR}BDFtmuZtzVjwgPQ~KGWQ$S`OPoiM_x!tC}G{KZ1VT z2w1i!ZL8PsI$$4x001x{g6@R{OeG+ze8)jgY1?}TC_Y4>ewf^<84MuRl{-A(3>1|x z8I*;*^+*+*<21?=N^O@b%BQ@OMkz&Q@6(1NqsxaGWH*` zrJ3$EvDL#;>p5Wsr@k7bFKw}v9+wV&Lpk*Q6ncFqplf!lFQD_N0hv$kVlet2n+8c&l7D6;Fe&nx}#tQxsQU%=7{h(XYMtWn9> z7*HOqmNCQI>oCDS&=NU#zIt0aAQM1Al++qEZ!GA2bV?-13&0}QJ{*Quo8FrYqzf1~ zrQP0#*p_%Jh~vVwh7VbQXPKMYt2G4$b|9z;oUtR4L?Ovk`-~al0~W>j8R^cPw@m;i zt+%yLl030~)Ad8Y$XrMy@WwiKO_&W%@y{2zfXfKci|JW8%g2GfmYzfDa}GXlgsc5x z%%@gwQ}#-A3n^ilpw`@_uWemKlE^&ZMpZ}D^w0jEdh&q|IkC_aI$(bd;!(AyVO-@^1uTR z^kK`6%-NwD1Zg+Sq$}AfJ3(*M8yo zFYtX2FZA#KRi-z-?1cWxcL@Ez|MAmsLVo+vEi`0mt#!(R^qV+1BQnhlj{OXmhvtJ5 zvcf+MH?@jHsHVe0S@olz4PKMsh=+<827UX28YeoaZ+WGS?LL{6r$OV4x)SiSwg*~g zV_ivc@rhAo8r^!sB#}*#2wC-epULmEi)~T)*H84iL3^lcW}$9J#p_1HOGcW6I%9lT zi-sn+`syzu-l9$p>1r`gQ0?iiOP!u!OPk9DM6gXU2Xv6DXVQUz0hnl-6cVE7Blvno z+bhf{TX^r72n8o=D6c;!3S1`p#+R&m%NHU|M}0$^&8h&wL=M9yy;DE z=D+-Xe}%sKHLs~>kI{N3+{wFo|GxMAF8vSx@?X+_|KI;h8*?>EF}?hWmsfw`_kaIm z4cBYeY7oTie^&}E4rAMVD%>S=t{P!%U2Cm{<6QR&@43Fp`fQ8;B0PkFbD@EltY#6{H`LOU}@hGi~=P?zZ7n`oVywDG>C zmy?I5a#BB$G;kT=UA9FAYJ9HYTLkBjGt3l8R z=Bq?z8qL2HXo-2pvyhG!23fU9I2boF4`V(C#?X|V-}2(CUTeT;qIC$wo0za0iL!u$ zm4zO~uYPQ)_DtWnPw(L?@wRrHKo4ypZ{){Hk#!m%6$h@vkSJ@%Hex|n-j-MAb@>K! zuZzq{oM$W96bfTyB}IJe7}*eX4UXa&AP+s4W0qq}NAnW&zuUh~hMI%LpfFKkWA8~; zry$=_>bGX5O0(=}g)?MbxEbGLKB2jPXz*@?B`fb;If_an=hvxkL=RPs(r4<9KYDN` zo_z92dgS4U>B^OR>C>NS_xBy{KXtf&^x;QpK;+Xs&!dk#!b8|vKRtVxl{usz^xY}z z%(waPysJxWOG4RFQ_cwKL6ORC8k;G>+ULITJU{d7GvyP%^<6y(zOhaHWZw1XcJyPv zaFf38twKNb3p;w?fd}dQtbCou4qxR%EMH0-rk+b8b^see*t+#Oug|Qy3+0DsQepy~ z=LYV`a5DD}_K^#;c3#4BIEH*^fx&l?FR*G$N12GtkoESX&p4Xh`N!!H2uQQv{t``) z>H`5}tt~^vSw6D|G}{UDod6D~y@pe_tHf<3&5jZ`B_M%nr|wK5JmMQtWd zcu1%d^B?ONuQg-fObP0JB-yTSeN+ASl9#@e|BHY6QwLw< zzIwjN`C&Zz{9)qc+O=!E>=%pdlurQHRVp$LjwfKK)?U%W+pQNTg`ngA!Aglt#tWs| z0i$(An5EBh>ha_RHgXLor92K^A_pXdqp(gJTbN@95uz}(f|4W8U{-fAdF9m3x+Qjb z$FHt92)HI1IMy<~&-2cG)8%RK4)wl;z|25zZF1SKv!p2>Z{Y1#kzfzXteyHyBv|uq z3JKfQwTQmsgja3)KW`7F`{0O#YA3wer^gGlSUcosw}XKzR@v}?Vi6_sWFUedUULHd z3@N!fR?}nzXLMF+; zDw)|7Sz>(NuI0tqD_-LQzyrl*79%vBWNE0eGh=VK+Gq`lXB}%sQ!8?TIgdbRZp49x zq*CygLVlvToJxtGA0v`UwPQa!~a#38^^4_PaL*QG@)xO|D`>1Up1 zU3sF*T*8%TRLxgxCB;WrPwc%`0}ClB!WFo32r^dkq}7x+8M`*~b)RLb%6 zVJpOM_I=sa$q8+J%IJrY-{U}pKA?meda3UJFEVf(lY$zgVhfPyDiPhe((UH>N(|`^ zf)NzyoXpn`0gwWrq+hvmg}&oE-%el7U8Fxhrz$_!t-sy zL-ltTMs+(D-DU&h$2L*J?Nhz&q4N?u+tta7MNI|auzZd0Mv0lP$2G4jK(3wTkH||m zD!>*0pZxlT7+`Z_4x$u4J42)?z79r+{GtM~JP}BHKgx~j$9 zZ^{q`K#glLSAZIG;Hr~WTyEUB!88Ocqw@?n#9gR6cbpi`DXxdcT`RGccGWCuJ2Js+ z?a5}!tmcW2CClZ0W4dEM(Kk#-xFS}9C{O9AP6BDh3-*A#qVV@#e8f`l-pBC<3_`_; zoF{+=j~W)wO5{!BFrfG~5uN4kW6p{4?8o$kL z%Ax$yICsZmF*?!(4+X7#aw8JdXW%Xp!-tIwqe1v!5}wUqw4I@$mT+s;X&BA%`aciVtTZ!E52^ujU+ zO(~$>`hey<;j$u-R|9J`I0F_zZM3fN8M=(SuP21<)nQ2H?n#0VZzupa$`^8DxZ%D*y?Qyf3EjFaR-#70X0_fzlcWJPOaF9&%WTD>*9!SRo3p)D+Wuk$Of$4~@nh@}4GzxfQ$UOk3s7*L& zUDWSHQ7_G!pr%RGwiQKlH`*b2IJ&`6j(|t)rYcBMX^-!HdThgrCY6=83Ow6=W zC~aCuoZ!Zez*2eIh;r-O;Wz}Ihjy8RcY({3I6O1p&of>Tf5lXl3DfZl^YIF+Iu!tE zes4E*QJSCC0mpRbPocu*xzDm+#Akq=#W*tn)Q#?F&@iH73l`6gi+C|_0$|Dp>PGzH z42|OJINq)`e$AAM-j{znxF?$Fg*C-I@qX>fXn*V-@+CeK<%(X*mV?Gd+_r8TXy-0= zMk*^bY8e4lCa~R4#=)p%fY%Rc9W|BiKX_H=xa9T9{`@z$h)+aBm3%{$OHG^Ujy=OVaRz2ev~Y7aLAFia0AQx`7SU}!pdwukrs%9hepr(M z%S0g)dE7OjE$(NhH(DOHAP=@*Ttxs@GTlR_4+ipG8))!VYhZt%EZRz&?Dsw_1+EIja4x``bVkE{(YlYfbL2x8kw%co&D52y+@M zP3^^ZMA?LjOj6_pDX8MD?zUr&Kx=zS6f285ux4!hV!>UFl^*W?C zphZTEZtbA;MLf+Q`Z*{U1+-n+a8}c^YuJSR{T5Hj2K;SaoaJGyeto~DKTe6V6&fm1 zNW}g|)?l|Xaa+T1_Bm~YZBuXntq3P_$PPiR+G8}QdTd)IV{i?2R>(%M*>t$a0~$gr zL68-*%89LRgv+!z=8I;DRkMmzlQfPk{H>7bcnbShgHU-aTqO&_`PG~0AVPK{TtB_!71r-*!BF70awC7v<5&n_1l` z{FV>;0fVB0k4NV_{$6=T97<8#GNY3`OFs?1Q19`_9;5yFULJq^F)jzI79ZlVM<1;R ztCsC3k3aUfoSvT4Lr-7w_~SLeBBD!dVMlG9Ws*K)Q^Ot%4y&>G2{%R57OqIQIlBt# zY$;o3RNpc0&-QgS$N@dMbXo%_hpfBu1)5gJ(&xGkvpxHz=}zjO7A&C47DQXz!hMgv zog~k;@?|LGH5Yf>Q=l`-Cd%OSwJP$m?FQz(lGuk1kIrK|&{gIu&`=6I#4%N95`L|E z@%laD)wWNmZXP(b_d38AUybr9`|m!Mr6NGoC%H=L4-BGDkrGz)XS8 z;%$S{Vc0H06Wy)4*YG=OtM+`AUe^y`pc?^Cr^6}8ccSMf1<*@29_w~=kuX^o+rPpj zw2>@Fv)uV*c7Q<0x^^*UqZKAa7&Pb{+BWp52JP6k8Q3f%woQD$OF(OlpByI!VY7Tg zTxZ-9*y9Q4J2Z}c(~LCC|L z?koXx4ozd(d_d^iFH!kX#50yb4x%&-F&-L0Ht-;~3K&Bv(PnUT_yjW4Jj&;y|Et}r zMfLNy=6AJj)(td$@ekK?I`qKO8cf-CwZ1G@SryvrC!O->x|Pk&*QPFArD!XLSJ}U^ zSq@oc9aov&72iW~I7>t}Hs1~|z*UJTY5LTe(|x=mACA=MH*W<8dxjudD04pVX*a9w zFXP~iCZiP*_V0k8pi>4Mp^(i1T~LtNz4saeD?8p#iRz^_joMQH@lhX^6#IaD zDsiC-mgfN8b%`oc8b&R~xHdJN$fSfX5*+dA2?L25>d*r{K_G&=hG1msGy~QQj){c# z#`0!(a*&gu3eS855l(PlW0Zm8_^NtTBZ;p)y^DbLovOL07L}hyx+H2>R`Dl_5)V(3 zX;Gd^jef;63F^?7%JhB0THU~PX;BsfAVU_{B_p=o`pk?cR1O2UIhe)6S!SA*Y47l; zCr~$F0HhwYjR{@YYd}DxeggLuuXsX(7xKgtFYi?|z4D1yP$PxNE1r0wx*%r=wACaBfVXbfb+L!?EM+T9`BKeU zTOLxIUC$<|L69*(UZfAV8#O2>@5mZl@QT})?3X>h_*nUc z(UpL=JapHN0u5xe&jqZgH|hZeaKJ5H1(NPup6+P zq*3Q)Tq=!tS5)YI*EStSf1&0G9JQt&qLq+Ihg)1|qR@&dN%;rb}6c&+VmC-5DAy z0jZ2(kdZr2iX__1lq!ejZZROj^>t~mSO8Lci;L_p(rXzWTkqD>va*OT;>T%D2)yWz zQPw5pDC+BcV+UX2YS>;=s1%SsBQIW&1?RM^j5WP zKRw&{)S4z}(1V@J)Otx!n%DRUE{+c?3d}%BD#~t^iBM3HlHMz5r%*CuYql$|`xGOV z7Rf}KDUwNAZ15Ze@d!m<6=75vw;3Q0HvA5S5GSQ)a^&U5b09Z)4HjVvXk$NVJO47} zTALFsxR%$-7-2oG4vw>snkM930H$fU3qus+;l$&M*SuN;EmB0j;f8I%Y^<|AV1Hx| z%UUp_{NJ`S^%trS$KX}@$jGZaNW4jMq?p!8Fmn?F2iOUbp=Na;F0bLP&kU=z01(<@ zuN>wpcH5w*|F!(=f3=Mhmr!Jb0X;K&Q8+!#CoSd6icevpwcY~lF?6iLMb3vJEpKmU zq?Ox#6Z+Wc*CYKelqnFJ+8P}Kc97Q7i1L0O`8zIMHk1zW9T6%vHAL*~Cbmi24Th75 zffIVGq`e(;8{%vL4oC*Az07L6u`bRSv;RK-!V6qJr`uv66-gFwkf>`K46wGnxjP2m z!gODpDWN|4YEIT61aWf0UHx%bh1O4Y7Dscg+g}>3cPFFu?aF;>r#-`Pnt2cAd&8c9*l0v|BQ))2OQ z#!z!A>?r9oH%C0YCiUIUhNrc`>Fl7tl8U$wva?lEnXa)o0DJj2+heTXS+B#lft+}_ z^;`}bG8tEnARhL$7^kGkGzWgAj6k2eAcS@sdz%2(f9Oj>kr`Eb1=$-DU^p#5Fx)BJSGR&>q`dv8j!?8elup=xYqdOXrVhv&#puchJuGA=zH!=I=ZU! zP1g$89iWj(wpKCrRXR5lPM!nr%aq7-x^Cn8eu6uxMZVnXCG> znQ{octp+XIWJ}wZvE0C`>M`C>-(VgqX>R-_O8LWyf%vRzWu_~vTuPNQC^>kvyr}Tq zBns3&$y@_>YQ!LhSv#3>tCEQh)ns%7&ao}3WEG({C{ZPJF#!x3*r^C>jL#jLpO9mE zjxAu9GvYIT^HA;Fh7mZCkZ+708%`n@Z3Ebz-YF!(Od7}co&)VJG}0xskCXdaBMv3l zk2d^r3?6j=IL%I@+q4mr7=V{6<6GOLhQ)Ze@Dzt-V1nDT*vlr5_YC(AQ|0rJj8`^D zj@M{gkRxK>RYdE6uonr90UcF0h=;;5GBCUY#W}qj7*A-$ICrx&fWwW%o0$G%ONFWySbc%)xsy7wzkx)N~hrRhD?uXaG|mAo#ZA$Pdk zk`)MnT7Vi_u!ANwM_H-_MJ?$3kdt`HB3I*WuUpV!jr7BRpZ)A->D8}#m7cb4&FQL$ zRi^719(75qo@%hK%%QZk&)7-d+Ghg6=!EnBYytjht*r;08JSnzhPXf#jq^$- zc{(QlJ&)#PS0_sIc;=uR7Mib!vk9}}7>H8az~w{FV*1DWU)v18m0t)@N!&i40iPLx z>8;Q>Bub3GD74>b5MZND&S*U1k~FokW>NcYdXJr*Y-n}2qq*k?jwwffGR48q+K}4YZVGSb8W<}oIc01CZRAv%spc*8S?WYX59;+7 zHPBI3i?;2w#U6J*Km%j?#gs=NMDO+CN`qsD7%U<@f$~&L=%xCCd z{i}afeUvAke6p@0`N1FjLE<$9(_z+N#sL-mVjYQKaEz5Vp)EDN>GBrP>04(yU0Qx7 zaznND+kgrV2c3lC^U8&GLHXYvf#+RbL@w}SkpJO}C1{~+V0p_s;5l7QY?P& zwpN6!1wwd&8Gi>3Gu|dR4Kj~=uW6$t={0CDB&3UYZ9kTdQ^0LloVd2VaVR$d7CNcu z4Kz%-1uzZ;BFeVT#C{)<qs3tbQzxI11-lQOFs2Qa?o3^BN%(CgCbosy zAnnB{bNb*R&9zO;6YVa-M@2##?L>TdOT-4-H+X)4i}65S5q}A$m`FuxKpgpTHG?=v zL-8{>Pz(*lg=1uX7a`qg=;PWqsOk`$i0M~>21UBB(bvtYDBM_(6Wc;G?FWbKH0BGt zQ$SS~T<=`vmiM?2QRPYafy_q%uM67)ic*A8v%fsn&}`;rZVLu_b}@d(SlY<+2p z^mg^U_H?onzI~ge{I)>KQn$>MW|m2+^JPaTyg!6*N*?ALH?GsO&pb^pUb|ia?Pj@H;ebGXtCuPhDg8FG#AY{t&?w!JgG>@OUA#sRkS z(WJ+S9QRsV0*cnaaMRfo}u+JUMzT@o8+2(!b@J@@k~tgLGQxq+&?6PnM22|88C9qDlry&3mam%hX z=4D?j^10Hz9vn%)(>wxGNOKhW)^@$`=O>xKHYRTT-YrlV#|RA6>MJ_{XfQwe6%6%R zhvOg&l}#YRye3Csbq06B7=C*Z^K4=lyKa}!e35Jwa7JXG~4KVDNWfQ;VPb~EF zKmYUfxdcIe?8knL?!EV3m#-Y&{=MJ(y>#u`wYsI|2Y%oOYT8;*q~TIAZs(vc8p!RZ z19kh}4vi)A8A`rg3HY@0N1ziyfwm!>i|xrU9A0N5Kd9J=tf(h6K$P=yN<=dG8}ijE zn*-Cp(-UlQ@Wwlk`;Y}i^|ZY}VdvSI4^8J@W&}!lI{ROH$KKd@$C-MkcII3sn?Tiy z1_h*uyw3Hd(E?)5EdSxUdE>_FI|p^<3y+oe-Z{|*{+*u&_NzsFXN>z*B|Ni6M2}1g zrk6x%XpCf4igB%CD=smz(Uj26xN#6sy1?yRCkuc!B{u3Kl0hN?2eG90k2kb(90uL} za7+w-*dR(`H_7liKxvpPXgAQHC{lY({qyQOWmti{IGgGLb5ITw9?-*@9{t&ny`_QP ziNO%d$3sy%n+`OXo&P~GuMMJbjsY~P=2-xcR{q!1SL@&ai>G|Dwj4-i%tqiSiocc_ z!+wc*fau6#W?SGFA>*uFJR6QUK?U_Xv>1auddh|J%L0K)&NJ-bUtm_?Er~U|nVX*7m;&)3nw%?#8yE};!G3HTw|v2i?snWy z24?3qWAAaMte8QklEaaCLfyf~SKi>5QRU zb!$IydtYNAi}WwiwJ^bc*-Hs1ShPUa+o9u;{lOqV|NQec?IkaHNey(|IE)|1%5$z? zdV9-T-a^0hOTScCiDQM#&_;#J-!f%xH#hi#F5X_8g}G zlA3ekKvE_}gGa`DB}RoIM7XemvEVdqIRY!~Gq;poUL$dMqpg|q%T(4kBR*@MM0Kp- zGQ;APQta=Idw4aUKKmd^4u3lslId0DN`@rJhv6-?LU9-|;V{3$)gsa^#bL%69X;PB z1_{7bB@$vZk-e5h6;gvAXB*NPPLYJjfzgcDhXN)FCMiY%j$Ei43>Rn0eK3SE4OvNY zGvf|hL?uRpF*2!Ndxsqvy2}()x&n^90k*On;PwkY54$G7(U8xOUUD0g;t?(#bW%9N_htvsM|E_|_i4feH{F;L?E8Qhb42xqZ- zOFjRi9<+K$KU-=5gh~M9WLNrTSC`N3>X{-`2XbX0OF1v(WY-3+`~G>o;s9AtS)#-m zc7*mh@;6>x)1~rHgj_!$Q^>0is(&Z>*JtrCl#c3~PVdOESNfi4t>vRm$8y~C7V@IY zBSRyab`Te)Ce$&Eh!721M3U0V(St{MbUuydH~?_9l8qb32PR2X&+s>C=wp;u)fr5o zK4_1^q1c8DunG}AcV-^I1Y#Q2`H5j_u1zQ^i2noPSM2q7}YvohUg zMdt(Su)5(PGHz@G3P)f*$7ZZs2xaIEZkoXYCe$@W=MD5lt6gw@F1ah}T*SB48#rBN zeIY@3v1{0aq@!d-KLb^@23xjyQ}0WU%0#e>}T!y_U+r0%mvrLNv-(o#agCZySh}A6Y8{p zPW>=lB}2o#+V_r5z2EhqcwJp3UX)Ay3(6c$QlYR~rJ*-KBpCXKfY(%4Ii|{aV_NNj zylnj)h}~smN+8(sff!CvRF{Buuapz#kzKbS z8b?v~(<>Mr?ST-sQ>)0Fk6mcGqUkzp;wKrX3C_sivg`4la0Z72YKWJtyjjmntJa^V zSJ6PJ*l+@EnnfidKUf)tAxbxJ7b z2EPCw@s&;~KmUg{VpV=d9Om@x-ZOgahnB*t{S%umpCM(bP+;b0IzUQ*XV{W1o7SMQ<3KKyc z6H_B@;OvrzQvw>r$tjaU=XjXPcspUg6CnxO_x@Wh}=+^C9 z?c9)(&f`2=@QC!W7k&?sO8k;j6*!dL=~gy;+~($ z+lRsvJKuMc&IQ~Y4`&P!bfgEAw0XLwlF1c?aI2Gua%sB2Yc$M=n*E|8P0A{sfUZoy zAg^NrFd(XgTpgi8V|t>=fHHybkrx7iW{7|vGUQ(XUNH6GlM?u`t60*SNz#ID8e8kj z`i67(g1V7HWt*2wPhRTQa+;XM##lhn0>OqO^p7F!foNCR%DqmAV!`Txq;0!wJFlFy zzj|$A<+#~e-FhWNw7t}=uJm~ENut{?I($o@qfYYo=MoH2+;(Tzhz@1sp;x)F3|>+K zF{e9*6)x2n#ntYzm%eHQ0_@#x6{6_ju*SH`&rWu7S&w=R?UC6KBANpX;>5?nlAIsb z{C|8QA#dt4NPfS1fdguC|boY;HwDMPjQ zCEE?%R%DPuFhuX6Ar^sxtuakD{VE59Yq1u>6&w(MF$r0)5Clskrpz+CW%hXPdOzDtU~LmBTyekge(gd528r2~ z7b1Ty5$SGa6FeS^0f^Y_m)QQ}LBpCOR#%=E8VpiSaNBYJQkLnSvR`>8WlK!m?$Ea@ z)bo}Oj@7;(R?b-K6G~4#^%VW$zxZ$I#pj>XkJ|Ll*RyTUX-LSbT#@7RA&W*()I~si z%o4{yB>s2e(eNCNP*R=i!l)ON;4Z!Y@pyH!2Eh>R|0oFpe{+cy_ZDYWBHmNUL`MR8 z;GcDT$;*X6$zcnVdRGu}V~ap=?yHUJd(gKRx?E!j>PBv%!8Bf^pig4Cz#AE3XeQU; zNGr?_&w#M$S{tmAo8xJIYJb;@#u?z)RM!Bkj%i~2iuwZTKtlPcQ)#8LfQ%E42zc$1 zyMHag@WynBfVz^A(5X`$@Lu5c-gh))nRl4XYmm5(+z$oQRWO8|y@Uloe<8dUuOED;9OQ)7cIn zeu9c@=%UW{(ho(g0fPlLBi1a7t3%(_6(vONuvO{XX;y@+tsvRc>F0mTrI&3mmo8nZ z2d9?n@BZDtTgHrGGZ8J57Qw~)<@a)M!F&EQM`gvX3(ywE&rI)d` z$kH8%eu8^%9)sQon+FF__a0J85hgkD5Sjw(A-nsfmFK}X!5j&tb~MYodS!Z)*ehy4 z{B#%yQ0nAooJZNZ{GCdPJ}^|2Brkp zs1|1!4C&7M@6w&OHK{vgk=Rb4q4NrpyvB-7U4&*1QLvE{&#Od2eI;VKqqZS>*8~=n zb^|%p+QGEh8ScV4qM!uT56s0C$NjzP%rKAkNMal_szzy97tir7ZmDSX0Zg^ioX9VE z>0^UEDarRLDVD;wk&Q z0~kDTU(E6YhhRe zgEeR?ODn`k%4RqjmVDQ*)AX`EkIhQ$8f@;f;FZdI-q%B1Rb{n;d%nFNq$;JBh2@OS zS^_un1JKd<93bdo9xY!tL7)G0wxq5d3r3|)zV4kBNLPZOu7lwF*jVsZl$q1ZN% zzitC9pV=+M%2nqseeZNP(>z9w`IqsmbtBAJp9`*F`|%fR5TBv7WQ{9kkX66$h$hcv zfrcT50)sn8C}i}W;=bJBaq8j@e6M;@aQsD1O(6V<&@>$$i(dwtJ|ZGVh{H)bI#9eO zopJjEEt5n>3ZEAmtOOz-Qf+&tP*Km@MmT2%m8XI-eXb^H?)k>~Y zbScDmCMb*Gr*{diGY5w@#3t1=q14KDHdlfoVJ$GyF%qh$I5%j6F~=7Us5jjJ5RWz+ z@33jq(PUN(X-1s^WpgfjlaP~{4NZL=NI>%fIyY*kxj_H5?ww*$x>i0q)3R^@i3O3oH>1Oga|cvPh6l33#uw#^QbR2 zQ$jA~Q%T6-@y1{fJLux>JT6TCn{Rn*4X~c?&+EGupdeQ7PGt|?fv~aZ;N~dRrK()M zGNXYF4M>cDhw*xMNJcAQ=D5B)mlDX>Rp;sO%V+0{e$B?|T&enz%}*>#ZsiapS@x~% z<Mu#(K0f#tv9lkL{UKWr6+!eJQ;xTK!3)JDdziovD44A|Rweo60 zZ+7BUSZKd+i8|0!&zeEI;kZu7&!Q5joD8Lm-tLN8mk3=lw*{kDHU>1Kt+A^l;5h(@ zd*90Xc{@uJqDeU-s?M-thi*Ncp|z>EChh%8HK%9(aKM#<)`g&cBorhdFm`bBdvVmXQCw3?-VV~#sC?9ct2ZWgrdFi zHc!v=3nzK#%Dq=;*S`orGjXzu!@XA%K0FrT;dDvFJ8*L?!1%6iU%7rmCtUf;m3#Xa zR$SS&cF**7qhKaqz9kpXH?Chd6KbyvMI9AG8`Uf^Ix2$zs_p&G8_!2IoyGWO(#65} z@490%oX)A8bC*VWk(GC`46kRxh%4r?b5If|VKQ`)3xu3+5$s+-J7?jTj%m%&fmHGD z{eWaRPwm&w^eetj4-h#A5T!pd=(boxUeqlFbV<^&9OAg9fY7m>>;_Zrh$MBcv6q(! z%`5H~0|x6JxMLW;obGKMK0J1qt-vL+Wa+CdVutJ({ww=ow0?&v5@GrhEOxjshWCTJV*5{?CD02CiUSLg~v z&kMFfLWT(!nd$HBhVaC1f`DlNa$jrFA|in4aKQwTAl-TklP*Yi2XAgU2Bb0)xc~^G z1kb!Y0vj~&gc=zG1mIVTeg@fi72XlKsV$=+4H6)4n@txir(5)(9QFgRH8{JX1d`)L z$K+NIK^e*62U?|7%E}8T59~X21>|&%;Ct6?@qG@5k34T)DpR3~`ior?IUd?4tZ%f4Qy)Q;^CdsdS z{J$eUzee%nyt+l_#TQ?k%A83%N96L;zfH>%Uzftwuh5jHuuUTG$@D_Oy02`hui9sM zyALw>OgbK@7roEVA%z?%R}KF~c>WL5)mQ)?=59STLjjj}m=#DTumPqCpuk=Kv|xi2 zjIs%%5J_q!Cak?W6uA?ziti(AUMWX6Z``EK%j2Di`xYJpih4tFl-Wwh&>oQ=8MTxi z2+{X9Z{FavY^rWn)fDFG&(0##Z1J2G9Gh~5)faM~3G{}c@r|w?iUK$JImTPVz)1I0 z7|tUZ&NNxQOyr!>5tJ}4$7=k=w5|+tu|bUIA`)i={+-|EH@x8u^zcIuH+{jLraJ3F%Me)`Zgg?b07hFq(pA$zxAjxz%jx#DDJKUH z=GMM^=8x)jVGV*9)ZM{{t6!3-UzDl&bfCLyY4t3U9s7W?6B!w#ja%v|>BrdLyz)yc zWw8GY2KHfRa)$m?%_q(@DS%wavH+oMV>VqGfAhw@{RW=ZXUDhpvS$P)9$~#%XPnI)Av6Be>_0_$rYPI94#?Z6I>3ia z8*WN>I4c0#2p#G}s{&)!)^FTv(m=O}R)pEW%coyk+^7cQ4q`Bjwhv5oE)Wt;^AgJd`K{^q?Y)7$eAmdEJ_*?0rvT z=aHneq*+%+yoqG(I|I)0b-%|#kTjPe8|~MIMWb1@-e?|&sYIRq!|qq7M>T*3d&L

Qp$qcsF+(Ru(v+eyCuPsbIs=?|;JREKlA~Xd`60u}>Ew?jU%`!N4tm5vN4|w4 z!++=pTro1IF=0eN7Z>R>fx$MMc^F1Z7c`chTTyo@S{nTDn6_(4(g1bW!d$uZ_dMf) zJc6^0igN~7Xq`P>xrig@4OCc2Lt0^dESk})4uNp+XC59rYkOs-9bV-9Y&gx&G_=pb z>DXHU!f)4VNd4aX-_IZZ$Vcer&0BQ;{r6G3zgd^Ie(1v=t_MWlfB*gTk&m`K-~7$r zRJZr_RUdX9NW)_UJo+;M^>}Qfk+xE=I%MZ&D5!72xxMV`%8>nerH?I2S(dhKXE|@O zx3qwKqRDx-k9-5nu&j&2m_!6(zeQ6(WAO5V?Y_OtY{kA19`f9V5M&kwo(so!p2n|b)vPJXrhrCi-MyR;+OYrI3{ z-{fTIWYP&0(K%>xylvy6t{ZeXiFNAgdtF^~*L?nm;>wsTze2SIUutj^V(sm z?XY(nWcA|?*v>c^K3$2uG;S;zo_XdO*`J^B16LoS%a<;V$%8I3yOZv~_54-O3EI}q z8BS#b?U|;7J}Jc9`DnhzdkK*~d`F>LP9f4}nYAm!&au4UP#W@a`y+{t znf)5Ynm1bKg&ZdHC!Tf_-w0y%&t3UYQ=r>i2nY8WJjV|3Fakbf5aR3ZT;0nFs)tmW z%yqQqu?j>BDv2XV%Ay%TTnCWr0HX!!Q}(}8J@`Jpo9Y+x%Ql9v4c?Fyl>I!J z;bSzPeV$?eJx@Bmrjh35U!48*p)MduV4xVVnk9}XmDUL)4B4ok zH|oPQPT?|+Go^WUzq`2B0)dJzE=dDa6$6TagWL@QfP~6xbVX|i zr`(2PlP!86IT6H+!Hnlcf+pnZMLmR&gQL}1&IY0hRxUswfH!a~zO%N1)pTv?^+h2U z-{6#5V4R}28zVpp=uO1woAuEcr61}x} ztR%61T+vAruQBq?Se-Y@`4xQ9X)|PY^zY2I>zZ|K<;SY7POdcrEVNRvn^YzKz?(e1 zNP?B(3)CL*h88kSfq^B+D#~8@w4t7^S32awAl&ay{f4#8v+eA?lW_8Ru zUh>S#R<1JxQ?3uJhdIcttakl2p!2G3a9Fl9_I95b-Vv?PQ`5l6Td`QT zY=Bu~j^o#w9LKaZ{kFxLTlHm$a^%@6kN27JUE}+#?sX+{ygZ>@^96^fNC4UUx+*d0 zSz84n(%rv$UxNpAL!BQq5Ot46WRiT+)gkx3@5kxn`e$p}bLR_v!>dl{KlsK=^rOGl zPCYMyk@7EICC^{_V<+_F**QIW>4Yvn_1kp&Q~wLeSN}WpJxs1}Um?O}oLz$@&hG#r&JP^|o!LDM6J*mYlLGv+e8=3p%y&KaUk6kpBHHjD%--dEneFtF9=7_0|^Smt7Q zTjVO_&sK`KJk=radDiaPSr^qH6!0eUdYy(9uUUlLTmszJr+%66cFsd}5 z@id1ykUeWM)14ahOrb^G$FHd^U}vHbv=C$F;b7Q#CV-=01IhVdO*OSLiwKQbQA&L) zarm+#xk-y-^vjfvtmMBFrz$~zx_5avh$SFqtjc5uN#gFA*)m9)9^1zWK7daBSN7@F z=Qb0m(de1f8r3JxWCu4BMpX>BK@l|l>+5{r{`#uGeC*Po-~#3B6*4$z3_c1uyqCNc%c#lZ#9cy@-ohH!?xQRa&CW)}iP_UhI=wBZ z%*I3QY4Amy6dSY&xJ2c%W&i}d2ASJIB(B!sqF`VLmFFVYny6j4;3Ui;-X27p z$8tnD8*G&I<3>swUmo=aF$DypcX_`_IzP2WftXu;3~VJ2t2WQ0kXxbb`ePI&4Tr_G5ue6_v3f zhv|+6G8errDooQAe3TR@GSvJw-pA{7FcgE1RtwdLH>2Q|69oOr;dy|v(uu>Mvub@- zj)+$E)m@Ww1>S_mRG0b$;~7Vu8J(S(qPh3h#Gh84w>6y)WDvOki9o}|=Z}Gu2sKZW zfFoFK>e3dn*v9ylu+sr2L?Lld8OP@1LJl0l>WS662(af&p&B%G`~+5DGLc;5!;xEX z@9sUm#FbmMoZ}W5WM{ub+jkNe0Wb0{SaxbbVGEI2p&(Z159C0i? z^2MlLwp<-&t1%A>gtl++1iM<=u(lbDo${IV&%JGm414}|bdzDE$iK^4zS4u~I|*3O z8oXKK&_+uA?d z){sYO1DB09duscCOZ_El35Lk72QPLf70vUyss+AcbNG4Y>Ce+cFF&V0@#a%{)5~`B zSH5FMf9pq|KB%O9JYzrTQ3rR~VdU8Mc1^3Jgx zqkTA5CMZv|rh6L@r*l+=1*8k?KKC*7AHcxl$-Fx<_jv3j%*B9Aq+Lc6CUQEKqdDv} ziOsjVkX2^FwQHeuCZEX4b0#-w&9oX6A^+aVSxnnvqKs%+CN%0u05$lq>P-MJk9e{1 zmlm`B=-^=Mp{q+Y&Cy+Eq0zd9psswqnuLexBNJUgJ0FoYbQcXSy@>o@RL32=1cBWx z0A5K)*sNl)-Cx_bUJy?DuVH8Ne;Ozg4|kAtH89I?G1Gt;r13mU7Xh`h_!>9^Dx`;l3-3{8te7G0%FV1aBsb40gL1I4jNC&1hhT1PE!6A^K$y&wJbR^BTG029lBH@idkilgNt2q z2k-eJ`8DX12^z?dWX6U@x5^~DaW%=@wR%9+26C}7Gni_e8L~}n55+U*do0YJ-^@Al zH(43)s`+&#I4B=0kRU%A6d}U7%sfQQ+5)^gZfB8|2!%F)bT!A$x^LIF@!Yz7M$bS0g#*s@^S;!+9@FgN)dwGqIW1SJI%hS?j&d0Xooe2n); z=3}RRpah!Zp=c~8`KL)01vTdzMM6V~4>O(NJO(ICh{;e{t|kRZ*{2`Wp&a!NoZzgO zP`|H_Qyk}CKJuIA_nJs`7BS;^fu{D7qhk#V9ZSckL4FN4R=J(!dtt z7Kx{kthIR|#K-Nw>eAGo)rMjuLECG-oh6F(kp_7u`awQ|{!zJRSqr*~>+n@-Vq2kZ zAiI9o-C^>4*#lM?q_Kj2MCm_drV5W`;cW{K73#8emQXUVA%KPP(@o&S^^?xd=EYQ zvTr?%qF;Tue}wkC2kG}-{#WVgtACtc^VGkf`)_@Uo`2wL=;N>Z>vZ$X`m&l|b71ZV71yS054^?D9STOneCQNB1+aa+u?RcUC! zlckyey81;37a-JJyP&Lj(98sCEdcu^yaeUkTEQW(J~N!zHgV>E)4x?&vMt_}U#HEG z$rK$Lyst!y)!=}NXy)iX|A0(N-np@y9>Xnh=au{Hc}+ZHUZ(=YyJ_2XNP=H%$7oyD zu4vzV*>zmImC5>66smtcFBKT~7OUzkl?O<535O7LXA)C<6MuQ`^nHi#4nxHfG^; zpn%VYF4Q2MEW18KI_CY`A+B+ct1Sm+UzdF+lZYf6p}AVO*wqs+vWpyfzX=cNKuBRC z3?hm9HXwnqjqEdLlFjxxZ-G+wklJ*KdQh}$Oq2&fQawujjxE*Fr$Vfhnj_u&l&wUnMaK6}b*nSFqzqc(j3!R;xvDVJi z&Lw&3>8JRqr=Dtc>WoYyG_1DoGdDbXzpfNn+N^+1Jy6qC^{}@Ee7l#w^riH|7oMkI z{I5Pi|IL3%bl-jV)1UYgf8^ko?Ty4IhhWIr?ZXVx33ru0X5zKq7FmyPuLm0QJX>L@zM-6bI0f037$|k4&rPqIE;{51`xq-14ZCw`i3%DO4>-@}e;x z`PdCYZO|>qq2#oda|5uC6moCBniJF)20Gv#?^QVUZrl3!+yjD4`3dwK$9I6AIocV) zCDt^`Rk%VvK%y|U(ufqMNy6)-a?5}?&j_tuoHRNj9q%U?$-Myl@deLy97=(;eASmC za0dY2y0?#jmU(Zp6`(Oj(Yg&+X_HtSCfA6&|I_j0f%b*QdS>2ohM8hToR{~dJl}5B z8}Cu(P#}rR{q=iaMJIi-qNJ68NcpF$J?h6J4)05_ zFGf2oJ68huUa4n@YiQ=*N&x`?1$hyk@4m19+jQJ3pfRs_mvwZ!xNsEf>It%1pG z^l9@;f|SvS?CK1;KKp#+oDe^wB=C1s?e~0@`{__tNpR(rcLAH#E3-7rBRmBeFFfKs zRf*7k4U@(cMxTLkHi)V)+Q8(K?Xm_!3|0pMjSGM9{;687c=rn>r z4k7E=H13dp3RFS1Emzro(*2hPfo-Ko)x)w30!ce~qkqP(4~tf~s)oc48 z3thjI8Jqf<+!`eD`mKaamfcPrwDx709=#~DQHMBA?Toh2g!t?L|RJmph?#UU!^rAhl<@4g0DdH|+VeW5(so=d>YEhwp!+#kIrVd4%T z>I9;7MF!06u=ji_lirGmbTGK;1G|#vZ3XJQ$sIL1r`y{54QxXiv{f2%E?$p?8SI^_ zM?lZb`WW+7xH3f1@MJG{dSMy|`HzY_^5g_3(G?MlVJ)KyRY{!$gXN$P(a+a>q1(y1 z8Q_0Rh*D@`Y_Osfm&Sy_JQ}m zpT6$vzrI1~b(X+I33}Xf&pq{5Kd-w$fJ5^a+k)qVv{j)yx^(GMO~)_Hly~oW_q%I* z4#AYZ8ib3J(a-v8i(b_BNxwNneQMdV27lKbjKzW@gXn%zk9>zal5a7NCzaE`G<$y3 zyeLa+v}MT5Lw7T~vz**yM3fOolLW5`dsPX9R&Rhl#em1iCH9pCoyjp~19M7*v&h~V z@lJkA5hy-_Q`4za9uTE!bWIgVC{HW-D0$bJ%1BQu^{m0laJ|U8t@dVRk>KMU2AbBG zI0iVz)HmCEOYdyxCU7NA>=3Qf)sL98_jT4(ib5$$V4*2S2EvQBw*C4QBUQH8qp$Rs z2WfDbeVwh)aF|q~5h5^t`A%5#5BQRm`~DoaD%FcIvkGdt708l1A9?%b2r^g(*jjm5 zG7adfaLO`(WJ>ZS&m6F&Bll}UiqI}9{O$db&bmNe3}%>YkYc0vULG*8;)U7|q%610 zFvhx>xy=#Vscc)MT7Rv6@wg#NvV%R-^!)aDi(Y_SYM`Rr>mjGbNjNzT$Rs;$U0=V&|AU0f3GI}i)>06nI>L|%^3Sng3y-3Ij4GAJ)V4(!HEmZJPbmcdKA#NZ|EK{%Z8C5(=T57D;FutJ4K zjUaXn2pIMI*1dzBZrfCq&+2v*fz?P{eSsEd=;w(1{lEX8(Leb5e`tY>62K_IjIzbH z+-o4DOv-3LL=S5(?@Jk7`JulWB+;OV<|+05+|T`NExWV>Ob$ru6h|Xx4U#B__vAY9 zQYU*3ZRLfurfxGJeGpC0?AS2NgLu|o@okw@ z8gcXhAxeTEfL0?Ljk!Rzwy#jeia4UY$1)-J ztr3@Rt=BUFA(|=58}gi$;hvC}l2vSEBgOZWtYRc9&rFosfYH63X4oH1bSKFXnmI?G z_w`WKrG;~MX4C2_i<0B<#~-ViAAjueR^OqoAA9uCUNiIKk3DK}q(>ipOwJF12yPBj zUA9_3U$-ap>xEz;is87x`qdUtksY^%-Mi|vG|YF)*ql%nqwLsLewQE(-@3Kbt<81T zr!6BnJhTH{OCaU+bVr96Pz@{b!2#M!U7YL1M`Y8OLAFj4ny-n$d>Ksl-JJDa#3Ijs z(IBA@nuO{!QIU11$U687TA%tT@J#fmzWrmALFmWO?+a!}eVX=fMhUOo zQu&7`hQE^K<8_>!ey2p&udtGYXH9hJ+Kk3#Amy99AS4(OI0Rox zK%}@1^^?0bNYXwI%(}g&;CV>jFMY*nSs_{vS=W^#(&^2u4Mam%LFY8OVc>OE0IHkS zGxq&57;FS5*b4e}`@OGFHh}+~4yT~2P)-0b!TzU}%cJR47UCqjLIehGO`t-61dWmy zX}hx71!m*qj(nNKNc4~#@!YJaN@fo<=#1n!s3CW`cd$ZaEuXh)GS$a4tGKM*9PUW# z^+Y40IgF_#%|Bq$L{wZ6GNu%vt2$d^^dQ0r0TRyJ#10SDpZz?K3Y6RPASQ^KDPL%! zE#2>r4!jIyO{#FYf854z5nyb-%$QHJ>7K6s0^{w{6cg(vf}Uc!lPiM%l3r_gr}@NL z!4dV{(nwI=+Al{k#(SPMsJpx_@iPe>QdDDDiy8*ddlDd9^LeCGKq*s98OAzcwSzpc zr5f@GMSb4tnFkpZ^6N8AWw&|hqP#Zrxz^>Cpr*+R?4i&{Uc6a@yT$>xZr!w%AIo_Q zN|Xg1Wgl+2FAm4cUiz{+^-~;&m%iksq^mw&_R^QuDvMK8@|67NXXo`@$mEj=|6k45*b+dZyS^H`RBLUBK`A0qIW;B@6!Az)$GHIWA zXNw0sv@9REoHIT{-8a70d`xc8mEnI>2kwY)@v^%&A2?rdJMOVAL>hlb4!kC5!a)qp zlICzv*k}SCZW-F9b!jUNj`=dsGKO+pC5}MJO5dZRXP?jIhV3qXI~$Wb)fWuAt%k$# z3_$lTFF8U=AgV-E0{YAmU-Enkuco~AVx`UmhgdADJJ})R$sBP?bfnW2n1_*1){#MV zo_hrJTn)Rh_`_WGdkMTO!l_Ny`tJ2)saA+fQq#X@f3CN44PWK{V z>m&zScbT-#BS`mM#~JT1<%eBsp8_vUK|)kF{W-b|GOH|0@2HLyBI9jWBx9S(n`NAx(?8k6i}duSFZA_}%>QdO>Oe3p=w!OU>nx_n(s8E?kC zJf$L>;V^C0%}{m?bA~#Sl_E@Oq{{ZLv^*kmjK;b~jcj#L!WCM?Lt{S^0Kbz`54zJG z$cIf8N@5aXk|V1uw{lI^Pkg$jNqD~|>8>mYKGAV*`%+)B{w!HwBjOo3gK4#$>*BYC z*xEXZk&4c%P=KvnC84BX&d$Co((mFyArC{h57?ueq2Ub9z%c%{`+Vj<-bbaD-EVbM zguw|+O7PfH*x9oyqc#|AY^Z#4?hgN6c<~zDfB$`^8uX2x&c5rbMr3^UqB#%eHOQ`D zc#o9W_uj`~8IAEtv0Y{BU)!799Fe{%gj)!u?dL5=ee{3{)fF9w=*1yWQx8XNhpMt% zx^xJ_oOdVU@aOjJ5-gGWo$_0^&Z(aRTLLCrzD`pdrc%!f*RD1G>q?@j<$0xuVJ~aj zp0rQA%*5VmWa!3AGL?_N;T5mk6Rk5MW;#~xn9BGPUXms7N=8U`yq-s9hmy!fEjn2B zJegjZ+MRj`s+-C)QD)kaH_(ldR688GB6xTfOe3OA55pCpO}fhw7?LSYD>(ZIx)K3* z6)Q!W*_dZxXL0c9-YiP0x2-(54s3LbmK&0qoXdv3>WMCZL`Uc7K6Y9BXMoWUcy6^c>pb%$~SJ@ zpr$ZSxQ;X!q-B_2$K&IC13wFo$Efwusw@RK8R9Wf< z8L8WJcKz&=a=2=vNS%o~)cxd>pRTJz%KIJD&}pp!jTVG9T5?*){_+%dxrY1@(M7c7 zMdg3%y&OsBjXYn*%Xm9p0ykq{p6#io?jKR`x7s`LzZv*VzYO#BJW&@z^@D^y$d%dO z0D`uIARE>+DvS7>f%qc&TC%$1FRv6Z+=l+2XfDHIOe+xx1K4xWghHN7muJsh2E59?iWo5jZ${>$svZb(8Zp8EIDH>x9DjDGvUI>b$0tN;{u|~(Nr2?@PrZH1L zg@1{nG+!{Acc)iWPqGF3=FOY&^@eI$&BFl$Uax(VvU55{6t?m3?e1#8-VA&Max*|u zD~BqM$Zz^&rX<_Ii~kD+3f43$)9 zDoIK;e}559NH6U8(b@((0A_2B_lq;$xhq_bUpbrhOO8CRrDcG5r5vvjURiYnV7G!G z&H|dk6<1wE37tQTDUK!6z4rv0G5XJy@9*^!@Yc700CzD0+e8|XXDrw8*)gx+-OF)^ zcv`y~T_+ocR!VW|VlHN$eSQ#KGuo&`W(0_^F*x(*p`*xoRVR+dLyU{Q{^-X(N@Xj| zJ@;G@=CM##V6fSpsft8*Fe+v{R_B4O?XB$6^BL)?9;_cOXDz&*MHCj<( zA?Idt%jtdvmHmE^66`2Pg_L;7zIzR|+{sQ4cv<$MuD{4nJ@qu*x_z?*r2Cc` z8O-Ab)n48EE6Nh4MBd`i11(qknvFz|>sKcK6BEJY6IJ5-%j#6by;Wxf*L7wslWa|E14aI<4eevyqx@jhvGp^a^8r zL^*CWg77F6US~BR(Jl??S|>-qDkVdfj%AqV7e*)8zsEtAP{PN2+B|z^_Dx26qsG8( z4W^bb9~h7^Hb6Qswcrf~VpN|Gc@i~9YIaP{$WyI>gTXmdx_vj1bK)dDK2!4S?s=Ul zOY&N91^3n_aMNIDq66HsB=0Z}Fj=^LIIa0)c~ zYfz6t>m=r{2Jgm*k;jfC{9O6_rVy4G{&VhuCeeJo_h}3-tE7b+_WLG z1!8t>tqFuTOTX5W!DO*@0HQCb8eYf0i=f_Vkag>h_eZ@>s;sAe5BZ5|N%%x)^c_=M z{G|nW%1C}9%jqFku5f%+hd_gIhW6s%W&pzNt(sEq-JX3nKW109aI zJY#~ZMoh^XQKSpZi1u}dY)edORG=7digl*aHp{JS{U9i}RmYa9X=z=UCJq!xm9t%?59#dEB502W~cC3wlz^m|%f0 z4r~H>GG!g_V^81lwN+sNjIyHd*0?j`x5oK*cwLkmzG%Q}6=BCFBOhbs;M7=Lu6MpV zN2UM~>;#o2_`}F_zO(#3=;1>z2)Cz+;^xJlr@!PKQ8k9$TGX$w35YK7#Lr%yT7#K@ zpHQYq9R;rfWQ91HAsRtT8qSg9OH2ecrm_mS`2bL;B&bAmxzEnd=~JKnRN2PjR`)T@ z{mY(fQpp~y;zIeWe|#qLb}Y6}R$$Q)KFHuxu&Kl=O`Hv>OiaQKo}UCfPA7zxk^wR}Z2E)N9?PKF ztw3MiOS}MG#p!$zq{YD8J%L^^i`kX#u-im7sB1eLtf4w-!QJMezEb?14ui|V z4~ostJE1b^X)DHJx{ncL$iMLbI~`fQLG zBDG#UmV+I`*dgjFbeHeBht3X@8Hcb;cM5vAL+x_MYiBd@?RRObJ?g)G-?wYNQ8{FF z8Hd5P03Y~Jwfw%FjnZK$QJpM;%nthvbK1r~E4mTrkG{0&p5A}lMbF8$if80Oq9Lc4 zC!|?rp$zhw^@{176@CX;r^Dl8U14KbwEcQJ+k>r4#-xh@B4kO7suF!jk_|F=EOCMv z!YDdxBE{>?O5a`Na$R%f$`$EOb%xVg{U{-s>LgmXrdeK^$_?UMz9NJ-Zrrf?j%@cC zb^0Y5J}%)_hRhnc^x2K;H>OxddJQka6wYGb0AFYfO&A1QMsp=wF+#oxpzoYhp!}^( zRAVYMjkVoCEGXw*eEqr;Zo4B-KG0t9hUY9U1e+kW#bMhue`PKR*k;JMZBHA;BM1}* zqNKZnHW|*Btn3N)`VTi2`2A-L^)aDv#MKZ3HyNc&WPM;JZqbe`He$V?%XzGLae=o$ zOq?ln&w^OeN&rO+UrZanOcH#R=D#vHH)}%ZX`nF5S6P}PAdm}7#@P}G+LOn1hTknc ziPQ8f7%CyB7STB^xz5TLVYu{J31aLI;CAKk)Ly=NT%=on+ALRFU39+e%8XUb-!c!H zD39z_SF$Q^TqC9Gq0v|;*0eqB8Z5&P&{|NjrgG`|8OVM2*B4RtnEsmHrvk*Yenn~K zNm__z3LL9hfz#&Ys~%}dvDw7TIL#}sh*DdBl#)j-uX<)sclx|l$5t9LvfZly6U{a= zS_l6tA*WxBIP^aa=?idBaia4&pk_Qt2wAm zJoIYn*P(XFW`{HH37EM(y;{4`D68uYdg?;W)?d{mZeoOVEL2&>5qk z@0-9c@#}z^H_ZLHD`f|vnRm3F$gjK(OtSkmTspi{FUW%m^*yt9niIu5;0yd_md`K0 zQ^_|sErIP(O{={~-mJ`p^4z?6b45hcwAfAYehmf?p+Di9ygu}AdCGg}Fxc)B^JMtZ z^qv7`wDK6Kh@*;8t1lDq9RZHTVbFAj5Vpwk7GdygCJh6eZuqN`=m+=0OBYxfD+wq# z69QgI-hGa8M8|r2-Vb zn`O`WS;4!&?HH~Xm6toMg9yccPS4cg8jLBLdvSsHZ_WFFcXG5GvK=8hLG@rf!l6w` zS*$3nJyafBBI7j&-tqjhO)DGB%1V{-%J7fXV`jC*4B!|t23yX@l#=Grf8k6L3h2p={(c%Ap z{xd&A@A#hYp&$C;AEtM|`#0!4?|wHu^UO0L$k*)VVOoOpa8)~_qyLo26(+hFimRk)?vDX?zDf4pe<1-6| zSz>_O_zTgx9E2{icQK9p zJIUT>e7nZu_#DfIeEi5Gk2o~q(&YgNDWUMzrNBABLWJ9Fbf390imn#8di84ADpfi- zGh>!^`SNADefxH%o$u&6z>xzSN6uZ3tU;Y?BwefT*gK-xOy6lczMT2my~l866$q0? zHg>y{qBuA}?NZoH)8XmgKbHCA%a9rq~XU*;KYU||jh29frIvx{7& z1J@0?-rx0wY#Qoa(E{1*&a?t1g8h=<`o&$jM!EAccLOJNEcB7Vi3|CSZy|8pUcq00 ztGsFfXK?Cb@gmE`z?gZ{DpLhkm^{sEE#~*u~aG!Z2 zZw-5JS6kiAGD~W|n)9Gr`i6*)ITcMNThB7|95V=(&EhooL-pOk4U@VO1bvPEr?@T6 z2k$}Jvb}JrU!75BiN5gs3-T+!@;~#3Kl-tDo{Yd&s?JyY1y+6ZpJhY;9n&&f@3-!= z=e28%Goy<7qOakEKqc%26=jPt__2lE9mv*22zJ*E-U6;^U!p7Gy48tadhz!-;Ipe! z89sYCbJundcfRhVY3c`GL?8;xx?tkY%zxtB__P5|!gB+JdTy;1tCe3A4pa)`IqC{~ z^b*tPI~_mZc^ezVH@Ja*lOIT49Yj{)3D2pix((8$X?a|TdkBU0WGqUw z%^!CwhZm9YiQ90DUx*Y1Eo z##BiSHV7~wiP?a`8|JxHUqTrOx36f&qy6vc;#)O3Cr-+0phg2J4K3SW+e#m9U-$ag z)3<%w+vxoKjDGItevaP%d+&G6!j&fkPKWXnuB3PF3ngrHG4ap&CEgQV%yv*-F4J|O zM%Lws{Cj@%(MPRs#!8R@J&UIG7Y54V@3aLBNEJEpVHBO=F2x?adesiWq4joXK!j-S zj;(8Ie-DVbvh`exUVq*@t&pQz$1`5(KI|a^^S1)%3jCF`;|ffS0Kgw=6D0GyIq~~SWlUn z^#O|hc0y#9hn4H1+Ko48ZH84Y&Odh|V)n`pSYB}mhJ4rC-`?u)r@Rk}G&5IcV*06O zUPVz0l5jgp&Cl-I-e8wcaUe3g*c>B`jaaZ>`X_%IDCrf}L)@0JMuTfw`AlBj5mO5k zdvut%YBNIA&s%D>R9FSkU-*T0@h6{r(s)KsH_>3qz>H|k!SQrGt}!q#USAP)5#=VP z%Sz@=)BI(=GD1x%JZo5{-|x1vyS$FcYD)JnvW`0`7jeOtZbl$hb`it;CB9^(8ty;v z9+#xEwS|UEuekxVMoyXDMM`Yxg5bfCYT3xb=67ubfb12+bEHMcj|kan4%=NobHKOf z$5n7vHp7S4*(uTs?^D`AyC}e*q&(t{l%^t zF%m_PtI75AV~;&X-~HX+LvMJ)8){(Wz3+K1J@f1{*4d)lWgPL_{7FCSL&vKY8Nmev z?9W}VX@@an9jmH;Al?2~b{(ru?6Nd~Uwnjm9!Q+I?dqTebzb}0*V5bm!e6LosJ-i5 zKTGd_{|6MFqZ?1rxr!Kkt;`NhEw02oSc-UQ&ZkMyzad0ohgvj zHc?jhfGufi?6}cCYp{H|wnD`1+3&S=25K-$-`{)x{qoE+&s4oroP9m`NP+1e6kI<8 zK5yf~*o-*}1Ogt2JJ0k5jh{4lzP3mn-2zAt3TjnazpU3r#r8@yC~b4|?D>2}u4CeJ zCq4TmK_vW6!MkJcHIH7<2gx>C*O+J=U}9}@xSSF}T%whV_X(bE)>G#9lep1Fp6uP) z`+j}rcYH_LGi;}{_YHI0?wl^dL(d7HJ1bidS6N$COw9nCKx4mGW@@^F(%am~H=HA# zxv{{DF298+3>jWUe=?i+Xb?r~7WI9kt?oG4!AbRp|DQYrLw@lW|Cx`S z|L#k5-3k1unOk(aC{6NwceToNa3w~-wXs&+va-YTNctD;`ljS@4vD<_)nCQWJpB}1yMDc9Ws92l zvO05Y!F-px2+eGbxTHcOh@NsvMb{`PTn2M`^8^#$6UnzWVjx~n*sJ#{!#Z3!kOlh z)Q>XjYYNuCjShC5-|9g{{i~H2e8UqfU3w5!*9b6-%6sE?p?O7$8jBq?JF@^$`j2UZ zBW!4|RcJz&AK|oYHNl-R`V?@JzkNymE!j<@)E2m36cOu;vc-9X?VPKank3F16p&j;no-yP#hQ#BC4V<26* zL1Xg>eELu+)={7~F(5Yv0&HdL<|G*g(d)Vaw7_Yf5x&c7u&;lP@3Q+j3 z@%Lg^I$%Fi{iJ)6Y!|FN>2$b{nKFeJFd4)C0ZbBJTt_HNy)&9lzk7ob1y;94xNe=1Gy#`#y#4q=`-d%0aYhU+TdfVIn!eR3MoPOqK{#gx# zl(y=4%7}tCywlAlOnR@M^fCXg({O>lMZMXQ)$VuD&dDI_E7dU8&nUDBdm*|z=X(&y zCu|FLK!{LTq8^~Y^DZ56?vE$;-GATTYDC&Wp&_LjAYph{cR%k=plySJwZmIS_s;@S zbgCQCST#~-`g^Y2QzK>~`8OOCjgylTE(hRHAP3~b=hgJS8pM;dtys#+MDj|Kmf=F- z9VPGA@QoL*q{s$-u^cD3WNjRsI>U(d)TpH_iKcc_5JHzOU*?-PZaO8hYbOel4L>5E z=wJhQXm_$Rg{RxRYP>hsu?s<7sZrv`4P6K!_`+-D%<2pW<+XWT`3 zKAtkK;pzc*l~1c;)^)(PIBdVN*K$1XF`-!l!E_XbKhzf|$ggoALm70y7`-TTJnG=R z=Tk!`DwAZ!&n>mg5HWBAGdCdb23i9!?fodj6AnWUV1VvTZ+cUCSDl%qoy5-dxqOx7 zpqpNJ@df&oU-^~#DZB!s-e104^YwdK_6z^Yul_3CbI?=w-FsjCeBHjlT9$*&S*ku+ znuB9-55M&jxaI!vkJ~E8`jwmdNxk;l@#!ldOImZF>Z&^4pYOY)wG_k22PaC({n`1_ zCQ=Wu_x;N`rT)_Na(^gS{3-t3-~DZB&OrP0t{A;`MCO`+u7o}@dWsNjbRpjFI5$PT zS7>bU>itP^0P6LIIVx}|=2ImNaT)=;#zX3;X{KG!rwnBVIAksYz1Xici+arZ2i_mA zwiGm*$z0DnFwcL#$je**+ziC@3to{-m}V_a=;rG-#Xz}X*kf_u*3JR zD16Kd!)(eo!Tx9LWD}R6f=0uczt~mmr87Y%sb@}Kz0~|uP$}$C09X-rZ`F=m&$Q=I zPHD8$iQG^hQwR*hI~hFZ*j{{Fj>$ioPx9dXbq7o|l}~8oe&aic6i?Mc8;;q3jDs*n zjd%bX>7kCm$Ic&2?Eg>z@O;ew*LUQ7f>L<5^Q*}@1a-<$0l)QIzeT_Ko4-kKe)F5@ zZGYk0>lT-14nYz9poX*&X$4zsf8!6Gps+UZ2#~Pd7kmHWwHM1IjT5s0Pa3Qp!fKB5 z(xV{lQ^8FLOODsQ_OFbNcyr{X9MW%ri#YUH|&rAmcaGJS(LwWw>E5%vR@_bUx?5Lmi-M5Y$dDcvc z%+0v)mBGPxw$$kYbs}!ZaLxLA3kK1)`W){(NjZT{blkncC*KaCwYFfJB;@fap)F%o z68S!_%3-H7q7*M%ja2e48nphq#wPKS z^(2j`N|KfHqG=CndPuA7X6+bRLxR@ZUQpzfavcfTVqXBg##Mm?QmJV_C4z#r;;Og8S$EY>;0?fLr6jDuo3N zF!=#GjFjtaSHuDGE{EW@Rnalo!NI8Sd*8pIPki!|R010hJa9jK{1cxj_x!*E547}y z-Fo2u`{|R1`(nc$d-O5t!2?F76Z@boBvIc=)2>!~_dIs}*#fVfE=$)}wgUDr+f!$c z%Ic59t9|c?{XW32{c>JE^EYP0`Z271HD=X9+(}zM)2lR8-Pm;{&@uAP=tr9RxchX_ z{E-_2E_jdHhC2)kxP{uZO!Ws_;Y=I*UUES62iX%cv&8xa zABoIZ>Ds@Hs1ovF8@DbISx-k4j@j*Sne33KL4!SDx%$P!MH0k(t{;@1OjCeH41rGn zKD<$va6%gHIrbZkK2OQELW}HL>y_9hoY?TWdMcw_h*urlSN@mVo!Vm$NfP_-8pi^U zz`R3v$^1>zzv765D~8nm4?!5j<=$b{m+1a~mC^41kE%P*t8MHDi<@7u47eq&e0k=_ zfBeVmijlX!{q6KO{>Bf|d*AyWdhdJQQ{NHJx-{sFUv@F^NBiIXolB>e%H(}}rXaEA z|16$|M7PoC>qTDo`q%Tfe(SeZJNL6c`?K_c4}8G&Hg|zq`UJ3(aT$D|fdsYR%M!*& zgn=dBt^Gt;(iQ5_-_t&l5yK(n!J1@(NP|V9oD8}(Qnyt{R@X5+c;j8nW9lk>R(_ew#&Q?A(1VDyCDKq^%$wu8mImqE zcfz-y9qEb=4K#?Vo+q&qf6?s0f(1U41kP4$jGm@1|0>oH(0-5kOpwWGUdJ;C^npu_U^m{ z4!U!3>(;HBx11Yw^Hw!|bo=afO)quazIBUlo%ZxYp1S>p>*@?)-P-@biD4?Xk{-+$kI?R*gKXR?*m zCgZCz8taD<2)SsRZleh>-o!+T#WcZ6f#d5X# z=xF*rh(VLPxT4k0#66Npaz{fpK&;h^2ZTDh1|aM17>7LM?9T`ejJ`l?C7%1q2Xb?? zr!*vlnlwmPQ$*0l>@t(pf9v>8ux78(#kGdrn*lLv0oxr-cTCZ5O7A1$ddoAq&Y*v0qT%4P0i2%cQPbl&~7#YYa;BookMvj3)>hcr7sa!o&& z66_T)bWpJWEy07ChS@W)U{TzMpgC7EVLTkFE-c*@X z7W{TJnZJfX5)0dRUJx`>&?|^TX4stkkM~vZJg|{r$31W>T?4&KV zx1pX;tX6+rnnObnagmk$Xg-f!SeB4Q(L!0NEI-!p~O7#K7z(_VusFnG^p_~ zkAo*Z4a*UE1HVF`wVwS-T@%$YPyvDOMSNscAh1F3TP}tHv$TXJqXA|Ne#9V2^c*KH z=^lb$oy-m=W={L594tnHK0-gwL%ScAy!L~;t6b~$%kpQWFEt>dF$#6Mij(r-16OVE zuePkCQ1=j*=ekc9)L`d%!|m)4aJhE7IM& zo8R&+^2oyv9RekbdJA>wiJVo~Wp0SuEZ@+Li_U~~3bPA_sQPZd*w^~rEj<-2Gi2V> zy+rx%T~agQY7VCXNLQNdhQBjZY!F+s5(0p%xY z1C;}B326x+h*osvfSnBsW*Sc=K$T6}YE)w{aIj;qf;n>S4Hx#;Cg~zF8|3z|rdE*0 zXxxt{rKQj3g9tfQv$r{3a~`9gkT*$CU^>5oX0nv$Wr959)nga{+I`a5SQDN&inS+M z)92)p3})6ieTAZjsK;_^@M5~G)ED88@0t62U&JLse_&Tu7tAp@O~P(qh@C6Wo)20G z_*MjiTd0KnbK9ZOVWJ&jauY1WuLx2!DGwg}X?3vENe&nA_v?5;$DwL-Q4qTf))j++ zki*U68W{PBpZp1W?9oT*JHGSn^n*Y2!~E`d{|5c$d*4g?K?ocJawtn3q2=eE@^;=6Yh0Eu2KlI@bS9n6`7q#}|xSH&I5b7&q zdYSs3fM2}tg8ocxM;-se1es>S&g#4(_AXr9tvt3_VL-se+pIdh1T+fujRqJC=+(xI z3_A=OL;>E!m_>Qr=eew&Qv~J}R%b?NEE3GO+s`awz(YHbg41jfKSFtIj6vI%C^ONT zb=>})&{w!gehK+xr7lUzty!xq4~4vvq-8j34kYCkT%zOji0>pxA9!|8L%cU=0T9bO zgrXgioIo1_3oDRlcGeBCMaGwEO1Z8a-Pdcl30Z7~3F)pax2|>eLtc%~mu~2nspiqr zFZz;|bnVJ5mRVzsu3DJZjdcW1w9W0uq{pFzEZpf#-p!Yc0WQS4LW6liG_W7dJc#E*!vSW1P@G+`9J*+1c|d+1H4V{jt5!{?tMV2! zSZp-O2Z#Pb`B+VpS!GI~NM6ybXk`D*!sb#Ls)sBFO%W5jtozw=l0UdJ0uRyL2!S@6)-G$TPgODs|@koq5(k% zN8O28W%M~GLc7*jQ|^@Zr@M~~qscg_B;-u<)J#g!Gkmt{ndznh7Q}$ny~LFd*W#?GWIq!GInO z8a_Rw(a=c@^+*TQ2GISZAK*`v^ruT;ONmXS$q;1)sCXEgY*_PdN{4dOUE`l9))qt6d>+fII*jFfo{)M z-@xjh7^HA^P<%v>DW56c^)JZ`AR{6fgLjjIt%AM?r7K1R8pu#SazMrn$Edq{nFPTz z0wvn+8YgwB&GFz=(R$^S1yW`OMzro&$aJf#foSrge4BH8u>wxY(s2GHDH}C8K|YBV zndU(_YI>#H7a15??H8@@ZoxxYHP#eL-H3GwZ{$aBv<#}7ZT&>P>x^i?n4(O><}6Z(JrCr_0V<$K_{ZJX)7RCUbM zsnb<;(&?-^66egpOEKACkkiQjnuh(WWfPyK_n!m@R16jpH99!VJ6Or#`yA6e+@_=J zI+^Z~wqOVZP^<{nJ+}e13rdIAHu)7bbpAHhl;zv1NxaZT>z@?^)h7UE>xz~rV330l zY9oPO*g_44@8CNIJ{iDba8A>dn}W_KzxGD+#Wf$}?@S=nCzRw^HTT+9F^9&RlKx)X z>AqN!^i^AC%ZWfyFunoEP`u+8Wi^g;lSZnnKmx^J39ia@1R=VRa7chR%7GAaKn}Yc z>xr%akq@}g{NBNtkPEP4U;bNj1-$)Eg5 zdi2r9=r8`oZ>Jyl>wlvLMaqhir=NMcGTmXmV@wKKKH3ZAmk_B`Q!BA4}Exyd71!PTXw+fHMnBr1sYKsjv)>3ybxT$+SCYlpFzg< z7vq7}2TT6uhq%4s=7B-GnUO@XJxZGoZpw!7E@#e4@&Z-H13Xmq_J=Jfw-40 zU#1&3t~(>Uvrq4~j78C@g3TDZIU(GgkoIn8{5S{d6bt;4k~z%5(dPhT=nS5zv&Df~ zZyoFT>B34d4S#3A?6BQJ;)2L*p>d3JP!gQeLo@v@ghWJ!SCHZr7+Z*DjS26Kr#MIh zy!&6-`}f$}vg0lguR49(?rtX}?N@$EVmsjx+w)U^v`0X2@&^Rl;-w_wA;kgAZ;}WS zlmtj-h=KSQY#@$=0UK!ovPVNeZZjap1_Bz}BtfzjKpHzC46@ri96RLYM{FnV_N(uA z&8fXtt@Wu|Rcr6_z2AHL-tJS~-+T66kE&X=)~eT8d!HF(?I5r-B(cv-!#P%sB7y{T z(wuOGM@xGTaMF6+YrWnphPDUIeay4x4QK4jzU(>jXiK>+S%{;|)?Z+$zX)@52HyYQ z-cSGazx`KwPLY%k#<0FT1S2D8rxn z^rwp?KR)x>&+=zK`QYL*r^Xbp< zr#|zUCF${tzwk>-K4tyonB`Ywjze01&E{wS%ZKO}KKB{=(1!~By?;n__ml3YXFl_b zWIXZ*>zT6 zMMNhem~g%Hy^o0w<)aJ*GyVp|9R(OjuC8#P z%TWdd%R+tU`nfbwe>kAk?Q~sULezb4tClwiRN!dm7 z+YfDXw!9d~K;Y2gPqhc!eGN>kv!1AABVX|e{?q^S|Ip9;%+JvO_kZ{w=<8ned+6SK z@8wT?{1Ys7+O9sbvAmMui@*4bS$qO{ME0Ua_WFJhsej;s2l$Wuu|Gz??$`Y~dh?s# zOmF?a{;y*K=3`x6@_*&K%a#cr3f0Fx4lvFG$f?cOA=-?x^x181STm)|5#a!9rX6IU z5l}bkocS`JD{XU!^9Q*Ff2ab-S@SDnxZ>z^5wbc(6sYl^~23co4DgojC<2<;0;i@-pjjEco?t~vN5noB1HzZCE@ zYg^njdM37*j8S{1kG8I}`lYVedrF2f6yhfZ_Yu*otz}FNWsax7N44ZFz(O33e_Y$z zHw4h+Dr~*(n+%3vgUybA<*A`j9>~u0;!FUG@*>U)93t6eTWY&Q3rOwiS^JG4Nmazn zc|lRMJdd+fdz>+UE%2zE=%CVGa9VW*uc~KFlu(t~^_qCUs6V5td|zDX>58(vq?KVw z2&zx~>L>UUpZG)_T=Sfe@8ucbx@VSSwCae-Pwm#zmrbUL{g;0k{rLa+ z0s8UdEPcTj{5pExS9}FMdi`@;zkK4-PMRE+$8Bh_XY02>%bQ)0wbGxh?Q-)0{er3Cv;{^s2hAG-?ZbpDBA+|nqb`hZ19Xw zhQ4EauUi5fhOp{L6k^F$Sb%PNe^p?Gx1(JF#Z;l-DGq$7i3qhyo4)|Ihu6;;?GX)n zGiG?~rom51=}XW50#QMQIq2H%sx@M*ePD+gBhI$?mzWR(VeF6i%Se;S&27aKDSk@I zh+^Sh^dW@6!S&V}^L?VNM;m1s%(nej-&+Od3+Clt@L}!rpx)NcgT`Y}--gEaOGbTM zwk0a4`xzR%_N@*)Kz(y{ln;pg+CB2I=xGUP^zoKn!A*yAf0u@vm^D$celA!viQZ(j z#v1w~A1V*!VYTCHdwE>uP5Ke31UDydy+q?d0A9HL&AD62#3B&SSIx7hSFe`k1Z4 z@VE(lwggM%>msuMbw2z-hz@;S;9Q66v=p=cbR3NbU4wAX;H*We$U|Rdz2CLNp}&X* zGifd1QK3DPiveUK&Yac#U(SLBXdLW`ju`uYF@3{Q7dE01hx58^I$v=yiN z4i_btK=YS*?OUt`T@6)%QLv*)@iJjI#DOkZXnMklLyh6}M;|49w5?EmX1CMg_UOn( zF+atphPGT^f4fi1uh*Z!Ema6hs(}yF9VyCUv3(}_K+7-42;bKqebi*>;e;F?tIA!+ zhL0XQeeoB6DLvyEUv$jlT=3mbdh#+Nd4y+Cn}_wy`s*6FPOIj#UtAEbMNNiOW-vK| z2`O%C!X<<2fBI-)8D5A$&3Pl#r<7?Qn^db}GiJmlqPZ?_d-}sXJ_X~bL+*5-?V$ch z>$u?}7@Y;bSM?M77T1;nj2vPQRddOkhh;Y#wp8Mbr#2?kQ)`8P%%#{43F>iW`O=Z8 zZJ}lF9Bpbjv-Q|7GRGA3YvzJ&SyQNq4ddc)Fff1$y9DjQmR`6q4F*F=I(nB~kC98F zjT$=>T#4w)78xn z=;LVaJMxWdhiH(6`V?)w7W?RLSASyyW{B?w^xenM>uX-1dTJv|ikJ*k;N&YV1_O66 zFE}IcqhUeTYoHaWkJ0kkwwZ~J+R_HD2t5A1D()11w#v8av$CjtG#(1>XLRxFmO^tk zsU7IRj5JrpRA6(N&2sQcmMx_MN}#o)L7_y~zD(D?sq0?z9LmN$mPIRh?`j$vM}&An zaMqrJcA2NNgW1U8FslR&CygXhWC1IjRc2+g2`&5k6z|n-sSkHQOrw>%Jrz~!)u6ZL z)&cSCburf)VsF#(87=limVZenp88lYyY0E6Soiz-0^_y)+PC&oGeG(pB5(p2zYSWM z?FPRSl}kCAsyYU7=(V2wlM{`HyAFN)@F?f%bgVod@vT4QqRIN>=cDDi+TWVQU(+ny z&ZDkB|FZm|O_9?g%SjcM7o1&}m#lKN>8w5+^YYZ@l2ejLd$`L}M0QQyvGutn9J#(? zm&TPRwcS+_*2I*K^P=9jb920&=DcWYVnIc!<#2svCq-7iSNpDOrwNj1Smp*#CC5Hs z!+GkXp@tCg>Fm2-B53bEsr;|oV(r*}0*$D6ho3{mM3F+mq)i{DZ*R?Gsxt=b%LFfS zv8YOp>S_UqjKjB3l5&Fvl}}&PZi1nmN4PcMsBJ%G6zbcc2D+}dxTd|o5TV5R%H-mg z76qS-pP=6d(_6^Apk!FCj_0iw*@;s?+H zmS8_k*!BL(RQp1J$c$enWMNNyfr9U?!UPJ~3GTuE62l_jFiuU3-2c?4(u-d7BKnqZ z`4;+5|LH%`zx~Odq=z4VczM6r3%}-T=&Qf_tLYbh;TPy1z3EN#{$nDfI3DrK83avO zNZSLCUj$|+|&mT&7-r>-9k zaIXF#*<>B?HqgQ~4>Ae)(%i*UpZe5d1X{`vG-86p2*gha+Ec_y)D}~?8S8|9{^xz( z@>7Qnw$z-qX=A5-u%)`A^1Xec{(DsVseQNl-w4cTMzo{$re567d+)n%Q6TFPHQaD) zl~;54*E0Nuv-LRGOk-cSJt5~eg23`94pY2_8?*5Szck=1>ODf4wCBBuIY2}^>SpbB zGjg@CH55wf(NR-pF@nqNema%W)B0c{IcpoY@$Kss$jQtoqwzB(2^^@sFnIS4cA+F%tsO|)nlafS8U`Zuky{A9NCpd7tNtLG$*mo zbRo=up<}6YfRC!6+tS+MvT>>bA4`muDA#{bwWhmA*C#BQCP(l`+ZrW1SnFg*jLLZw|f}0Co`~$bBPrMpB&KjuXeck2vqHCcK;xGLL_WZmpX-$uq`u&R2k4i6>6hr4&wM6*-~%6^x4-@E^#1q1-^`6Z{z61U zl4F<)?k6_Ewr}?CI+(|7^dx{fhEd{W`8mVo#r=y$&eSJulxHwg$+JF0 zH%>oldl`N*e0%T{#jYTyyz~_vwexs;n^@Z|zbJI=?rS8^;OjTB(tLH^RRQU~VF=ua znj=CqD2;um8I`WnyH_DnII1gI6VdZO5&^suMR$&h(kp7ChZAyRHKlcDuG&VNFmJ(#*j6YrNgy*B_->PmWMODYyJY@0#t9{!8Kmb)mrZ z>r&1jb7{lJF%T!6f*#I?N$3m+0cK4iWD0 zclOAXGh9jMjK95m;|UHkUp4!7eE1|gGx#12`~oGn|HZD`X8)BB>WLFqPEHs5GCbws zeRJk`f#4UOM1AEAa_Fq~M?*BmEoHESo<>i|1CHaTybJ7wFMQ#0T0|d>Db(Nlp~(>a z#K7Lr0{(H_`hGG@+E||jPUj>s4UUIZX7w5q7*W6I-rM15o_r$1(5ZA=8OUgP ze9X=DFLJv7{`*T55F&zTAuJPu2@mkb@We=;EEU%+};8)G1_HXW5;ORm-H zwXQoQ=*XMr<}2RflzU@zW24wf?Zfnb30xz<=Q6KtrH?jlf zYTpIyJ{wr;wd8AV-6pamA@^3G;xT<&(+m-DMcM$AQN$ z|MD-V`|f+nN@cOLJ=3xz8Q7!@yz|hals@kxFPH>q<85BylB3XZEQuME)A~Zx<;VQ= zDURh=X4W5t;kMQ;>Z3KH+71<=T&vF{UGa3v!w)|~Kl`)q2YL26L$9=$Sp(j=kI>j= zzn)-gW8z`GCn`=Igc`!{sfn71wrXqYowV+W)yop^^R4|qg9U%)g7}f%2o2h{)Hg^b z#F^b^d~K0^YT(OvdApAy2ihX`3LD;zM3-c=crw8xyt$Xl#LSyiBkf_SLYV z$hW0*|CqK*f1?~uTSH#7p>f;+8INbUA=pZYL_zJmos{&+(qx9Mi)dSqW`*UEQd+HI zF}}Ww<3pa-et6%n@uzJ4sR)c;qjzOmTStw75;Ia0`H(09rlVlrsA`w2X#AIwZrOve zZy+e8SL_!w1PK){rvX1CV@$%xB`Ayt2v$UtSSj%-4R(C(jiZL7OQoy4?MaH9LTAZ) z;3G3W@ev`#cZ)2a?Zucq_(X?S9TRl2@Vz2yStGcd61n^CyO-y;>2%e($FyVl%&hn_ znzT8E*IA#vWm|ZBJEGXs=d}7rF zJ>JAUQPQ1>a#8HFgWAT;mY!hJM{Q7f`G9g%1{gf-8Sza3Z)>6zN))fss2pK)HARy? z6GlWd!jlQFY}9W+zDDyddwe{<>#=+f+=Sf^>ej#kg6t?+(w`HBZ_KIh38ka>eP(}U zAy%JJqNU&K1%4C2hEEOzVU<&-zJ9}Upu6tAi@yBJzO0=Rsg6Q>Ze{gnNNPN%!k35gr7<~V%d@ubO zv`J;MKhsjiF(@}t2Cus@K``ocUQQJ1JHbSFy+2dnew(_!T&n?utv>Qa zX|f|bb>RK~ti0L(AmQQr`Y-#9|F30r5L+>^Q4@(R#ryWlFr~oOu?Y`6WuY`MY0>(i zJYc;3#7WVy0lxzu_4*L-7ypCtVyv8x1|oAuXt2?- z{kBntQYk~rkw%vfre(c$vFTQ9yPU`_L}NO3+~I9R-deX#MEz`Y#Ycs*Xo#A7d|X3! zEy)m>M|r`}^0Sb7B1Bppys}xlOTTq(f$|MESU=^VkKPpOYp@3+1Zxi0B2G(b*JLK7 zP&i}J$ZsY1HR#KBJF-dN$Z;AfXUs(eG6tdzlnwCaf*E>h%%R*3b*S6c6LTiuzHS>! zi+WqXUx;ktVqB(ZM8lo$5s`!nN zUN2*<9oH`mx>j0Gw($D;#3k{&JmPaKeU#;Afq&^2e~BKw{wS5Atf}02H392e$lCmd zYnkF@X!Y$V`!P9!;vi$f?5aqYx5ZVgAvUzJJ*>Op89?1lBN8~_lfbxR)}lfta2>eH z41@B+WL}QhoF%=_$%mv0?d!W^cwwE+BO{-_f4x!pV1qUv4H-2#5G*VT#u#*K?W6i= zk;wH0#j^DH24n$bo5mpK6Z#a_Zi4{FUG1`So0i;uKoYZc(AHPI&J@X>_4Zgpv>k5+ z&$ob%4+!;I>&7t3oz@^SeviZMg8WhU#~}($1K=z;#S`7xSbe{Pe`zQL_z`1hi)YCh z!#gAxFma+_+W2{h_6@gVpM9H^G9)rI5u)w3yOV1l$rS0-&g)05TRoEay7?8@ z9(dSFcx83ua49})cgk9t!9Z6NB9UOD4iS@ULt4M7zpMZ3pZW4^NqTVj=!3zzHeM$5 zzWeT5UU=6Q%w)qOzfn1kC0a<0zfvNh!?%n*0QYr~d@7D=o@{WQ1^TtKm5JkD@h|0T z<>2&kGlGqu(wkSl>apvd*(2x2Y(M7I_%6C}d%e6QS00mj^mC8av8;6mK0xO_0oU<4D?m!N$#o(PY@ z84WxTwzh{nSwXAZMF`kNN9TwX0$;>W<5i@UBu9^73}Bs5};63L8a@N zJV)B00KdL$!BWP3?0tA;eRbk`>7XwffAw1sJsGz27#+NZc!2n*a0@!xAgUf=AWrq0 zA6kDhu;W@>pX2A@s0$0&N5y$TJ-1Cuf}`ohrpx@?tw|8v7KDhDe#AcAX&awqFl$0;P#5+WOVCam_#10-E)IlGBu zid7t{BY8%~&b zP~M$9sMg_QJ4&Y{!DW=t*b{$e<$Kq}UYI3WGCufePkUOKJzIqc zqB1XpB_VR5i=ihE6#43|@arGDDTo`Ba05Vb`sM0dd zXLXcRfi1io7{*8Pvrh|tIh}FW^0He<{?vIhJ3%_xBV#Tdl~O%=1uNvXB~&m%idAh{(HdklJ!5-pS#62CKhgb$zd-eUbBCo zo!NF8w6`+s6B|q~Q7v0=>rZbJJH50@c6AP5`BB$1t1hJ$+aaNLVx_3TrxA=fs&t(! zNc+~RgL#aUs?)|*PuCZn%9u2n2fpKFYuuEyBZ}vFYg{vPPjuQ? z_S9Vp<`X^I|KiGf!sK*cqf$u%VZ7dIvv6`E@tG)Fdty_5%6PE{*brE5i$}+ebAvD_@k4h++g$dAN~yyXl@Z;T zA-x?Tb0)VssXiDGRoLtJWc{b@BFH?*JznPw$BdRQqZ8?6Wxc$vdcfV=dsXfoqCh>7 zv4=p~#4;S?WHw5^bLDUla7&GhK5*i6Ev-q9hNoCQO)k@k7{`JBI=OKw*M7-L*#YH2 zfeZ=OvztEDb<_r}a%zcjx*$!8tmEr?ceQO!&ODA`m=nK! zTU$K|L=^4;=-~0&dz(PPWPIb@&`^C%cD=)PWDdTmg2~|>4%lwU)WTLDqRIBJ##JAu zF^!;et1lMUZvD8$q{p*&V7_hH?vf4Dv=xV=jH;T5LUm4#oh^|xy!9dw`Mh6LryI=i zB5+Za79zUrv@HsXEYDjqiEwPKVF?#FqfJPvRbdn&`{7c8|X6Ca;_@cIZ{Qs!lesLOq4mQT~L~izA+?ogp zA76nu(5Sl7Po((OqhHE%rL+1)6(0NyJCzLHnS*o6NY++d5|#ZQQ-?VCS-F0?q7y^aJZW$gEi#}+!plk*=%Q3ks*vrS3EU#=l zUbSnPC+OSL(AIw2JzG~ZjM3y%Kx5>)2ZX*Y(R^WPZvq|Hn?z1iIwgJ|K)H!W0YPcF zSAtpMph=>@s8Ef#hMsQ@c|CKj|~+~Y9HF^4Nb$}b zs_)l?vYg_(e!V8zafP&TTYH123GM8!dR1kma}z-%OYdY8bz7&LQJZH}!+~Q2{HV}+ z8A72hLBG}mJjEri$=R}730t~)OK(T(sbD2R#f*SQbQO@%_dG=HCnz)Zg`{FLK3UB5 z^Fr2VIZYIeCsl3?_w3pvyl{XElUuDl2h#vtPNf;)B*)7>0qsrno|**S3Ow(eEm@#_fM*TdThajtW0FMauDsQD z#b&Sy&{79_t?NmRJ~nQ$?tg1r976vk7vMu3M|N|mhPldEE)S3lVI611EuX_&*1w|v z)$uIzUU_TD5b91Wj&0$iIt6+Xr6Z@7*lA;}W9P)6p(Ec<^5AKx&iJ^Y+*;SccQr#6 zppWf7vR0D12tB*9LVIoGt%Hc~64a?&>{5>LdEEPS8|A`9zzOmKE$+&%6~s{}nz&-x zM+5G4C8gia0JwV(5nuhX?fr3{O;=?J$pgP8_oMlqv}~3r@t;1)GNWf>lsRuu5#pKl*{XBxbjx1UYy6qn0dVZ5xZBl3eK9)LwMTMb zJpNIb<%@O1SNXfE##_-B<6PSu>a`pOh>{_VXP`MeLWJ{+<6}5cqI`k;@IG2U7=!zG zALmlyMRRb1i1sAyY@Ex(I>Tg!-g~}0ZV$-k!52nMMTAYi((BFhS&$gP!Fk5AO|jnK z#Mo0M9)}I`y(C)0?r^mLoj@;DWyeaKx;?Iev3~Q}lN{AiGtX=F1!){#T)03|oz3oK zT7H`_NNHnAe@$3)r?r^&eQru~8ry<9bO*L2Wr*vs?*1*HTp!?sOdDtDz>Ev8>lFV@ zcc0hQpNHdUeb-WG95k5XPP0G8go!0paw8rM+W);Ki;_lTxY;*1e( zIx%Hu*;PX}Y^HcDzHJGviRN-hrhg7zh$Uepa&E9Z!-IWn9S`N$elN`U?fZT$VHy`y zS0+_$nPiCW8(UZPE0GO4E4rR2EG-c^+7~rs6pX0Y{eWA9dz&?B+4Ukp{YZ;p|En`V zPTbvY4EvwD!_j#F>k7riimsW?RfvDO;og9Yo z9atZ6>^g2uT7yk1O_D}btF5u8j;yWGa=)3oy;IvpP6ldIF0?H{3Pcx}*M$XmtT@^d zDSdt#reMoyIVRwVIzL;E{7FzI*ItIFZ2ze)kM@3MgFG`7;NDQA8`YQZ1Oh67aVx=J z+myb~4l<|IneyVw*ve3OYD$s%b%18T(fYF+C)6z;Y;m``9da<+mpcu_Z`v~$gaDUs zn^tDb+(47f?pyoW%WRlTnlB7%YwhQjuqf$s13G8}(Em5SG*Ox~iRxwmqCj20fv@(( z&xj8XK1eP}d;f*{jE?7p0k__h;-hhf@DUKB!qq5uB5QkmM@Mbj9#4_Kn&2Q8$V<{> z`LY>swo@Cx&w6UU>wp6MFz|u>qBvdKaL~ra*Tsx;YNnDkfOI4KI-5h!d&Fyo7u)*J zX}%(W#^e3>-(UPUU3k2Ui(mY@7I3yZ0F;kNrl@~k)j0+e8V%@A-j^7fax>WotEvy}7-*{<{*A$pb zY6*$no?4uSeZ@mG0cGNP|hm3eKW z^UeLmwCh~zqegxG+JLCgkfUfaCc_(?u4mW`={QFO4-F)A$7#9j%ZYYC@f!9d&UKWNm;}=S#_dS#H;RacP#b)HwHW(-<3Yg0r z3k2S%D?5r$wRbbf_?hjQ2u^8x`#`4Sd~CM|hyOx5it}dlvgAsruXpg{d7IMZe&V71 zGR(>Z*bm(TgP~YIpbpy(!8Me#qoe)s{T(KjQC_*fnDqj2A)Z>s&}R7Jw$i|{YwcF- z9`cv;&2WTxH`Wa11@^8jItinK;N`o#+Wcd zUW#WdHP%dXub6{AnR7z4=^Mn$VNUL5K*ry#q<2+5PbAMh(-<-m?b$Nvw^g@iA!rF( zJ=WAsJOIYM>tqlcETcWCCx(Nii29nNB>G6l@?Fe$*ziW4nzKLSNtTv$AfG6({VO_U zd*qv}PE$NMmaeO8s=+3YdP2J;d>h{JOr4xADfk{M3KCMSf3qx&pE%KB6C<|m2vL${ zfMzDUtuP5Bw)VmB*qp**@KEK^Bu%R*9@*ut2=g-R7qWwuoDkxq9ZeYF z9d(}ZsLvjql{)e zBfPJ~xFRif&vp8luR;^%@m}c^H>TNo-CC=W08d%_QTrzjoRX}F>V2RouqR-h)ot~U z=s+b=R=#%HtYhYoCm$Q)%Se$|Eic-S)F-IzYWZTB{aBz4QLLG?Kf8B%A`jTd{1`_K zVElNH-wfX;4G{`Zozuv9DmDWcg3o5uKIZwgO0V%ylQ@cd zt?SbK5BEv1V63GjZG5-7+g&_o! zfHl$dHPGHkqe(6*racA%2zG99Tx&-5w|j&O61A z@D?Vj-!sO@Cyb^mgSj&3n`h5*IT_{-<>*TkvnO=_*B#(+i~_;Er+cYUu6i@Vp#PM> zEnw>V+9quLw+%!TI?;%S2K+P$np#4%afh<7lZ3hqr?eOyYV{xDK^M38Nv1v$ zbK&1aFXjC-p*m0;lz+|osG~Md-x?hq|-gT}+2DZIe0q=66 zhm$GXZ3aqVngE$yQ&5-b9y6w_vxjKSW_xj_thNT>XKT8?o z9^74<_A-d&eff_3l5A*|nndr64UPVmG$Q9m$GIGR9Akc4|pMk)C#+Z-nObwqcEPh2NO6k$3N-6)lm43%39rZD0H9J4`M#Q9|)%4%J|D z=21!2c`%O})sd`=fcAU9k)fxg{mc>Yo)O0+ux{pKY_YA4LC(#I$1=oyrvS<#sw=^D zbiYNzPh&}FV7;kht8cClhGb{E?o32Fy_9SaqoDAS!PdrI>c94p6k8S>)J_uv-0?&N z^x#p5JrQc}>z%73%P%Rf_!!@qfWdJX{SOOd)RC%xR&2{@kfxB$s2VlZ)p}DVi?t;H zB7K0iEy7WNM=H(^Qm7t%awX&m?3K4sdz_ib$7pqAlOm%$lC6E&{hval+h^?}1s=g( z8x++=^sWf9;YQ|6_gAwok&@g?WM=qo0%R=kq+ZJvw(NBVdxv!shd;vJb$-<}=`o;t z`@>d3WEK#{_Wv}xTeP%X03Ro5aZ3QY!iGdZ#;c2`IHMILEE-J{^Vl}p*CcOTJ)ZO^ zWs+#Y@erBEe5Rfk(4WoOp1C|F*|Dds^0b97vgb2AyX^nQ8s1v}=}T4j4BBVFuq-2p zxRLQpFpJ&P$0jbSGYNiX!=bPJS4X?p(-WBxBEzx1$(NeJ9+XNjKB}8w-4xZq^W$MQ z0XxIS07h3FnkeBYrNb>aXf%+P79F?+Bi#7x&D*9cnT-1QIt&>*P|1WxPFs-1k zIxmHA3$`x%iS?vB0CDVR+Q#@T1lttn# zlXiN&cUtyN+hy$8Wr42}*>0kAwS#zk!k%P^KnZlO#}nbka{oGn2oLh$n7Dv_S-$q?p8wpJ$bS?e64PX_y5G zbF0qh(yY$MMR#oRQ~1Qp>Op@>So<~X{im-?Qii-TrPijc`-rM2J)*f>>z;4Pi$X)=b-Ixl^x^(k#Zt?#zk-3m)=p!H5-bqAlWmW_*L{Fn3^5y+ zm!^vtnl8lu^@>O!$@+G44co%~cHC9H(9Euw&rH|%h#M`_pt z0}IA}Lf=!T^D3r(2IUHA?-l(SZYua#%hzQAa8}o13m2myogpSLI@ur#+psHZF_GiL z#Hf@kQCEja4ael5y1dMa;`6-LHuxF>qL&UrS+5Cn3Whjb}Dad|7Okk&2Q`Q6F>|nJH0^niBKjux2_{x-h<;D{S=?$*$;K^ z&?8c3xEy3lDOw8Db%6;+CzICpF7#=iphHrCK-csE{vtckX_vgLO!|XNs%o@_(2lvE zoU@d?Y#9EvbxoG?(SDaV+IJ2g%COMTj=?D+m@_j})lWR?X5FW4*8Eyo=wk=qk(q+w z)1dsl4F;Js`=t83^flDf2>Jt!Q?fk3urVQn_;G#K%1}*N;ZeMI%s`wRQoT64Z^$;v zw-o3V!j`_+V+wq`R`1r3t~HzxTz`lsBr;=qOa3z`dGnb}i1v}#Bjf1;y#?@C(?7$N zL*#4w*k|s?j{RnFnL-v!NB3LhnuK6iMnU3WXcyEkmo#oUO-2k`+m*L?t=^lHB|&f< z#fiRtRzAbwVK#>zQhD!e=lM&M2}ztkTNhjF7I7&)-!4jsoFX6Wb1g&QgZG1bCMpW@ z5oU|v$xnVVJ?TkLTKgWYwG%=kCsOsd6=(Xzp$G?*{sPC`~2NH)$1&)A3U+Wb)`Z6s79)1$#v~=NS_g4)!5%n1!J3#&IKk=G(1dLjbFA{8qU)r4RF3#>`3 zohd=y7}FM%&b}F2=ElFem1ArfV6JY$+1iF~hUV7^Q? z#=ZC6yZkA>+ICqm{#R-;KD^(W@S%&lO{5R>sZOS&(aI{1*l*#p%AqX;pZs9QaKtal zG??6;%;-rG$`TbGuaN^aIq2xtWXSrH1#N-5agH)vTY`|**Z&dQ4Z+Q=MKLf4Vf9eO zA61S&{pnBB!;d_?zLd5zMtyrE5vku()%@PJcM62gG|ht;b6a%~xsxCI z2>}9rs}Bj$j;v@q(7`|lb)M|6r`&rV-Fx4C)+_T6Cqe8?#{JheqtUSC7H^kJ=H%o? z$R~34uQpM#_3h9DO|Qf^U`Sx>=%bWq@9wJns%>j+FyVvzH$%nzsZV`safFtWi&cMj zeo5_@b0O1p9`cLeJZKHYEV&Rl2_pB1#w5dPC6B|-{#;exEA8E*fLmv+c zc$`r`3Fhy+@4j-h^$fv;24DE&%$Wk1+yA)#Osj3$xl~@zU*oabzJ^9si@4Y+!wa!o zv;RJ3g+9E&8wClBtGEAl?3q^Eg}3q$pj_R~u)v7~G=i8`dpLf5bT0RHVEP@~<96XQ0#T2>huXCgZ^>Q*MDu z7V#6m`iXVTEV5+%zqQr(fm{@K>V>*<%^JK{YCR7_W4)GDLTg)joaSP1R{XK=TL*ib z!mOV{W>cc}Gw(0McLEw;*6JM2*)TI2h^9HZ2^f_fw2g)siSd@Mg%iQ=cS`O<=c#@M zCXgYJCDOg9O{{K_K==MH_`-76wQDynshL6A=;;y|9baT&=lJ7U5BhoiA7cyYWsU{4 z`;CM|m@t}*sXD9sU?L+%inQwWkALFhHsOqRhxHzrw5WBMgL6s6Y+)qOWv|apUl59N zEkkDa>Qx-6@3)0xrUsB#UJ?i$6Ibd zfhP$#o_#TrBu2K9Em^(!l^LH&$r2&jF7hEW2IW+UY!vP1lOb!@)$=Lv2#E&wwOzE} zYuh>{&)qd*N7Wm;EA*tWrCl8i-1mRulU`IL6tA% zi9trnS3#P6ib@+(>rMTW>wirsov%it?)r{%4SdW%7W(V2!Yl~oa~Z>0Q0MJpy#@Z% ziQ?w16uSGkHlA|)23eCKMt)=;n^}cY%*$n$VaWd%{kjYTdR4`_L$u9{=R$fBa;k4 zf_p5m>Y>>B&H9%xI*Pge2ACIN4A+_{IwJPdiDKn>ET{wGZS9-7OGaHR3 z++4-*&)hTUw5m^Xe_Gn4x{h;bvu+_!1;@EReq;EQ)^1%JG$cbBXLU{XcV+c590eY4 zEQ5Y$C?k^$(KT!2FkBN^ac3Jp>gU^UOa+yo-A*V;nO_;~$oTo)1AZ9hg8L*gl&kJB z%oKMY)ghz)nkbgNvyCN@tJimanrCLT1mzU8r=)$r&J-@OB+l@}1~n(mq$DPmnbUd~ zPguX1;9VNL?t8tz@94kFW3kPP>c+rp1w^+68i#nzw$;De|De1==5+gZXw13Zw-^as zlge+YFp7N9-8DbEX z@v)c49mBdPzQbHYMoZgj-60~*lZ=dBM|Jp#ZRAwQQ3%~Mj+;;y*&t*{jx3X+$%B9w zXk;;gcD_GcI!75DLZ78)O7{8OlpzzK;nPXJn=+;M0s@)<$W; z`0%KfpC6MPYPhH-LW-5iMSJYUB()4nr3tg29ustuG?VwrtS?i=H{%=gU`#|I8--~brYWBTO(K&|%BJ?QfbVila5P)%j1eImf#uJQWhGp#d;G{gd2A;fLH*JW9gh_F1l4HrY$F_Us*3&=3 z8Fqp<1B3mKef%j7S2^GkxNCh>246h7wYl}0$n6Zrvk%tU;UcID*e%hn+ykM)hB&Y| z-ZXCGTHfqGCQi_-0!}XncC^UVqrALUBG;aSG9!QB2bJiSw(>M1ZRqJPv=)Ehm>7xH zks*-e9I}3xyNKG)XldOcI5A;5;V*U|lir6brG#0V`b?S6(v*Pl79IP<0VFicLP0vU zIW9zv;!7PzJ57Oqm99@HbQhq~syr)hT)3fi59pW$4rP(+!Z7AxlD#|tCuUO%mOI{5 zj+huB&%ZP|==0;nEi7tD4XQ6?EiI9-zFefb9Hai>HKT$uVXCK}pZw%|3I@5Bw{ef^ zmzTKCYaliJoNs$%M*cr=LuuZXfU38TkBn3!mCO{Y+Olzlxr+t`@;&&05ZH?w3GQYlVChErkP*<-7W1DFIV|iqh zD)O*g+b<^rB8ZhuQ-}o;2rkO)&q3_NNzuTfu{!XEo|HEbsK;-{(7N=5OoW>t8HCEt zzRbxpulj$HNA0cGjZY{mh87qk>Us^!yWt|o7p3E9+`(KyJ9&{VXL^%h>k&~TEgRR4 zq-{K222QQX>`Ta+{Ro^+87Wf^UMD3@JgUv*8K5@vOrsvcHW5o9%`&!YZOeoyrd$yg z*Ct|OrbJ6X!|_xKg_*I&B9k@f4t+KcksTn{erq1~!k#s7hBE*}c5Sf#zJBevY5!Xy z#r0ME_sO^Z(6x+Snn4}hb7vXs|EM4`Ma;?l)!Bcm0Sx}KzT!cz8~>V+fkafK5Q|IP z6wVFP=x@Y)Mtwc+QQYgVhdz#m;Vs}hRO0vCb5FW9vvsVWCH?M)(z<)BPLy9iIZn1ppm>=pkEJ`w1Hc3tUV^bQtWI|Qnj9)U#>5Es#7cjDjpd)^ zmuWiR>wjD`7~GO0{rMVd2?d7aP%&d~$IAqs{G=x_#yl;KEf>w7#|3WvpkjV<`EXZV zliYaqi8&(?Ghek2Et(y4FjMUC&_-D!8r034(VGf>Ff;n0R}6KLCs-)9VVMwScxt~g zYftvt#LiruriIcQQfIQBJ36Ht8Lm8 ztc64g{=4tKmeI{ei^&Fiuf`+7G2mu$x)POiWHk+jVsII{*0{uYaIB-i*|jwxnwF|c z0-lQF5l(uL-4cDFJGX=xx6C?}h70FZ6(N!51IJ-)a~as|io87ONlza4i2rNdJXy;Q zbN|!(##A-e-EQ>!I_9p{lOnNmWnr%Z$oe91Ugf*(VGHFsQ?I_PB>2)!ZsN)oQ-xwC zyxz|0LxX7B4LaM}^4_$JB+8_{!XDFzVwvH(3|u9yGdyvCz3I$!AnZmpXQ)uCnY-}z zpM%4Q$NOvgOEQT9*lqt~Z5Anox&60E9z&ySEBzUb%<;^CcidyFwv@HFE9YfKKQmUt zoCI|C+#{~s{#%95K$qo70BrC5%m{or<{5mMuIbG8MY@RR;FBMofn`&`ufJe>L>Muv z$rL#r6Sc+Ui|slXMAo30d3g7miTz8-zg%-k18swkge+M;?k7N6SC11n941=uK9ecX z$$}OpD+k3@TDHa}PzF4Hfyo@!`D8a{uQ-stIT^Dyu47!%%GAP?j-b@X#KRLJMg4e~ zd&V}$Bu0@RVOVu?f8N}zmHOAhH>TEJ9sP^z7t5cPRo?o^kUpLPTAlL<( z5z&Wi+noiQ*vXGjQiWr|oq0d*5o11uGpUUTEC3zd+^!8R!$SX5kMsPWaZdrUZb zXM%A|O+Nyip6u?1iUZrb;wt_zn*PX6Pkh+^J$bY|KD98)c7TBp2JsqZ*iLL zU+4CoC&qr0&ZO=#vSm8M8LkwnQg6%gqTpfcZk{wRK6q&bjpy2qZ4TYgVyM4XV?0Wn zs3`Dm_J15k39b=81%1fV19Lhknn{9&5}vlaHt*s2a!VkNO$QM>T3-1Ma(3+vJs;-* z&4wqn|D*NsR)>TBA%CU%0~rK7gvpNxX33PS4%;k8KitbaO@OWC8c;{={ArPZ5q5(r z_$l;#HZRIFxk)v=;e9FQg`k89jtB=XMof$#ncB`<@ls`13cPt3H@aVlK@w#EmmFye z)+7ajMO+h5_!8JgQ)R442x}B*j zF%T&IevvD$G}duY`_!aJFJFHNhNz1`eRH1;M7b!-H~%U!xs4K0ua~VPPJQ#ZK6sWz>Pw9PeVJ8{-G0de-yHAo( zuul6>VNfj}LxZDZEms{bSTZuM#;t=At)@RPbw4LgOXZB=aJ)>H8v9eXrkAHHb06l8e)^%-tEICa`@mX;aR2CjLHGe~cl zz`1X2jQNB6X0pn7N>uTAf7`+4Ds~BrsP7gI9sW#tgbK^q4Bnu@juu0#r2QkFvE1aR)ZCGs|OTx{u`_h@WJK4r{0_Qj(Q>x!t42LEbDKxTAV4Pfa>H|h9$Y0+O6uLR!2Q(Yt9z1%T z**Q-7oZG=&p$<=otmGi(cl`RJ4{hI( z+YW@fKk&F#UO@P3-P51;wDP>?J&)h}-uLoHKKjvSbi@`s`&rMTcmLE+(IbyMvOclb z2Gv+FMvB>;G?-Z67kt$N^3pF=KufzL5A>0be1uWf!Mi~yN+RgkzvgSchQ)py`R3w- zI7yNmx@@{m54=p&@zu3bW%mu=@D23A4}P!+4H}^c4@a5NyWjP$u3(Swzzbf$@}4iQ z4)w#*=H2gZIHaGz5jjV2!?Ec)lv_OClHjW23y9I|4PD6fx>$0k_chtIu3v6} z0<1%t>zA7Vg-lKc%T3uy`+rW)AP)7+9wh8K&e}%TUayvfL{^UXfFn}FB^i`D2ikUK zXScxE{~h3QXR^=4cZS;naQghx+43Z!rH1ts;F<9eX|KL4i`f?47CZY-lm?b%$J(Cs z@xvtdB`$u>M6|cgx8tMVu*8h=YbHl~$VXd7CnP{3+Cv`~Z(_gIM>+m2ow}?SUqI|? zjbn#?M?1T?4DWcyJ6f4<7{z#wzpx+WTF>|OWf_e2e?P1mKS&B`;s)bsT(4Lc#K8tf zW3=SIIOBP^<{Q?4+&m`Z5f7tt43=c`VLKQ=(Zv!i+GC=iyzFH!;~)F6AESTrPyWf$ z_Nh;ODt-I6e>?r#fBSEjM2T)T#E&$S@eI3OeOMv#hyKtXq9Yyl{C?+mey1jGd_S`= zg9&9!z+nAXfAv={*OCwk+L%)%UPeAq;-}_!{Epv2PkY+aBq72mli&5beiwc0V;`gc z{Gb2xLbEbw<^%9oZN`Q!m7dLnV2aVnMJc0`yEv;{7{4Jbfr-$>#_H2@O)wSGLq99e z2ZFp%of9I+LE$`gdIi4RRMo1!mONT>Q7E)7s@n(WhMi;M^p3|BIYFpqjI-$GHdA}M zz%jlD*J$Qw+(KLTktyFIx^+EFOaNQ-BDY4b6|bMX%Lrc<7f-8Ww~1}vf_w)}p{njP zQ|FTx!{}=v?ni4eOS@@XTKhyx)fuafbTBZaQSKwh^-!a~EzwS3Ljel367w|vWT z`|2P1A$|`eH$V zXM+v))zXwRL;(XBeIA(2pTZFyl?+lMA zlpSTb#r!h$efBIVe?8m2v+}n6dH$t!6nvIIvHQRi%eRsZ6Wm)GHrn-Gs~H^frNB3S z<2N>YCO*UBL;TN{Qb(W{7RAfiie){tY?+uw{rZ^qjM|mC6OY@0cmsm7Lbqi%e7?lKKaQ{ zE(rpaq5N~iN3VFrD+WFHC13I-@@?OOTOK+2`Jey!BHvcZ=KBr5;WsQNNq**Mex{9I zcoX_ZK3E=85q=~QQF&~?!t)z{<8Kt2%5V8izv(ye{rBI`NBs2P|NDPma2(r~BR-aU z!7Fd;m3rY-LGZ{}|I2^*FJ|uQbveplNtFD4Ny9zw*%{Cu)Rmk>}#{6n7#( z>5Ekv)|%A&bt>)Fdk*UQI`3;7wFNbtea6XIAFRv5O4tXHZx}&pP0<6a-Zi`Xy|A!a zV!CPjtYTI_>2pKgpm!0=j{upk?O%1mD2;_w_}?kOa{t zZHdDYDh?&PrDtey>A@ZW3(1lk43RMyr7DLNM4!I(?Qf%R{Q7U8=RN;<{Lp(JI$nSM z;^1h4aYA2IVC~DkHCHR-nTeC;@Euf=Z#9*wp(Tc($x# zF9Ul#tSsoHeR-9G+G-U6%CFBAw~6YeuF#P9z=1`O6rbGYD*Bw^mV%$6c%{ef_qMw% zFI#{?+`dhE4T*~ox0b!&1ut0a-1mR~_b>KY6C}s- z<>ZCf*$;pC!_6*B{3ZRWKfszm5j@h)or)wmeIjk7|FLeNDKXj6o(qm5bq_uC5P#42 ze9zMUHLrP%oC={gzVVIAz1m>$A0$rvzz06i?7bfg@Vbm&Vlkm5{($l?_s@CGbNGm7 zIT<7E-u13`p^TQ3wsKlV+6b*uN@M{1XQ9|Itd_XXrKwMn5{Qc`ef$zWO;Y$o2DY87 zy~az_FKVZC*P`r8l(q3MR#igy{tnNGUf27QWtB=lA<|w%DnIwCxc~LP{@3(%U-xxO zBIL(@?8nN{q2qu4&;Pju@8wv=QZB*xF*&dtOa7aG^KUN6jlcAl{u0Y6k{|hzA6a<# z{lEYBlOzKE%%Ax)^t*re@221P`+naN+)MJ{-~ao6PygT_`~zZl(u3@xSor)?f9g*y zJj%J+TW_cdYt*+2Vd zmvTw;eD`;Mw6m0$Ak+1@jw2@7raVet~CQHviQBf_xCRJrB2G^aU7ik8H3=H zKL76D{kx^?5C7pm%yLRalPvQ2xBk}OqGOVT|JGpIgRNzfokN zA=m%nU;GRD(SP})MdwtV-T>M$6t`d(kFBr2(!b#w0;+zY4(D-2wnWL{Fm4E|$SKGk z+DW%+$}bJW1fh#&?!$hAIB0lsXlPPmUQ+WA+RWo0MBma7rLje4q{W+W(V z$281mI{2u)Yg>?pwuuCvtfhe#1^9b?Ti+aWHgt21Ot6UiCy=qmYgz1J*>}khgJHdS z+gsmOzV?M*!{7ET-%79jJFi=k67P8DJLw}I{Rn@k+rY!qeaRJ8NR54olj<{4e~4oQP9 z+fRfz$EWJXrn-O=O(SSKx$0*@#&u|tFU|J>oT~p}WNjGi=~}=fJ&`@!qaBOe|NRR9 zGAV>!R&iB5Z+CsJfLr1N_H$2$cx8_|2wV1z%qXBH2R1r^9ZFBZ$gNm;HhJh6D``Es zxqQD;+xz6L(Pb`ZYeL&pNRK`2(eyW){$=TebNm>>W%(&P%kC8L$&lz;!28x^*hdy$ z67()jXrI_;PL#)kUzle&THW#m$a9{vBs1RfmbWZ_0%BW_@fN-L&2QGSB5~Go8uA!F zN%BMzAS>kL zM|kaPmt=~@OcGCh^EZFPP^r~0AYDw});zjxi&ocHPN#KnFmKEBmmh>P41@k(I|J!wB|0D2UbbCDhK3ezw zQ{Y;**nQRz8O8Sgg{BGf?a&7X=8h@zo(yd({Uq2vCPMfR{=q*e8NFozOL9QIL6Zc4 zBt0aVA&HH@_SgOz{hr_Rd*~nk1xW}fuX1wY zNO$2~7M{=)r&1QYBttZ*A}1~W;$QrWOL9W)6`yPpIRSFqgv%oY~{XH-Ji5n{BnS$!R)e|3fvvdb? z{q~P~07n#VD8GSv`RFhC5N&mkBNvY-))^dOqR~x+>(+!vZ@f5WqrHZtIJh4g2K`6h zn9^Zq!Q2s9|>fS&B@kL%&*x47#y)%_qbNbF0%q_Z%u}D z{?=q=G3~PDiFkW3T@jTkuNK9~V>6HN>)-JD^78L{Im?L!G4OBsXKz^sbqwnHUB_=; zUUy8C$oocK^~zTrorss3j(+5S|NEx=&2M>2JC*X* zx4pHz<)8htMHoN)zy2`4@P%JP?|ILA%1giLrAzYS`~Uy1SoGpCVL{*U^ISo z$lH=El0*-8K{sXj{G;Vlj8eM&50^hC6KGi^Ra?^-)UR*=JJ3@I%^HNeZ(Q)Wz9}sm_W})I z?Gw|Ozb=(O4lPJ4uN6Ik0e%TF;VBQj?jt70xV4j5H$1+gywdtS6m0uOMIVT*&cvz{ zfG*d6yxAJ8<1jJQZ1~D^zaBIm=od|(wC2#5iP7I=}YD zT|vp(i0KgRa|@#OM7cGajW+_`fp;dCI~}5L(f73TkOiiZPYq>}Bb2odG=S+l!{Z&V z)AO*t7Nr!=%3enIc>E_Pc^bI2p2l9Uj8E6EQzi6QUOIwmg!S2-pj zmUng??S2dL*>hlOap;V>tSlwR_Zmq;>&^-G^Oyx|Rt3}hT~Qe?6=yj+cJqwz%J z4Ca_ua&0}eewe6;)~!!=_;M}7*lsJ4GJ|WrakK$^AgPHEOfVqBK9LeIKM13&zkE_$ z7E^^NkIj_d`8$8-vM?msA?5eqfB(`~A3u>(4|1BJKB8h4yz=3bBF7{H9|L}4m$Z#6 z9)xPD7FazqBlu`jgc=$FVw+RBS&g}x*@gs$=-?e)`^f#_Hi_6L2jZ^x1HAkouYTq7F5#zv|>^TOY_7{|IPxn7JfbJtx;m_vQ^!_X?W_ z7eJx;OifBRBWHWAXw(89!fA9{%86vy+P`@ALiUrtdR z6XBxk-to?NENwpW(T_4d0@J5P4O$yW~j);Y6EqRlwm8};u@6&u;O6D9057u9(s zBeDVmD8;q+^h<2o2vKH}dy_!rkeS!U2H`w`V;Z!b;VDVK4394_JLp8Xw(x9Oxs2~U zu!ru=o8iY6bYDf^h6_YNrcZoq1(X?1iXC5EzSjPuV=_~WG!4edwOJk~IVKL4$3(vN zYrl4}xso7}L`6-CqzM6)%h8rDwB^wgNr*gMZSoNWrz9IRHf%n}5#Ijxx9cM|!?Jk%TN5oPb{ZCBw-?n5kI#o8^2!k{U;&` zO?>crGFo0E;@=O4bKez4b<9?0yB}$8^V(W>lP1pjMd{yAW80##aT{?NN72V?z?rR> zaj*35)nPT6lE_6FTsjBd%yUwfxJ$;;tG7tto%3k%Bd>}A@(9r|nt*~j>=X6fQn$A) z7&qR1^2YVdl`A{03GhXA(S*i*HNfo25u!B}$st~AFADXvr8PvWA|t}bQEd=dx{`Eu z0P8|#aT?EZ1_HVmW1T#3!dd z1m5_j2kC=v`rvX3WOM~ry3c-=yy^bF#MjAn!oWH!|72*MNZ)?y#3q<*JHlk;3H9(`>c(Z zL;D%tW-#4}0*IK6qXWUc5rqcwCgLsi{ntDM`%Qf^NM>PO87OAE0?J|gjfwM`h;gE@ ziO5k;fE6Q}hP~`GNog{Obi=3xI&N%Hu81Zwlm68Y@j4C^p|DcyS_7we)xxf zczIkzlLiTB>^I=WSWixZK2mM3Bus>c;NHP&t6P52t;U=nza{1rA3^HnREWM8P2yZB zllWJdly{WK7a;aAStFB$=Odrxm>iOKi!6`z$RjxN_lj4%LVvL})1J{d7}w8^v1%W$ z22Gz?@&fO%K3dCBe!};Sz^~^+RDr~zjEelp2@&}-PI9t&aL^D`ml|Yi!a>V0Il>X` z^|GJDkkbv4MU!`4$ms=rDX4t@*5CSDmn`9PpZnaU4GIqe{l**8(WHg8b38PDl@Cca z$mtYGDu@$`FFMtvgyPZh%C+mx4L%{e3MKuhvNpSd2AAO)Pdm8jLu+~bAinz=b_(XQ^!FY3rv z3xA${ZR^{xtJlxWRnvQ>=E=8i+!^$JGnA3)^DGBWZ3;-IxW8<86!bY2F4O0-fHF?) zes+CXh}KyIQJr0rUN?_z3EEm7bU&?q$tEeaSJUt69BJP*QK?OV4`T?z>xmFm(do-b z<&=Y*(vTO6ijLP46d(M+`mM_YU-iI}$aujE9%!f;h6rfk7}@$EzceE_H5sDLhu~d) zE#~N43H~L?UNP18h%AW^(TA^kr0wEVBaLEf_fa2;g|@~ghsojZVwnDXjn*~=4!fu@r2;oVOiS; zNC=?Lvdr3{V_;v!P}a=><&nKG{xw-;YZbC{4<{NWQnn?yRy-xd-u}~U1$4tC>NvjI zybfPO1_qt4UBlh2eTtQU;#0d!9!Ckxi<(Ki@5RRC5REgGnW;#_&P*agV#!a!afUOT z3aGy4_CM~2_db@J1+Ng7Rkho9Vrc)pf{L#dwmjEXCXb8ABPDt|M1So?-l3ttJR|Q3 zkr$E5sR=mY(Rhg)mW+95MxZI`e_mZ&~=0WQyQd z`of<)Dx;6i=zB~AB#9w@hx8TR+ZR9qJ>f-8$;jytN#MvkM+6U^Dj9@qza`tY|IC>x zg*ptU#vZ8h=5?cZ3rT!^Xq9TE>8*XtD!n zYXvipFM9DpP&)Fs$&dWVkFcC*kgS)K$*GECa4)AO#m(ieluUwwR}W%+Py zKzAuvUpm+4KAMQi$MUX_Kk`TZh`h*ksS`fr9Uo2(ZLFAel=q?h=|BCa>18i_S$iLf zl*v0&qJ;!peud3Q+r)t8!)TyV)FFYpUE(%ndhbazTA-HkNT-3>z{Eunx)cMTvhz|ctN&|LyU&zbi- z=lp`_x}Lq)+AHp8uLYCs_65#LuH_UBw6)Ik)ZRB=3>AKN3!bqiPw+KceYYxO{?xh1 zePR8RRp?$4ug5PSH}-GOl_nnd1yy=(N#Y0N400_K0uu3QtG{r$?PJ^E&4%7c5yES3 zA}1EXU6h*bG!;bTq6}dwA{;pbLVERHMy>o{ZU2KuvN12UT}a%bUzx-XxmM-kb4qVR zmb&i2t$Te4Drk#spV2M!Uqc;}925KX#%&1gP4!Nj+~2cLqAd39EFRno4G%Wt8Kan){4gtb_*%a zMGF!B_=6n*p&0rYkJ|7p3^#yPo(NSidF>O9F?VE@X2pJwtpJsw(8-rr0aIp$AYn|h z@^5p&%Oi!TKUS1_|FU3e5!i;CSbc`k=MlQP*UZ_-J3rEUt%WCQ|G2`9xBkkix80>`^v%ZHXi|;KH zQEVt7r@Ytq0xSC_kHlN1o155Wy6k;ka%Bo|q#W9(Rj{>jXvWM3mH5mjjMR~TY`o^f z4JU@tIra=hq9nO=iCMYVWzsPx*?J~7OSFesl~T9W8Tfq9ueZIgi@6G5K8#u0Z}+>E z@UvxLkRM{LRNwV$0;pCpNC$9AUzzN+U$PeH`)86OjZ&#c{(K#7T}DW|93ze)?+v9i zk$DDV-RLv@2u?}ImAraWOkQVUCf~OYAR?@`K%bktBEa+M5Z=jE&uh*Tt<8K*F5XEV zCQ*=JN=p}g>yPHtyUPDHpvt6vo;x4W*GGYMw)Y)+hO^UdY7z`JJqnDbOF;58Jw=#Bk`&tDy&v{09-04C zElEr5L?p=fTBjpT;_ED4Xs1dG7gcLeJ)#Ssgzpg{&b<=fEH|PV1!XLcl$&hB4O$#Z6y?&hi^P{hD^zHSL@ zvZT~2gZm+%qA|mO9^HcX$A~sI{)jc8VP%4J;?q{-9H`dosuVB8F< zP)b0yW%?+<#B8at0c_cg4PDT*H<#J5jZ8?6w7DB4apFsYYvhtO~9 zwe7|Mjh3E{sGd#bHP=jRKUki&`|DdX0`=0%}Qy@b4)!4w} z`#yfP&v`EPX(?2-FZftb(7)(yVP@u)7I5m3;aDk*mrAnTo#;D{M-haFfcseRXNHY* zf|>sD$Zw4O{yW`n=Ptt7+o*|P{y|oiM|OOQ*e$3tw8avERQ7uE>|x1bWoOaG$eT7> zS!4Whde~?97mx0GHODVp35xEq^coKh>x6HZqfcU9uFXb2a2cCao3&g~gAYT>jZ8D; zN-^jRa@eaAb~R00G8+P71=iRU`YnlV0-8>rlpFHeZVS;0W^~b7xt(B8*Qo{6-mF-@ zEMt&|nsqY_WS^-J^GIb(bERbR>~H}?c)<2bzX$g`$=9JhFD+6NUtTAADEh1SF*5s) z+z#F87>&1^08CzjABM%=hfr{d(i0L4#YBe#W)w!sCq6dC-L|rde(tZI=F9u`rq@|m zBXxBPyz3uff3~G3ta)2L;gs%s5$<`qOF}pRR>>xH)e6BcDqRA(NqJJ|szxfjlpzew z?QT_QDjVbovxCKTLSGNULPZ|v=~z`NOhZRm%2jG`zGQ|p87ZY--BV)u3$+8U!;H4ar zSDM>Rt5afA_JHqDwkFP%t|9<*Bd+!6MDG0X6>s5?m~1X*lKexw%N1XsJID7ARl2D4 z_g&Gx)65i`ku+`ZUKC< zpYN=`A7+TACW%>&=Y#f(?Cy@R+eMQbzWngv9L%N9;xhbbm8mvd>Z%bope`=hi(lg&mWSJ@EK1QvUKH6TMb4HPfnaH{yxskj$hu0hvzh^4lIz zo9I37#fo1k;{|a59DoJ-#C`8L&tM<0%GU)djwG|Ptq^d0RJ-yK9W9mp^1>Vu>HoI; z{xe!oa+`Jt8v2(nyFazxZy`ST#&z*a)hF?knW$jT){%}4AONF!Q`ai;fqA^ z%d7zOd=h0N>qGEc}orOl{ra=E5DX+^m6!L{a~Dps+M))%W@bN9aJquA7n9O zYqOjN&KW;wTdB&dm!k$_g9|CtJMO*k* z!nSHyKK_284cJPantp{YzBiqGHIc#&QJ(roHUn2i(QRvC$qAi#6!&x`SJ~e8eo+p= zrJ;92VXt+K+3lJWLb4WQUGi@9JZU6RuRQtG`zGjM{ zx#hS2io%%=A+0v~Gx#h2C27tN#J0hr;DPx;8t@~$bqEA~NF>;z- zhG^s|7crCDIu!Fg0&ZrMojJS3Jo85kH;)?VOp0u<2QBkBcgj39x%c=NTHV^)EPCv- z%B%<227Xp?Bb>?&gQ$O~2XLvrgwws5ioO$27pbZ&^5!=K&hyZlg!g9D&#FL7>mSfP zgM@Ms5Kfj8o$Wsa7dU=+afs&lb2P!O>9`ewu|jy3kNCX5aN@#cqAe;}EUKX4p>-qxe@KuZRsN0WcX&U6>(|Ks~8X(pvh1mzakMB?siDR{EFB zmr?Ngs5Glq$Yw+2_dBI(Lp;V+$@F8VS-yV)6h>wfzJEkZ>-);#s7`m(lYCib-$9Yz zw$)G7zx^daoeIBSD#JhdhN+0^A_#nC7Zr}LFQ(3KBtk>^P3mW+&1SQV?1PzC{7!ZC zcPiVWXHY<%j4fjRfU57AD`eRjw|ck$RSb7 z_lly$=ycWfF0N(B8OvCxRb)vtRNRS_^j~ZUVcU?i`qT-{^fdMXD;9z_ivs0c3E}Or z%>W&%zCG*tX% z_$Wvxmf<)Nq}cs~hmx$5td|b=RT}(IJ)%OcdzqYZS;S$2VGVku&0UhyK91Qd3C35) zbb1RKS~O{KZ2uQVi5TlVvd8J(tH%Vb;6JrZ16DP*Dro=Smsd3` z3R1D!BE^xHfpMBSe2ty@o=#o{jNPV1jxNE|nd}(ru1LL4cTl`sPR&QR7QB_O9dV9e zE&9Q+idD5mCwu!I)NNHsO%LJ~ykeHItjrb>c~G}%V&&=Y#@%;wD#$aJyNcr`ziSQy z$Qq*DCIr*1iGF2Ka7TUjAJ8-T?tm}yJ~7Ey%<#1*(iE&OaSqqL!nj11SUDMK{H0-! z@%AiCN3FJqU1PEkb4j@?8dqa9#{c@L81i=<2^0x`oI_nj1mEzl8RcMFP z?J5-}w`pX!TAu%a{{shmUH{Q>p*0F0VHj_96h;|s&su<^eZ3zro?>_sbiS29q{+b7 zM8K)Qg(mnm=08L67H9wypUsY{`Q^bf6mJPv9@x0S$=&8~EY7hrnZ7-}1AdKkG@TpHMU$5n(W+UJnEmFXRoA{r{|@hr zOvPyv$UScN3M)XKd!RZ7kw?aCW|cHA=XHW~QH_kUKp~OwgcOZM@_9!HTZJ-25~JT^ zw(N$8`1`igZQ8h1mJtTfRq-{Vwak8TgDI>#nS+K=I4h*LIXGf19VA3M$vTXzw?jZe zEHAEP?irfF$D_HYzcAt@$E5q=eY$7+FQ7&X3!hp@iDvp8>C08gfSF$nkM2D1Z&?}z z=^~$jLqi`pB1EE|McdI^;)>xX`0r4Bh5Q_~d0RHsP}VR>NZ)$Q?xB4Yc#MvLeb*2$ zyysm@?nd~gS*Qi59iHnlXxA3hTQVDo{<8({Ls5LAY|NL`N&q-Zf+x23JgIJde;RX~ z3fT*3q=`t(+}|<}ud5l$+yKcWU*@xkV^2?iMmqA|pHa&`wkx^MB`bk*SNe>3u5=VX z%H$DDX3&2oczjG09z47qcj7l$4Tp}z3C|W4@6cAxr`n|N-0ShYP8@#|Gcd8qP%A=X z5GFNcy@F^-$}Rrl9$vF)w#Rgv&l`(cOD8Sg5GGhC6&6x=pybuX{0VDu{nmK*tpT4c zT;Zj8Um>fr1c`>{tHM`d%o$|PJ%#e~Ud%vmy;v`!EVz0lJgEr0*-6qJp367lG}tM` zk3-ZVWSJ&$jcJQ9F>YuHI8wJz16hVVh#Eh%uhh-238h#VVjJKsbzP+&@Lv)6#BdiA-|lN==y9d?@S|vEe_!wAYcaGt zZu8~bkLT>T?$DBwN|_8nWEu2|8~pS4x=2?W^|Odtvv1rRl&d^H<;%= zJ}V(X-*s|-JnwdT+l~~RuvFG{-kC(L=f9bOS=)yUMaC-Y`=`(SRamz3fRBQ8Ce4vA zGq#`va>AUeEklE&$-~p}aZ@J%l|r+_UorMpM8B@e`;GV;yl2sleA1PLAXM|Wc$1kB zA8KpZe6i(PXvh`c7qx43p=F~a zLga_;IA^>=>~r6=i28kO6Bxe}W$=fq@-G)~AaGmqBcV}{fzT5wejJQK=b2*8sHRz(J zFga@fQ7pSR7*C+rxxIzJhl1V!h?!O*I_-bhaFXC_EFt*vhx1W! z_P=F7j711Y)pbf5`bAoq_P!4-*^jG{U<0t1LP`$U%Ag%hJ9$^KmnJu~JWR)Gw4197 z7|j$i&o0@*f6$kjASP6#U%F3f9HKVA9K{OjK{>3od@bc8VKTMH53Js3llxH~Etlog zFSKG1x^nwZ>f+yxaB;4mCvgyi%@N}sDJg04J+G|JRSjg`81%J!x?#~vshF^zY?0|Y zg1+P1nc6OobL1buCd7Ea+>gT6WgijA0I!?mRL^e4HmaLo<}$O7s?g<4FtZx!LyYU_ zjaZS*$Kg;j$>5LJjgZ}QI_YwCA1?3RUw!NBxHSTa=F-lq3iV`fz27iy5I#NE@I^wu z&!=`SwF&CcI?!X@?gC6r^aBUZ7PEbmeQBs!dIW&YzelZf& z{h@88JG3t9w!Fc)#}HV?6ltK&m?1-wRYfJN!u^G+y+pVb*7vUl?q4guvdxqOii8Lh zLawlkTu9!4T9^JlAdd|C+HO=jC5hbVec(gyh9@o_(BPY1cv0`D8b{iDKcw5sBt8g8 zlkRwZy@0*$Ie5dNh``dKt+c^`tIWOVgtgx5>^hfGv@=$JTK}yGU)X%RBWFmp664LXNlyXSGTj&g0IV~Ei z0I-z~qB6+!w7?}P3{Xl7f{6Jt4 zWcW4Cu|J5V0mt`lJn%<(s~4sWA>(z~r-0&jWK`nDcCND@w28IAc&12q6niI(T+Enb z9JsaV($^-V%c6tP*eoPVQkb^>{d6=LVnd_tOkP-TF;|rXvNrVr-PY2sc#B-*h}XkY zEXb`qPF%b~s1J>l?q6uHP-?FyN^RMsU#|djtYK%1Imofkql|`!QztfjF-j#t{RhD? z5{7wY2NF|mt4KS#UL`-n12Bwv3fpsxChZAZdjdNl+3L=edJVI6DC(dp zL40j^-8{OMVh6{Gldqi!dRl<8Jf~Cn-M+&d;|`qfKmp%QGZdy3iNtGC!Uah@3l2dZvGQHH4#emL^t zeuGbmya6-=pJu9W*2iL#KO4us+uVDesy6)z1Xg@=ZYqa~LN3Dl6Y{}OXLauO5AZgc{Zd~|Aa z*qO71^9p#BJUxm@zT(4Pc>?JX4+d_4hH`C;)|M+oc4f>Tz|WAKp4&U7KTLP?{2X9; zqHY+*oU2DB?ZCSdcB1cg3++g8-q>7G^R~4M{g)DIiiQyzrWv_47*7Hn(fAlQN+d0U zk;StBV)sXPL$b2{(;u3SO=Z68j8{J({fte3+c!6Vw_>n*e}!VRb!sjXihFM@X~uU+ zx<2sSR`+b!V`zq?pz+mZsljm>K>nDU+O{YV9FTPKF_Wc2%6>1`l9A8R6&sNpF2%NR z^e@%x<2l-HFMTq_&*PE5XakDsmdIxekLFzI*ANQa$-tvC5~`R}nIy(7>Dx|is@NSL z78yLF0>^JO4hm73*DASBd^zDltP)Q^g)3X-Tf0c2lf_1rx9?LuKcr`{@H?NhzOG6c z^I;2Yei~J2tA#3Fz>e!`6~8+Q<*rKo8_(BsUW=`0V5rmjbNk)tOzC0~uzk5QRp?YP0}dM0?5!8c5U!egiaBKG-~3Ci2#59q2q~-1Q+EK% zsXNxVB({wWg2~`zNl&XfQTTl8+#^0x7H~R9_=t^&}oySd@90(FmlA zsmiG^$ZXh^`S00PAPeaeB4&8tKW0>=WpX@{VGMdkF<&n86P-G(BFrP zg=0`i zGsa$)ya?=|c&atI^10t{t+rIYpw%kB^$b9cdS|;>dE-m>YlGH>RH;I<%~Q$I>#XOV zjW7ZAPk)Hg;?9_dbFDN zWEAnKubled$Pn#fgBY6|O;WetXzFJ+O#8V~>3P~VwB!2he?N5dwe{+Pa6T`Z1|5dh zTj1U4EfVmTOWBwR*oUO+$+ojms8#;_&DGDp=2X-CW5H01YlC~W*KotH-)??*0zoR` z!sJa`rpu&9Yyq;4Ox^=brBinp8qDC&6^}9>AwMH zT!t)ZZf0=PWUoTr7Ma8KJpB_2O>;rMH|h8=yLw_cV%t3vnm=O04L(X+X=QpAoTydB z36M@G%hqGh@JJ)#cK08kTzS$;^s%PEo4va?V0xhEaU6&(01zOIx6P(Q zoAGaH>G~}mAS2UvV!l39%{Y>8X%B3SY}$7L!0`pi4ZH^Gt^O%zHhcg=oxt|vFB+X7 zrbLnY8d^)_rp|aC&VM0S4k3aK;oi+*3TRh~7>PA}8!XQdlsgP}@Qj@<;dLZsb(GQ^qzFP}R}J*ls3_*wp6MW@oE z#`|A>OKV-uj6lN$2>l~0e~uy|+7YREy1UO>H}bB0 zBnDAz*+0S2uY&jl6Rcb+k$-(g#f#TZZ^i#x#Cyqn5%m-{yO1P)^r>zyvxlpr9btu9 zv`un<1KP)%{|J~j66w~tAZi(K{Nc)OW{*-fLueP5xOs93#8NW<#F{ab6xe1pE2h}7 z;K6b7rJaStGISyfa8kP;ah!3HkTPp))Xbb*L~$|1WwUl3dIAlgR|y_eOX`5yw$1;t z=ve6dPFbLh>lFU3tI$XOD0D%rhTCe2E)_J%V{je0%b~-X1eAwDaIpOyY(~L4DDG zDBLUKBfv8YuA2)}ft| zJ`oTM7x*Nz4k78a6=7enHY5q`er%6pVz|sTsQ@6unGO)F^vOuH4?LWU*RNQjnhZP$ zZ`0ttn}GbcR<6_%6sDtZuFw6i3uSS1-F_zzY^BMKkN z&_~p@2@FEI9U*#;STy8aOh(8|vgOzEqDSw?XosoBzD}1PJO-jPsuCRIjL7F4g01(_ z9f&iP1@B*XgE>W;gsZn#kE)Y22$X^!8x$}YGZ{t7FZSjs-P zh#ldFfnQ*XFGNP&^LAj@s?)@E&GNrctns2vzf{!44(*K_Ce;ISVU*dpIcBa0>xYxk z5-XK@*l03QDJvy|#pDSQolQ=aNtYmp-wwlhb!3jrp`H1wZ+CI=UW!$pm35RQ(3t&N za2!}F>=uG5@no5%KQ!m*$dA0Bx6@>ez5sb#BG9RAW25+H_t_Nl%KJQmt0)YP|AJtP z)BkgB+m2;ZDV$dn{13}891Ai+Iz{WYGxotF>&)m&v!telqOaKD9+m|FM3x}vDeX+8 zOnK$K_DylU=$8gxf@y`(YPw$u$1Oz>O$90CqYVi8z2s1jdmBPXujJzw*{8atq# zQ1+{5l2aovVqDd<1M02Trb$G>5ZdFC1(F4T2;A`D$_oEH$^oz`jkt65BqOSZeIK;T zs-`xM=mr>Ati}$pw&m#9p{FRXOh}-RX88@?=T*D5#Yjw64rUr{yIq_y4SX%@7_q&` zWHC_#Dtu_1EzyiKAZMm!sKA?Cz zq)N6YXQD;>bg3{Yk4#3Fzs}h38;5nVxqNNWmE+u%!nx7P>;ya{_H11jlr|o6UbT4i z()d?|(kA2}GeVUxvw@x3CtYr}Sjg3r`(jVn1evaEQI?RySZ*+sO_ zEk_2dmJ*iW%W=elg_YXeqxR0uqe``fM#PscL>Z&&`c%vKeUop< z2XA&q@0D^=tN)REY`MHW${37Re`%}xp=PoA=A{*1JFX>}(o*9#)@pfy)F7@i?Bb3` zbv?xe_TTAhsl)@flDAp9@2)grc@m2l@{O?h0W&`(A{khvK415n#Bp)Vjz#NdXtV3^SEOd57lj+Mj$+4w0bxC=g`!7T zqxcn&BfBrWO&Ur{%cL_+?fh!jW^Xy2*GljSmMCu?2je$wb%bW2^C$62S!tKIG_A-V z6GM=PcgFmOI)9t}mD-U#2|*lb8y(&wqDgmgXiW0YZ&?@5HMxOKkF3~xKZ_+kI;f`M z%lJ$Zvej^j4Jv%`Nxx-Iq~0Z3+R)_Tn4{ZP^7LFlkJ>Z-$RgsvZyEP14JXors%DLT zSmq})VwvY@biI~fm6zO8mD>g4+-(xW6~Ii}W~0qaS|_(l58K7(W+^Vv!@`VHWGdmdY}7m^-g4fO>uvas-I=PTkQY zWL=o>z&^`EK4oP0$7yFMusT1JV8DeBDOOf&dTMR1b{1p8ml7*e&Q4nE3ArGCkojOQ#Jgl(4xD^P8oeg}!q&1mFW~t=e zHE_9kVg5uCbd`2MZrj0(h2owPylJ#fv+<#{>Af^T=thtnlW`o)-Eap%s2(Y^LK;R` z5&cjfO+2kAM&o-i6S$=NKBd~&qF!q92fx4`3UQ2*1j4#utJDmvf9Q!Ce`Fbl zz#^CC^CY0mO7iNH-;z0a`{IqvsaJaAW86#hRMNn8e{c80l|8yr{38vHuWNJxMLSUA zU0NTh1>j%!a`OOm4Tnbf>D+TogCxzBw=!key1tT{0D?g~7cUF5p*8XOwV%H}4hnq4 z23s8kS*eNR2#ifKdhV2-p)dkYb&7oIUlxrJOYw-o?Ne*7Ng2$^Q9sxskO21|gOQ5q zM5d8V+!4hheGj|zEY;D>QBr;l!jXA}kkqIeOHVCM)-4;}Q-SiU=1NJ|muygCY-rc(^WP=Ts&o{^h~8#(MyH4-PMF1D|mm|h`f zg9WJ51RHFs=_x$Ub<*o6*$Lb68KOFbNUIMDa~qZt>h-oZV3KW4_U!}Rt9u2a?Q8#T z7Y0#!*pfvbt33ZJLEHhz!scZKWB-!a{R`k7lVcMydX{*zNrfhVblotYeqnr2k~Fpa ziMk*YgEqIh(&;7Lc`~Wqg@@DhPXPu=MgAJiZYm~IP9U>_+mqx*dFWyJE6}lJZNZRFP(0M#B&%{Zm+77; z1G_Kug!cC8k8M`jV}d1BDDh)_y!9bgo!|^Y9TN3t)tFgfBMu&UL^N6-Cp8wsNAs{_ zdG0hz_WDcpqc1w7DS4z^i=im9Ql@(=q-tDs&ZxTzY+BR>Mm*WRXJ`Vemuz(-Ce?_> zLuSlIg|lCey7E3u9nZaV>V&>CeOvrr+VkUFQ{l{oBv>U8IT(O_Q9IrhiL(&Saw_T#x#goFil_8k*tso3)g?D8&uUj}o=}t4YY9qal@aWbZ8aIdkY)3iZ7xHh^hG0!YM7LF@8V5x-!Efrstgv?Wni zr-}~1L!-`ixJi%QPJOfvia9j+^1Q3`ro%vtU@DZbK_Xw6=a-6V9x)?sgfP)Vv*l$7lh z-V>oU**D}8=UtoCJam%#0pN_!N7B54_4+Ri5;Y@PqMg1YSFaBD0zu95Wtsy}KYZl% zL}y8#X(GCf1NuH?;u7GyR@!e6wcORPzZvwedJkNL%5DF|2XvBTD zdJ%w=UbO3C;fOuU5Bfi&x_@^E%Yth=ry<6Kxb~A+(~R;1++o!6d*$bPnzsIC6f0p~ zqZvXD#4PL{^e2JN7=**0RNd$ej0B32udry3Z|7FSZfW=PeiK~S9gB9Pp8q!iEQBa5 zU4t7q6Ze9X8x=toVQ^Hv*|bx3nIDwg_KacTs3?&zYbwD9O;Ng_At6Jah=w0e=o(q? zmACZGi~mC0S(}C;SPiy7=Na5AuDqw9|HIIN>P+K2opI6j*DYKhlQk%=s3AWtr2`Wh zEk|5{N!4AxL#eExocGq27juI#82z42iDdVYzr^seUxWp>Opi*Z3<;Fa%oyzTCTwB| z{F!8M2TQ*^I@N-SfE!Qen!(GKF`vdgt2I+fqm`sN*qwTtKjfI1=yKM2 z$Lm^YJ=(SFizrn()fmQ$-y9IRh@yhiWBz&#Ya%#&68c%3pV_gPf#__4G$%Ki;Ds%q zOK(CFfF7v5LExk-pBv!)T8+|B%hS;(Y5S|ab9%$3?;<2~gCvszEVcW36yY2MRy*kV zj>Ip7dlteTKbP9`Z}F%;{r;VqZ}*LYk|3g&;G>uwXI(JFDD8cz?4Vn5*1M?S z_ebFA(3y~H+TvHn&#JgKFbwY?GnMZUAMg0#GyPypbc_3+F%f3`2~EHlX{+_XIvWu(CiOq}qr)jAaNT7v7gexqG@ZQQs)9}$B{Nl7G(t|$2#uDku_4RZ)!#(C zX}CJ_@Em={>uKdLLzY-J3rUG{?0!>OIC5PJ+FPJpd&f%+gVb9O5sw$#Hu zSTf8cmad%i*8Pprmv1MA?r0z%fKdnWMnTMyELJKFqm`1aPED?=_-_vJC)*zsF)J!>=}cT+p<&gv zaVEujGj;0X7zGPTdyX>$0!j?V8x3Dx4u=R_mS4)o{BcitB(XqhJs#J^U`LT`(A)X` zX-Gsaf0n>ys^DjRq+Pk55PMkl1tjPB@`)l7AN#1nc;lvBRbM1Q%*;Y&(r~Lcn9hDI zW9#pIi#IopMsAdz>ITDY@PAQtg=X>^hHNDB`G(!7~!-ib&xp zw3r3;Vy5!oi!ezyf3geymjDzG6$tk)GQP(1!|$vT#%%UzNbxfek`jRjop%Jx)7xMr<#x& z75nJBel0n(-~U$yW6Y(4Mg18AdvN`v2wx4uuA>=n2cyF}m-Xh&i6E_5+=YOm_ZYbu zc!X8h6ujy*eKZ(fgvcMrMvD!d0`aeuv@hCqwPeZkywyROVOve5Mr%p}JjDtX!uNQ3;t$l#q_^@Vc~fA`w*Au^%>3Vydpc%RtWy(l7wVazvdOeLbEuPh zNKt-`{rqs#31vf`tKA5vlmTT4DTK;5xj5H)VsGxlH<{kju}^~zGe}Ko-+GBGNGOpz z>FASSEYB{qn(r^=%h(%M*nHkW3T1o^W?;@oD!*{j;I%>=%#BfH?CS#2USbeN4o0_0 z2Ax`Dst=K}n6e0sU;al!f?xxXmJ*wg8x6Vt@Fg*~Zp%Lm<=I$QP)R?WcU{nQm#zr? z%fPoU{+LDgtty1yTqD&GjrsMa-NAf2i`IhlvQ1e?00?a!y-zx33T{W_D-{9g)xac9lszuP7arBynm+Wt73B{>`?r1hUzL%5PrYTC5a%@%Pa~T87Re z7W8J&)78zoJd_-F)7QTC5~$%}3#DvcU0Gl5XQ8nd5)5BaKsvYMk@xCDKBn^Q^X#L! z0cYYc0$XTpsg~xuJRhP*^k-S~r!q6%q1=#PitO0H1?n=}Q)V%Vs9V~&n#4SEUrLy0 zy17i)&Q){;UkRTY-;!nJr$LHt;Im`+5Bv}=*|5g`!c$KB7WC;JMo!zd2HUhUY4vbl zW{!}w;5{v^sdqwiqAgKRVkXuT!QJQ1L z50;_ESVMbV0s#n~?vYXMMs1Iz8BNheQXM&U_cKL9BPDCujJ81(%uJ0}fuZG|uKgPN zCYT%<>O$`1spx-1C7vb#Jk#yoT8Pn*&UUH7wF}MI!%D3{e<}7Yj_s)yc6MtnD{J)W zApU4{@?Exg_Ykf}h@=Fgj(l%9XKSw(I%mHR-lU0)h38j48~?!X;hf9NLWy};APG@eht{e zSxxB_tQU?l6KelLsqq0iRoLaootX^>ssFE7JcUOu|4aPsz39n_=jqi@+jE!}M_GXS zbC@6XGH(TK%RgTX>G#D6)(us#YTl$}fzG^|V#rFFWYRCF9C2ld3oMhb*)N_hvPuAT zOs6loWNC3{I6>McQtOE5if_kN$yv#d!x3>8ay$)?(13ac>HqJ;@NU)za znb|e+cAA*E$L<|9d{?acK7mQ3-W%yfDnylwZv75nd=8{;W#s6kX%}CU5tl5540~TQ z%G+vPR*3xtCv}danqf4~H4bx+$(?0p4wyfcEEnr->9726YT(eGxn+M31HKZ&qz9x= zn%?qEtSDanO)gWPvq8#@sg*#f zyCqoHIozm)Ha_iXJW-i~kF2EtG9uNsqUdTb0f%_o2~g;~&;%%kl*P0tatyRNlwS0| zFBdJpsDsv4lc(0Sn%Hb~PI{CS?X%+BCSZP8u@2hk>r%`Vay0WLSL&BKTY^PU@%9O` z@-A(=_X8JKTP9Co$Y?Cq{3- z(xEL?-7UbBCJ~C=`)fOmR_Rrt>RRp{!>ho$7wI9qc5K{%f5>+$-Tz$=hjzU!-#Zwe z)XFu?6B};t5s@)j;4Nsoj%3FZiq7vwfodl+xwmL;yGQcvX?tqYWOw zxb=N*vGOMOw%q~?N0NWiKEHE8Kf71bLXE+a3FQekfRXJyGb4zLqrc@(vE4w{Tw>%( zRhV~Cv+L#|NAImxXap+lfMWudf^ik}Qx?TXO8ux8+9C>iAra%UZ)uX*y09jB2%pu? zW1wiOvaSbAuO3!?9=50DG&9n5B%f-~EAY`vaSLROp_h+rc>D zH`gj9l3jr555mk_a~ohrE`gt}!UE-x!FNmocP>9_I>$W|9Sb{`x#y(+czz1$?iLyG zF8X8h*P_mo-tJ5Sxcovw+my1sisksEM@S!Z_zjy!0093mg4BKYX`?kXZ+?@mImD|z zAs#XqJImo#$Ga?~!;AZ}QciuELFy773-eFtKReRa zp2V%A755PvI7$jP7^qaV+;z*~pAoZE7uE>X*04D=Iia`!CLikFg@KD57L9@cPx{OM zFG$uQ_Kz?lqrdib7Uy-)R#4;W5NwlTp!)7JK;!Oj$!xB>*E8)<)lAEUK-Xp@cnOB2 z+2`QVJZ@oAVD#fWiwKEeav3!qnZ~ZLEcBinlDIOtG6kdtTjo%&QwX#|q2}b1{GZ8- z^i~v4EL+L#@9onjm}gfgPRxhC#In+Pc%`r+#9t$LW33%UHNO(~S(?sd6&LaXD)2MI zR2{Gqsc9jqI1FIMy0h`uMH!2z3&MX%{SO{$-;n^fD`Lwey~Uy?t*ET6)pe9?4`R#^e;x_9hV+cjc5a_a4;YS`U-;Cv zKBI3MoQ>Ah!~SnCQ2A%#1{U&S_Y6ZfAQ3o=0R4d-FmaFDrj#_DkOPzPENGXvC|g_& z2w=)r!LiD#HXX07qvt=j!@kJbUPMnEJG^{tYf|y=@$s_cvGq=mEy>c$QXJ&4h~R8` z%%f_v?M4yFsqww9UNoFc@Y*6;FcuWnDRJS3Zl_#s9(IZkP$O1;5U|iGD8P^sEt8cB z&EPQMW@Y7x*O0S%*ez~%4EiB+jj-y`XH%UJ895Yz>siSw@u3NJ)j&vAaIo2}o%KXE zZfGh!w~;b1@)LQF8^XKA(uhGEi>x)|u+OUdMMIvj93q#eILcIYfK$mh3&?FC2X3$$ z)yko{FT-gL@ND5P(FgwrGrhoM7;V4)?<<9WFvb9T&ns*Y=bJ1zQ|RuR9Fq5dmfHdo zZv1gIHz(h@Pt9Poz#?}}4hqe?Y)Vil%tP2!6i%;i($W&%7G2rW5$7sk$J|6+JzxJe zQ+WZ%jQg_hG(jjv!1c14i9SYR-~6>nvw^gcbJK;JF)&?sSzdT`&B4Dg91j;N(@`c= z3|M}t-a_=2@Qjd^W$$7e6lXg%0nkI1iUwVfoK1 z$3Cm((er%-Ul!54D_{|Dy|_=gcMk626DrysCSTsN*NeE2UCd}99r<^yL&TIqD(_8w z;Sm@=I=z(1CTvsg=~B5A#x)?68^KlZe+xW6{HI{Rb_^ zKViR~Vaxvhg#OB|0+dH}4y=5Q{(PA`#U1~G{ehA|jbVb6)tT16xg3wtF?YfAw63)0?76(MG=Hw-5!^i9F8Z&y6K;G87KvTc$=z&E{oKp zox3V8J}tv0qDQLHGYImQd+-nBE^YoLp=%H{=2_E@JXT~6OFu}yn`rzmxx)JzL-~r$TDe8~ z)EeZzPfsuc)7ZGGqV1K8#T-+2rkrIPs6;RMD>zFzq48HZWdqDBgyRg>&!~gi455KI znq^JM?lW8>0albV_v>2B7NA+GlOzdaafnilqoaq4nYr^8KO{1ju|dBlT$;Al9#Fdd z^ypLLi_Mh_hM@g-I^q_wUkcbe;8B%|gg%>V(py~K*ZDiFTWJL6vLaI4aGHigXN~Oi zNe{iYT$PtoMC6;nYQE%{a6Qbq9snR{QFhW+dT(UC`)QTJMCPiEWj}Bj}oG$H<2<~vN>&1-*(61-lZLVT#vA%@2NQm(O8hcy|p)gf>+#IimsZKCw1~hhN0js`(;=aY@!twm;8{Y zmm#a= z6G4{}zmQx)USd+Ohy`{CR^Xqih0n)O?v@`wRIwo~gL6LXdW|sW>wanbQdhxtP%Gq> z$4$!%zA!vfUi+-F;@*$gOgGAV8isqc4kLh^IV__vpOU`eZb&h>v{wT6+kO~L? zK3qYJbk{FD8W6fHAR>j6H+PY=)oSI$Sw7H(m>>eQ0j+3}`-kX|RSCrlH-lH_*CR5= zdm3P+_z-hN^fXu&BE)DLi-X5q)4SPYE7Twi636y@3Rj=4H5rFWlzyQE}Z(gTFPXV#QK zA{_cpvy~r5SFPW!GYPLWY8K8`f?sCXdd;Cq&VjW+>Bu~6NBr_q|7tGdFm`6yr6q^B z=2YfE+8c6W=4~40B(I2+Hkp{)a9Cxf1LC+ERSTwe2OJt3S~(0g|GynPyt+eh>v<#F z1@8q34xrl~*Ab@kzAZe_gOaG}I6QRtOJIM_bt61uZza799U`L7Ys=4xZvG+(Odx@w zk(u4uo*gc)%(&3j!CA9Lv-PD3#@yJ%%y}NmWFb1xWt)QG^zlEoehZ?~1>u>II{-bw zg2o6V>w424XR|(11dthUQ`r!6VF1-3K}<~|&tO2ss}uW||FeOK83^iQ`<|z;q^{2KUDjUeP?1l_Z*y*p0gu23 zAw5qqeUbh%B&Wfbi_Mp(=8th)7tWrBP=Yg61kGOaiZ62XL*KQER zvW*A7**$eM3$jQB_Trv%GXztv?#YQhSwvvQWjhaY%0<+gwN=)kAo2U3hK z5DecVwhj=o;Cr5|kCo|WjScHW9?hzE+>}wRQxh%s2C1@sp^a91kEjB{=P_ol2KB_QypBmon*o=q1N@*z`nZ zyZ$YJ+9x75F7(dq#`LiE)Z>mBG50;v{O;G_j{9rwXB!ro9qULLQTPLIj6CvPAMzhg@C2h=w(2PdvQGhnu1y58hMnlH%Np z4|u10;YooFo%PD>33cN3QX%gO65I!qYSOQOM#|p-j({0t(BAavV-@qP$6{wsp5H*h zF<#R{#ms>+TZnqCb2>|d!jnV2iNAM*vJLnB1&5jtRSz%7C?Pw}Jr6pQ4r0*tJq5xp zxMXG<&M%{7{zqs0i@T4|nHd#TT6ucO8QFUvf}=GRKGMCi$yw=ha``wv(U!T62sq9l zh$g`UEH#hT_*rwpt|t-P&BP};H+>w=hZdX$KLoogk((NQRkD%G^eV* z+u=@&0fsC_wKQ%Qq5Iih`PdA!9jCAkXOSzd|iI4|~8|!fM zQvsTNnHG?{-FX&{<%4ChLBWz$HUd;JxjE(6xln=40j}{m?pnQtd{y+ikEy84#GYJ* z8fWs|7QR^|Gg$sM>>n7RpU-;@B;@Q=OK76*Eav^o7?i{JBEfTyGc~DnH70C=Hk{Fe zZ8wm%k-;~|WS%_3Okw}gU=O(<)q^i}0@!lEjAzQgjMo&dWI=t4qr$~N9b9z^^ zvpmsGM5A-!214L*7eFXV%b)QyU%%(l=BAb66*PXZ6FZJVo1viy(`ltqyc*CV0l&xXGQv zfLwyJJp0@GboyY-|3n`Z=ZWMc!tC1f(6?(QLL>TPjbGs`0;Df#gzW#>9XjCZXU@Bq z3`gL#8Fha_Q|a#JE&;1TnAW#5JIO=}U(ojJnqrB(c1*I5yqT*dsAix4t+fE+#C{48 zt`+vY=||bzc}aTa=jEO{w8iyW3F70G&LM*wT2Nc_cZ*NA;oxK6gX5l{77sI&0ee9L z+{0~mWa-FRUpG%}ZESgT|J7({g{|vgsb#}uQguB+}b?b zq}G!90wTH9)o-S(=ty$ruIb4H-m5POM^|YfFH(9InLi(GkW!DvzmjsNj}7?|-zy<% zCM}2NV2idHD?k7;JdzZpVk97*RM?}FS!CWD-kI67^oOV4}CKEt=Ku(3!l1ccLDA;{+&z6B~xf^xTB z)my=p2I8(QyR<83qxqz=bF2=14z<`EBw@CRIhpJe2|5GZTPLG61++&W<_PDzKeY1d zl~a|US#H){ki~!8copaTip>nW))}|{E@HCJ)czdJG58hsKTEvA4n7Q;hoFdah>Jd! zipe}ttnCoNffn-_S`yH*EA8t}d}Dr^n`Am)6s4{80eiEUk43v_>g|Sd+UL2m`^R>5X3!i#|F;HuC!h-mAStl-sgvD$rDENeDjoe= zE-5NDhbv?w>L*#aS1L()QJi+#^oQ-_5p8!%>vxfD6Fb?*^2k>5OhXb6NPm%(eXoOY z^W@tN{0R%orgRBos&|p3Q-9Cw-xnzeVvLQmTT56F?apP^-tZmddwWO{RlS4O_L0$+ zy+h2P0dzhp#Iiti&}aO%Mr@#%;4w|2Xqs_iR&3sTo%>nPJulEQp^oRX{?ak4p04d)Yo9flg%@i`X`kEY zUfL#cwS;>cD$v=5E1z_8#ujqWQh+Z83sNV_9<<`D6A**krrF4)u zvUQVr%;D#Q`dmGiHUTC_;ZV$aHx7`J%;Bwq#O!8a z5*{l5ew`66Hj7!WT)uN00ezFV**co}x7Q&Znv&znbM-tKr7hJCme*wCK3n*yG7-+Q zf8T-~ILXNS&uW7h-4KDD`wxYEb-pvfx#-%v#(a0~*77o+x95c@>vJY>rOfL#Eaz$& zw)w|Rc|1;QlNNJooXCuBbzHy&pF`%&dzbl-Q@jhuI7PW0K z=c9KD6l3GhO>!-JP((=N|boaq-~gfcWpmsyS8)%O=AYTcLhWli(t?{hXs7&L3{QpNdIAcjMyTGlWtFKCU4I`RZ2kK^k>o#1xzHPTg_Ht|iwIP@ zM?XCR2WDVBfM-rV6mwx}bd3_X`HL1ABpgf;j62%NIhds7=MY}J4R80QIK7EVbw!RL zWj+qF^7{#1b<0b0J*%GRmdc4}zV$&`E~Qtm8~+}XreMlI*VsR+9^$lqHSA@f&B-LI z-!8Y(lP)bwi#L?*2EKz(N(g`~@A@vZw^C4Ze?~h=PQbn|}PquOXnhW`pm_NKL+SIC z?xi)Kc6Svq_PM`>K-1qhBH4n*H-wBd)K}E@nGpc~f8r3ma{>#ZT+?Xy_y6R~f6wXW8+7v@ z3V!v9hf~w53iJP=JLIw>yeUXw^o{B-iD)iX!R-H~O6+t}c46cOz8`3Md zw!0%%HYK;5cl=<>Zoq+8IKgGb6azN{tl%LNgWY0Wk>{fQ@g`Fjz)O>2M|mF(L=1=JdeHIA!P}w78TD3YG9}m9 zuAYC%Byb3agcQjQ(V9g8CK2?GX|Gq~B}=3Fcqwy*V-?$o~%ioHZnh$%--w=MWz{jO4ezHIf%>7@n?1ozeXsLrsVy12H#G< zv%K1Rb}kf3MR)IHJCyd}L`~#U?Ge_W$R?E~cg?pR?+kmlxbC$AJvU33`YDkB)<;#K z53OizWOodv>aqgM%w(&Y#&GWAJGE!UWt)N#cVo( zFu7@Y?$;z0#ZUu-E zLnNt;b5yj{{f|1+z2o=YYjj8Re^QDj&8F88o-j`|DxaHgH^>PXnCTyFEBNz_;Y-B0 zn@pW2dKI3~3gubF8!FKf>gQ}P+~>8%YKlilFGdc3 z`(cVR!bs~CAZFuHK)i~N@$N@hXU#S2+g~rIyg4@sT;#1IKXDfEjj+~K6{MS^;yWj} zv@ag@u@?VmLzSO@PfCB`V7Z8F#hfqXQjeqTYW;$asVCYP+0_`F_PO9S!t?M_w_!$q zq_Y!GgrW^OilhlS$d?@Kw)T9p<@K^YMAMLn`adzF!>px?6b;zw$i*ax) zt>Rk$wdAN?grxqBQP@k*-hrK8Wv_nb_GL!%${Hu1TZ9n4$m`m{x1c5qUEBPV?_bCC znMRtJKDYnUOhA!w&M$rdjG0-(E$cxW6Nw(5uQoZ;$G-{j%N2Zsq1q*B>UY}ar0M1v z+@ddCLao8pn?=lTEQ1}U9|L%)3T3%vDk%!yQ0Qk-wzfDQ+uRVxsG((7`CfXwdt$w2gcQB#0kj=kNWZgjJIix^ ze46Jwm)47cJw5+2;h<+on6*{4A!wEutt+^Qhq{ zRGvVi?fjdgjL^22)qM#A*CL435p92;|Ig3Jp}4jj~?e_At531xia&e_I*S)M5F#^ZJ7paJ$qkxi$u{tdPz^h@#oN$ z%?xUcKe`P&`UDGCBXn(OnKhJBv4dn${-_blxt@9j=(%X2dmfwu8XPvUPCQ}vGH!dt zJ>MYAp7%-Y807Z>rpyv4sRmsvMJ zV>}U?@#dX4gXCLL+YdsUkxi!KRCG#pSjFmsC&(gkp>)0OQ721E`_m$>(q( zTAmqJgvy-p=~)h`3roNKC^z>W*I6PnMztM}-Sh) zz|F4;z7l3@N90Jxgl8t+&S~@lOin3KS}-TKMZ^>EFig#w&RVmtu<7ZAbw7c+^1OlB z!qGaSqFH!5O6W@Sq0sk^5xCe`y?w(>7eInXk~jRX5#fT}O#;Tj!b4g}bd9wl_j4la zy<}^;BKZn)0?CSHO7!yVf z+I0?RGA@W0HAG&N?Ow>0OxLR_PWh;b5_zpw740ondDbfI+Krvj6I9MUVY~LXoSk@A zu%D`NO`22rLa>-$(c#2sjkst&Lrz^YId)pA z`X=GrVMv7euY?MxglHn|smi5HR5t(=ICpNiJHGTnJajEGm0yPj8Z#WUaxwq%sgyZC zrkT7j=Z_2klKnp24WfH6B+2z=c?x4dk+TpnzDi^~^L5>;y&NfiU%%gdEhoC8$U)-qc$frhbnWLj+dz%+1>C}O&vG^BGG#Ij&tq)TBw@UD6PUaih-OjxZz z-UL$sZ@w=QiLC6EJ3tJ#cv=#fn6<)ca_ar6sFJ)0dQ^(DlwT${FwJW?lay)6W1}x} z@;l(9gR~7l%cd$c`d_!Bb1hH`H2CB|IonZ!X7ECcpUug^#Ut?KCWc-zFu(O`jopu# z-8=pCPJPok*^s!CSfW3pZO2-&#w1gJEr7(6F zj$YHzL4wSu7iPZqYF=}TQT&kP$92anP4^Skz=(>O&sX`!KGxXcDhK0u=(=VW%@M8% zxjlJR%%X%ce}O7ENs*w!c{k7@_vlxYsypNIroCIQuRk>r1{V_X`)Oj_djia%^hCN2W4(!&8z{N=DH^v}TxEMHy=G3Zi$%c< z8Oe{0HA`;3s8?qwJ3jbN32Fp=HY*2?@__efV?GL#@nL{SBE6F9Ce7){?ue@Bgej}B zBJz^648vXKc~w&mCt`RMrDS~(E+l-wyWT4xw$9=+tchy0RLzDP-&x7J7s~&=C4qo# z(X?zLiVC6AFih;6nVQOy0RXwYO8tkWg8w`RDy3j!5hKay*&S{W0DGzPGEWMy+rKz< z33-WDG1w)M_f_$RV*Yu~X5(7?e*1Nxgmeggm(zzhf1%tiV}&I%sZ79wzom(4l1R8{ zTyBeK6G}}ilf#;9$?4|hhM4@LAR4Bi^CCyR|T`*+@YH7-5CHYBoEv=4> zKqg>3_gaD&jUGd7HNin@Jok-INQT{v=!cTNVQf}*5AiUG$Eg0h0om9;Pt$My)w^%m z^^qPW?g}OWyS~=^!iyj7i8@3jH$MZhg*d6dP|$iARFpwzGO4^c@^o+98&vlL9iO1w znJF9JMXFLW9;=!u>*y1{i_m$_#esW=86vgn26A_p^?{6`rLfCupvbTVt}&JsPR9;7 z^1a(Wj}|I+q<|4=H0x#Bym+_5HIjKk5=H!+-a6TNgzciP9>AhGTg!Vbg+F|-VQ=H# z^3$)JHl4TOI&h!C8ZfV7qm@RlffesTt@Ab(B4;deDP#BzrDTbQ9Iyj`wb0+c`qaGj z7#vi~=)%TyK*=3cPHv*-L@ZV9{QT!E{wkS6XY2T3UF0!u|4}RoKSnV?AO)fa~Tn+!W((FfU)s`2;P!5 z*ad2kdFz{=Uz1=n7DWSz=B#mYgPeuP#B zrrk?#N1ojBwdc%f1+29lV>k#9zP%>d(4Q5wt&hchmz=QO8*l8nWb0Tk>2LrXSZI{o zh`~zyX4c;odIiG8b!q)9sY`T?b1VO}wOqV?EcMQ875v@PAy4$%wjED|lm9`{=`n?& zmJMvR{hBm@yDNj|U;70+ob)eyb~CmrN(N$vpijI7Zy{|Rvs2`Z!-f?mpS2zn;fH>W zHbRRY`Zyc!EKDLUP)CbyLX#ZRXW50Uq8asXETU+M_yj>QnmGz%fM5o{>E4Z+g!KN{ zl2fCCVEdn1mViuj7NM{XRh__NsaxeF6&s^b+}GAdKODjXOA2S>^3<{;SmU}V<*}{@ zO2V){ZhnH=^gU3UdVa6|DR~V}_^G96&9F?Gq}KB2}Lk27q8p9HS8vAvBu?=7|5`IgfpJD_8HgEWMGYWA3=Xg)P7syg~9PIjy>dJIB$^l z9Y3-B$TQx1uPlc}cS|g2J7M9O-|RqnET^~_k2U({ebV|R26KlpS-Rwo73|oPSWOAITU>{$3K1OB4Z4RPO=O~cq1;N@2y(R6ZGj27Ge?nYb+@r_ z+-n%M`^NEV+x?qh>W3A90C#rre}bgwsO=fF;eTz~XO={cWf^2^VVxAHN;Dqr!!aS$ zK8@+-B2PKJcjfaU7?z+vZMf|1$z|TPZzVq1t;Vs2)ClD#q;Sht<4GN8J2Py zVCX@)errE$uEm`jIA14Kwil2*17|Ctp7=?gs~dA^^r&Ie{H+!4@`R}at~Xs>_rd!F zZWJxl4{P2^+gBz0@qiwuX-lnA_pMVRY(t3`j_-A+$z&4${W7b8H6Js~D-&cp0Ub@QEf zk#bZbden~ZZHzrUrX#()m1qFfr|z5)x$P4{j>{ZaSWJg`QAqn@;;-t|7;7NBO&Rf%QW|6o z?=oJNESOk&SoMIM!UB5}QuBF;l#+5PuVDxiw`F%T0xgA2;A|BEXUhp;<9gIcmj~AI zXO^CYomr#kU^PWP0!6{oL%R{7>-IzqpHUHkn-zl@6Gqo(v5z{oa4f`+Gbi`(uv&#k ztIF1ji9=L<{WsSlE?h@)mnH&c&gXoT2l+1!L2(DDj>`CBEC;%Lmy_A@+xVxG=c5t^ zN<5tdZ<=4+98w`2b&@i@dxwWxFhXiBNtiJEKu0Wj_{kf&LZe|gss_N&# z?}-&x9N3P{Z+P+Y+(=~HcVOpjxy6l-q=c0ZwLzD11A@5GMhO_rhZNaBjy7t=nJo|cpf?`VXCdbvs#(Oq!v_fD0r zu7$%eWGFAwPky7~HMyk#<$dLbGXU-1DO(1iHcO>(KZZj`%e5=nb46a2k@6`cU0&H^ z=DDg>flQ+fk3f#PsD8q++YiR!Gy=1U6oC9|lVm*{@7nxMdA%K( zAh<3)#O8AEgDh?)x$T3Kj448ThvhP>*J>9_tjK)|rCxZP;1BN0Q|6_3+|b-g4)3QBI%5naOHvYWE=RBQ_2M~$ZDEm8jt-WVSzNs&eTM9W;i~7(T=&Z+ zHdicD8G;$Hg*;3r3+D7z{^8vQdbuaM2DWLFRK!bCJb=P6R6H*sS%P)wAlUx6)xhE7 z;>oTJupBv?eW`GN0;BVC29fHTw&;rp=yNGQ<;CjDfEKBfV zJL}%2@qBosalsbKHkaf0-uW#0n(f?m@ig@fg6ZrIidBh!q<$GoA&BNs7LyVF=1x?s z7f;~e(r(4C-F|X+Mb^MZjTJgEM>ID}b+Zy+5baG9{yg8=KZNRzKW_8bWz+3GK4P?u z_7vH08S#b6x{#)|m=n1CkV1`TmUXKLOBT5s+wXH}v)RbbZi_RJQ5d7>xd%O~5t)O? zuh064In#UEEH;iME1lUw;kGgJ;k~@q<+JF$)}l12#D0#qn;O5WHck8!Yb3$h%z1RN zK>3B=Oj-$r)+Dy6&JpOcO zd~U^Ct#G{${Teb+8oRyLe6rm>3tOo7hpy~p+Ly;GSO&b%S#cx9|58_flT-hgDL?iU zBF6a$lZ=?gqGLkQxd`xaQKIm_J>~jF)~}+Rk+@Q6@UUiZe0C%rMZ#IANTusU%8MCj zEWHR0MV#f7B(8WB_%(k2^GT^IG=_ksqa`SxF2KN*Df0qsH&HP37_x$VmnX-*2N$~4Ume}gHYkNqWP#(I1?B>{A)GzBWQ{Hf|}3FeBpULwG_Ut>k`=Ia&e{4F}dg3 z)xjYqz|UGHKLywU36COF>fhztmE4RwFLX3^C;MV+sSzhe6QYxh4m;0+U3-T+oR|kZ_*%AwwmtP9D_mPUWr*!FD;w9K z1+`k@;0(j4q^HLTIS&_dJN;MAdHgEBzTnm~U6NUHI=Cn|T|*I2QM;x~&fbqtw>h#{0Jl1RrNB_o8f{3+Fp)^A0k8Po7k24#r`uLtZHw(1S;p8N z4C)6D!77!#h{vk2kFC3yzMpZi^qtUGEocj$#5P9BiZ}ZFWD5PM*j_9(hDNz6!`~Bd zM6k;s{>ekvhp+LCZJ08PpWVC#BDr}jOyq0~!`6G>*T2T#N5fZ{6!>Zlvh+2?8x5P! zN3>2#ChIge{IPf8bXef{Y&b%5=F2$wvRxodT2h6OI7pNqDTl!qQCNVEi;VezHUrnC zDPhW3ptT187Kq&0%^Ntn%oxjtGU)203v8_FiKGRDYYksG( zW6$M$2z)Zq+;odcT!SGc6lg8E!td>MAz4Ut&2+5Gd$-e&U;CzrVo&2;Tu&@&5Kx>S z8AL^VoeCsS{UVR)F%mmj1`EJ(?b|ZG7=C(VSz+BiKbjL*sC8uQyMe z*SlbbJ`7uEk+0bZBH~?Gw+iJBRUgeZ;ZH2ZoR!)AJ>v5gI;r?7Bk?QmA01M=$FZHP zdwUC>Lusu73qEmok;il!G_+1p44Akzq!U67_eX5804K~1Wm-?C84EU|AB(K$qx-Kq z&>vd&kC&fI>CE!j`mhI)hwAR?Y{xhwu{l?lKJfVm(0zPJ&-ZN?i}S%Vq~(*ubgJkb zfiL!*1aW3y{b%q7|G{zu0nLhJ2^e3#aX9WSqk`Y!yTg30600=rBiCMY`4(H!LApg9 z!X_sKjwwRN-e^u@o`t@UTEy(eLGiEXmkAyt4>++b(tE8y=(LJrGgg7p3Hl}(1LQt zmxQ2=9ZUlH%B~w194I^h^q%h(XmZ?pz5sR9@c@JgC=9KH9f_L6)%s_!)86G>e2$b_ zapu|WJvHUrzFH7jH}}Nmqc0K+o2C&^)~VvB1(+lgU0)7JA}6;$(0!SW__t z>$ipP(bjxc{3=htUyjuj-R18TF*k(SJV%6R0ib>w${R9)C+g+%3j!ME6lJ=<1cg2A z!#1*&SVgiLR_{sl)b3p`#pW6=z6)K$y|3J>nfEz-GGaR;2EIGh=z*{u+9-czZoV2d z3B*iS_Rxr`)HPF!a1MiL5oFSeaGnK@a)eRPGU4xobveffdcLln6)jWv5uOFvOEjsz zf59gy>*~;gwmk>CsY5afQ_RSsiuZFVO3&6Z*fH-NT|`{P5O3Tk7tPzP?7C6CPzR&$d z#}lx{hdLS()mNgz`|JA#2wO^b%{@e4;-nW3h=|@sS}J@4M9_rHit1})!KGz&Y<3=g z;8^UV3fSFfExumu+z$0Rb$NliTUg5q%HH&l=+xiko=VsMJm4+@-&G>H!W~0`Dqjd& z`l&xWmqf8`yH$4}PGFD{P`-G&D<=tdVjN8hXgrjdp9ngqKw;sCwE%2VRy(gQh9n0<+(EA7CJ-O{PZHKJ0gngN2v!7ZNFovDy4bML6WZXH(Nu$ntXiHxA$9oE*vW zdo`)?REo-r=09ej4G_L?AxLD?mh9mDC?Bm+b~)GelIy>z=03JAyt}eFqfPLjVe0;Ntv39zp+q2i*Wkr^^OM= z?t`46SCAKiOUZCH7pt0Y{nRV?g_NE0jtC!JFKx#H-fXp~A~C=u$ll?0{5i@Q=! z4-$Yn6*3Tr8Gtg+FJ`74$jy8te;v9Zy)9Kq6$TvN;~CZA27MvwP>-kcmXzYfoM?!( z#VWx_lqfxsw6WNPKi*ScTngN7G~Cp=F5hasWFc+}dGGFPB1mNIO!B#g^Gn9?FFe!x z;;(n~A+RRL)u3cvVR8n^I^flve5O$yW+1ny@Jio3mVQL2o&-FU*DQER%Z~^gSZgDscv0%L zfhALVLP8ZM;c+s@@M}oCJ|WY46wmvc7O9?7Xao7?syX;_pZe40==SH2L2V-{3=teU z5PF@e!yVu&2@6@MO z-6iTxl|=&N1L(SpJ-@kx{7SW9_FgCVRq0KD>YcaNa3RYuHe#XI!}!7?UF!b-77x9B zPtDEl^*1oh3=4~qqbDMbB@~~;fD*=Q9GPX)_i$$hY|6O=Vs>O6{txy2OAmmv{r=OlZ>1Nexc#3b(;H$(KTtOIx#T#a zZG?$jXe@ZUmmTGVP#u5`kp6uXuAE7(RM&lm| zmilHl3U`9dG*Suvrp@9-=ab*= zivh2ga^7q*32jScZXOqPi)Shzk>HWNL%z2Xe}w**$S}knvc<+CB6>Uc8j#SeIn?v0 zW4df+QR=1`Vr6RWbuxy0t@dU%z^L|)W^k|7xofkQssT=NK=AajUtZ*B50oNG`` zmBpA0);MXKfaU~cVCGcdFWh+-v+rpb!zxDN;(G*K_`M(4OxDRwY53EWBSHXi7&K@_ z%1D=%f>q!GetjEKnCVggOY8FJ@g|I{?9(|!Uykh8a-JO=vm{$L~I^Y#1I*C zPlThOjhg~mPw7bvO%%V(7CF)>H(Dmh&7}R$ZX?{n*7Eu-biFu{1ldAK`(3GZF5ik7 zd!`#}m%hk&flfA04mIxUf_~oGh*t{!J5X1D8jQFtZ1VLbkQhsqy(x>?1YF6z=xAuW zO#aN&qx>G^H4LtFA0l5oY=DJE^7}3Nb&hoI3urWP=|<_60P2Pw&~2U$rXO-yG19D9Bhfm)V*}| zJg6Rr#x)2A-(kD*XR%k{G7eSKB{+P)t8QQIVweBIlQV-T zoyS`IuBYU5HE$J%ILBdsrZW20ja=dCDq)J9hK`^9Wmg(lX3@3ftMsg_N}s;FeuLr& zRUZ)#;o-`r92sWEOczTW4Ri|S&j+cwvg2J&uuN>t(i7r#FXYfblh)iJcoNgj3|Vl0 zW#THcxId&%nfR#;VGMU*#pX2W9r8z?EAEqtLwsOU_=kjhcSz`5s=ccu_nN2#gE}ov z>$1}10T?YrZLqLgwML>pK4LvhvHOcs65cNnL*~LAw(;TK!z!;^2Nm@SsEv^d`T$Ce zXPvk0AR+UMu*Z6ud7Lgyu;qheTFxoh8ApAw$=OONB*-ba7a5WjSqb8NFhOJvW6_#n zN`dMObxi-&pR$?>y=(q_lBS{a8x0U^MlXKqmxN0wF>*FxD5oF$@Cb1&aPF@{FS_7& zX~emzKX15(@>`sKG>U7|u!cq!8pExG+w)xU5+w@O4w*ABPlKIaU1XtxWU*CD50e>_ z3Mr{rpr2UJ^F7(=An|M!L0Ota1wUBjMsgS~h&pzS3ha36HqAUYNmkp`oY~E{Ut?0{ zd$_efBfSUtJMZfsHVi5Uw*O4le=?)*Nx5;ieX;gBeXqa`tD@4;gz^(peBAyQoqm`2 z(c6u}9r;~>l6^~o&^8qB5bfh;n|tl~+~YBlH2n6}gtZD4MfqqaD3^wW~c3Wrm71J>9cwL5%v2%sejc=kT6cn zeeASSok^JlROm%=xa+5yiE?Eo+)oyT9X>&d;xZU(AG&g*v+an8b=14?oj=^7@h5LP zR|;SU>J~|6NVWd5O)z?+g|Ya1Hj=S_J#QN9x^uHF+n9s<#y4+^?(X|~_lQ#FG(hsd z6C&aKYhj;QxprPtkxkfUiurnBI;elCdGVA(j@Eo_%%KUJPvS;RY1S&__4sOq|7ts!V*lz9 zOdcjpFJu`kg;*v$l!+<`Y4+vuQm9r2fA=NRUpx_%ja`!DQ;w~p5skShmH-pycqTe_}>^Q&N z@9z{+jNjJS2@9;-8v!1YV{Nic5|VPGQ1(=B4&^SJ!5=4`#JBm!{$3wZxbA-5?lT(? z)J4@tZKvcXx|4*Pq%J0_YV9`Lxa^wayJ{H&YO95^Cpl#fH@M|zEw!X4NgdPi8P^8M zSxT!Y7ql)|(8lT|?@jH2r5Wne8hh!LnW$sis#-#O25~OzcdEYRIQ?zdbtX}F5wGN% zsJnbvGo1m7%*g~jc1M-JY~W3%-q}U*M4d$sLYV99pO$jg!IXd?f&?x0y^jASDYy-h z5jqq;NtXp{Jj&?`b$2X6daW16{!D$=E5bjKInIo1H?{$zXlwJmX_2?}P7ymw9n{dp~lH_Z-(yStNoNP~#>T1s)_bHD#C%Kz=v==?WP|Jqk7Pc6`}DJR1>E)RQTV zHAsBEVF~JfMgz|i-j|o+7_W_N7n0(yk`I{<2jC>R54n%4X$uQEc8xJ~*>)})+Kl19 z4kqKHa&=vkb5%3$%6G(WK2i!m+}LyNBEQXDW8EL0oL1gBmOh<=6$QP}!QuM197i+b zFU9?iKSx>?zmbVLNBLyo(i9w{U)LhbL_TqKYh?`*`BP4kWx=h5UOElJQPDzInT!_9 z4eu^s!fK9TyikTeyXScMc_=9TD5pm%Eh@M6TR)%&XF!( zq@q0%C{|s{f3rK)?Vs}W2ezl|o!BTR(SX8Pz=+tM^86>dsdtHq)_bC{BgP}T7-(V# znX_rX15*wu8cwo-Mw5!DWV`s!9Zn(iOKlZRmzY0mTbNdgR z_7?Id<&#S9bIN3P8=14j2IB*(4;_WVT_WI=@e)#XEMdaOle012WuQjoN0b?>vIB{j zm(x(G1AMlOvJBj6*Xa>lGDLmDpm|7$Qv|z{+5eT^oOVzEY9+~3PU+lkRyo)8J>fc< zO->E%UY7pHZ^b30h^0nfv@zb$+S&y>ZFba+4#!Tzkwg42supaTSBaDa-;BRqmz(6D zqTS2Oz@aV6+Gn0*hUA+wDMmHLbgAx<_OE>f-eoAfwN4HtcdY?3eYM9-ArV9O6#r)@9WSe7)JdA2%ekQq zc^5tbfgUn$lt2xUtXirO40JoOhyaSxD)D1&+%jq=knJBk@RMn+>pXYh2TOylb$sH6 zXk-k3%<=?zr++)=pBI+4F$A0`-}yZ}n+v}q-VP9dk!y!vbx7OLgWXtWGuio)kn09V zyqLoTwhkgEVWf~NV{=_x^fiG+dP^t4rf{S-K3AD2BpUy5`K@|pZJG~JGm)&K5G7L0-&IwW6S#gs5f1ckdp2O32BrL zDQRhtMjA!ByQI4t=@O7`5EwCk65614j=bm%!>-9Wd`%Vkh8@Sb` z{cEdTyv+xdqh@ImSg?SPpow*0RkKhs;fLqTSWukft!O02QejX!|Fl+WMTi(1HE-y# zFYT3>n!9!ec3`RiXHB}(_P&6eeSwI< zmlcBeArGb90{&N-gv8X30~Zvh1}(>v7$?Kyyne_AG_ENUqodvE^J> zf}ecdhx8^~;`ty#oQ|#Z!0Ry%f{+f$dOCCOq6$7{MPT7`-w-qIZ}voww$t@ff=BB< z7PQF{SuSE)s?~e{=8lK^Qqb(hRW5!aIuV?t(M7IYP3bZeQ#%RTFcg?!;Bcss(gx ze|3g56Mst(%l1Y?&*G) zKdR^Se6yN~ZinS0)Uc9qhKDtr_Jqz?x@k*t^0E0WvL|K7-Y6o15+Z}ccf^5bJ1 z%csjy`}@ILKtU_#MM+DObE}h?cBoh%pRBt5WLEccqT^i;X-oYkkS@;PyV@{UHF?Yr zWH$X@vll#+5}BwCSOIaSx|;9dBwVIq?^_GJn*A=`TJ5Za#ZPmyk=a@PB_^* ziVbMD(N7YrpfhL9oU=XOQ9kWB5yi8eE59VbRCtP30w~J-B!@=wIq0v|Bl%_80y?JM zQFFcmHj8~*waJ$qXtW{uKVKG23O-Uv<~WufM|sQ-a4Vb(2zoZ2w60B&gGoI5?f7*G zB%*YRA=nC)-5vMrS{6I`_&-y8opOB6A0KVGJMWKQxl-bTWL zc2-<*FvaWXuL^Jhfh?u-O^SWxf##mx5OZ5V&{Pt$RR4CPC8i-e8EtA+ z8DXs7jCZ^avZZ6pZr6GR<`ov|>X~g%s1oTuRu)a2% z8sn~X2Bg@tJ?l^88Q*Rdl;`(rJ{I6DxS`BKM$NouE|fISP=~b`#XJ?f{4_x{zZg^s zg8X1wUQ<|26lwerRXzlZwSSe#TF&~m=L9IVdm^5O0A4jUITBzG*$Y7RhgvJP{JC^DGs{Pl*n&{w1#LUlU*0Th-L4w! z5j;cOKG-Oq25qE%?{BO&L&d`K?)Y`iu)ziNRBF^n)xt%PCgm4i>T?{gHdf~VpYwF% z!Cldln^TnWY(ZF-#{VwtI85BfAWnkeCjr!^p)95^t2EZU%!Q!&Zc}YiUUb@}CU1-& z=oG%dr95IRpjm$&jBPmA^3h!ia}DQj96@T#s6CI;X0Pv~82UPSx{+{H+u2p6#+ga` zvJNwUmuM)Kr8H~uZCqIsxQ2#3k!_0M77Wd^1X8Q%3$fP|q+XCZXg_9JD%;Dz%F*$j zi9VkwSY@mHw4O!nlI`e25L%BiTbQ`7JXaxfcgGU_uIgS8?yYhuN5m@&QB(K*u#ES? zdzSzcuC{Y8@C;#iu{b5BcFFeM*LiNsf8Nj|MD*&8zZzA*b$8t#ba`3IJ61PR4+)um z<`kg#KLP(&lk>ob_-049BjmJ>lIVQOtkRm(=?m-poJk9k+zmr1zi8Z7VH;7uMF_KQ zS9bq?ZadoH8dhYvAsb?5*z9*sWo1KYsT@uo4XM+7ReSC*@JLOP`o^=gO0PeO005C6 zQm0G}*l98{&x;7@eYNzwzd>5^z>FUAle6g8FU_UN-MbxX9gOi80|Xpl>!I`&xdg zJ+z89uUa_?#BUZ4cUL_c_Kj+N_S5Y4DLEvyUfqt6gdk^zeK;bdV_q{E_;yi}!cNh* zVqD{KH6?RP=<<*;V#y21gWd3B?6(o|GW%`+f_Y_bRT{QvSi zvJ1%cG(o`q6*eg*Ie8fZ6xoFzJ1Wg5 zjZ1shzb^fqrP5G)(INjtv-7QRUM)toxa1H;dEK8T?V^#Z5*_V|wN0A+`bTO4SoJDu zHTGrY!1PidgQyGhk7anN?!_xwH>}#1+LKy3*2qaQuHc$8j@#l&N(qiu#pNgZe8~_> zuSRpisI8>mbJz2}lyX#0^^Q%Qg8yZ`Z{(G@Re4xhA5^aDKrD!GHX?WUk+6)7c`k2w zqnqRG1=VZIVj~wIM@4ODCCr!2jABrwBCFxKwP)3aIMBvN?WMB3$XRIEnjaMne;O2<)q&P~g#5iK2kSt#4a?PiQz)s|y+D2e)r>@tQa+ zmj4V&IH8Ebuy0E%*CW^HB3*P?lvs9Ut*X>K@?`5^mGj@_k>)aQVcV6(uejBiQ=_)A zpL*>Qxzeh!4QIdg$8R_j=iAY@p!|0svYP)92@}jRary<4$=V^) zKe9I@94;mvGw1j{60hC}ah)epU3c9j^401D-r_9EFjTv?nY(K2veQh6g@TyxzHv?O$vIdG{e^J;JypNad^8;g;`pR~> z8IDf3YSZObK*O-MV^r8u*>3Sn*j3`^8rsF{k4i1JlFHLEu`7wkrsBE@60}6?50j4B zItn9btQwZpDCa9JZR?f<$WZU^BZgOq zItb>Hf=FBa{#}gjG&U{_y*;51#%y7)YNfU*AsM@Z@)nV**iJpL+z*2h?+Pyc@pPcn z&xqtCK^a9@^h(Uu$KuFbt_J)1m8Em*aJPy>&KWAk)>S=ot(~gjNiL^8!Q2Djt%7n< zQie4Z8<*kH8kvnh9*is|yLG)0I_&M0QGc;8cgAthE;`UP^KNJRWI75N5?Iq|`@dTT z?Vr0JY#l{fVnsYd3f`|}$eWH6S7t5hj^WOCuNbcJD}Sr-J3_Am4fXuA$Zj7B``@qvk&iDe6ucvxSxXOl@Qr8cV5^zNE1U z15!f#DyJK=W=Dz<$1_vx@9PJ`{@HmfY3z)uuTc#K&ptc(`ODW;vS0KHI^SyXFqaC7 zUihXq7HZ=+Nb|cH+Bm~RRmunn?TMT83Uy7wTf3!#PhCLFh<|Nu6x2b~ME}zcb{+8Jav&-$PY>1KDVW<1E#_*UhM6}FeH`;t zA7z{<$SpRZ(mRrw2AfFsbAMF&QWjp2g6K2cen_wv%t1$(1d2ZISL%06_Kh z_-i%Rz2>Awfdy5A7c}v!&X4M$^YUQS_WRH|u3vUwCx1mINfZCG>)?{cnQDkj???=M zO<^O=Y`f&gF5;s1=srT?_fj#Qy0amG&CxKt#o@V`gu@l4t63+V4ERE+Tyx`|kO)~?sXlalfe z#0nu;NESBY(ZO;xZFTB3~W8+uWzJ#!rU#M4S zZ*bNtTWo-aWeDi0GJ*_4vD|-%C{o+ND5s=%9AeFst6|)T5(WE;m880Y*+RBGXML4; zAY-f&H&~wRTk{|I_y98x$yts)6E!{C9#mf?ByF{5(ur@&Kdo`=WI7Vb$rwiIn8Ze! z@{f*#GF3UDIy>jVz}g17(S&Tc9}AAuec5)bXW0IG?={eOwn51X8nbai<;#JQ_?w19 zAhkK7pw3)=utrGLTU0AMDX1{1Q7c;yUUSc*Wi<9Uj~Z(_k~r1xHv!vV*j(9%c`a{( z201qS3M1aOnZxNGovt+0!5Q8>sc3ER<1VB|e#f4^Q2)12C-5TAfW19I)TMB|9-Wzi z`aYSe9KzU>+`HP}6izn8mZ^nWgcW9GD@mWH1$6W*@P_BCKbbMU*36FO#Q&NIv!;d$ zQHtt8iEF&r)XRbrj9mVp%m zRh@KIZazJ)*`>N|^RnD+k^eOa-;lZUuu6f+!&}P5=ApA%VB4}DX(&%_#ZOBq1C}m# z<7D+|Lb*J2yC)-?;M%075TINSQH#B-LF9I(z3>Q^&6R$wMOrS@Rn!I&N`=>O zFZzDo8ZP~AkitBB()v1a&a4m@cbsE=AA=(eTp9iicY<+K3of4hYg*UqT!Ukvua zPtjZGqR)8LOYpVkh^!&ePsZ-q(3}>A^1a@6lYAMyK|}4Jd7~ZY`z${({9y;f126eh zHfIADvOPZXvMZiHu+qig(b;i4YF$q7`{~*uCmqO1gYD{xo^==%QN>+DE8cAGj!fKy zg(sVw{JZEhfO&2dvL7$~?qBBkQb7Mu*Y!E-ai@d>-P~F*xE{>3gZD9G!MvTo|vyF&bA3^GL1Q{%EymB5(B0Z|std zQQ^n010J>+xZ#)z+_MZ{->q`k8e({BROeY{)ZkZ`Nvd(oLy&kwf&5NBeQ^~Mxwvn9 z+YzTyHRrJS2cfmLbdu;d*Gj|UU%n>2r6QjF17H6}&yAWAX}0~lF>BhW$+gOtcDg0e zpHIlvcL2U&=USO4n9ymFU&B=d(R6_{H3+G)R56SWbp1fyP$9oR{%(l01U;NkvRlq{ zRlL~3IRu4zRfUhOM&Y)Kbc_yxMD}k5!3yV4d0XXO;Ea4By?;fmZR?2FFb|wCy4`rX zW{0(y7)(0Apvt?fI3;X;mDI`BV^o*y$KY0+ST=nireEfLki}ZGLo$i9;j*aJ$1mi~aBpE5>UqP3>AG>2}ICL(S9NpqaXI&3OBQE>hM6oH=Mt;Vxzan3{7DJ+s7%{kGJR zJKVwUAz!qpGGi%xZ|hc-ctAmKmsX=+)|(Pp!#7!Li(dSy?L%kMq)o4$;l+89T}AS- zwzSYZI2s19PtWxezGxGi(SD_;lD>3~3g_e%@VTjI*iT@l{oV4laru^iZtko&KJJ6% ziIH{Yu^sBh3We09Fo;4=#&L~KpIi@T-zi*|WW$+tTAW|4$|MfBt*a|ZAR7GtF6npe z(T(J`v+@sHw(ufk{1Uvd5bDZ--!0Wcf1lV)$gF0Juut<0b008)HH8wa3-J5hMp%wm zj?v78VaLpynhRQs`PFW{l^;Mqu~iS+TG?IIU^bA71FX`n;dW8|VZOwhYa?l+(WkQM za^(HonQ}>N(~KCarxADc@i3hlS^-P_-7i9{n$d{4Yj zPkRY_Uvyo|qWCtNwG}kBxcFA%F|rR`NIJV;52wn+TUteeT*P|CzG?OE3%`vQAJ=`a z+>GH<$$tUa*XZs5WjkUSX7_gUn0Qy^&@WSwX?w-4X4@kQ;(Q~!tsj4chfnBrTJP%? z*b}K0C!h?2?F&qUA6(0SI@CO|)>iJMj$EjAW;?N7%-N@(Mti@c6kqhV1?z~f=iAm3 z7F0@6vCXSqGOxDon&{flsW$Ca-mWE>W1br~Ntai{y>Q)hRyEyJx!pl6c7L^G%aP+B zM(v(*JJ-}10w(iBmAJXvjuEgYK_-pW+$hu@kK;cG-gjEujiwB@VnN9QZZPUA2>bai zxo1|}7(W|%w|h1zN6V&V+7E7*t*5GIT<0~_jM0-F_lmdvK>9vQVX=azmObwJaRS_` zXEmPF(Kv~Y@s4+9sAgm-8MjwvOww>rrvA0(Gs({~WJ=P(hW$wm7kWh$*t2DKwMZ?u zs@%p+eBb4n@KO>ZpVE3+!BT?CSQ^Zc{z#(-f_)* z^BCLt(8eE55xy%8CTTz;g3BoRpA6G5bzMpZstoxdVuAMc{aFa0y`+%z6rsKEtnvAF46xB)#A;@k(U~+ZR7SpbDqJA40Vb7TVlHp1T}%WAI~hIH$7+*?HK7ypPHN za&i^$P3|55Yx5(5=?OJdI2_E}{H+36wK=H4&zFIln&~-LS!K^*~$Ej>wj` zHWyrJJf{Yl{`d4PlFJvtiwX(7o4r0lP1~gle;QLQQFxi_A-d>Oi)hD^+lq)<&D>qD zK>XLpda$f&Pi7?mjLk=outhPU4~Mj~ZGL$587+5 zbLwER)}#295mKUn&Pu%(p2l&4XB2-*Y>8@Z$*3zy?xRmO7xC38ifHXdpRn6KFszJ)sE{Q3TZsdITFS@Uh``TSN;`dwP$9hqOIGx~V<`9G*1Iwk9Wr`#yUU-OHF-KS3j z#&XU;1)AQHJ7(-dGXCB!_@R@X67v`q{`@@^5icg@#circ zOpP3sY{JuDuD-QPO|rK$;f4){kG{=%?!I0Y5{RZ0wL?8$BZ< zwpmYqgQxsb&1VMdfGIU;neY8VOMKaA;$25@o=CzrKUPtvcH1Z2Ruz?4y2&u!h*B&P zg2b1Y-<@YNl$%l+I-T+M?B6_pHrDtnY3o_S;he`}mrdWwL*7-?e{E^mb+=rUNjFf3 zSJ$oa<~QyRcf#m@M;epYvTt0b;&7?s^AiYM1{?7{opg3-B|0lV|HeW-+DR&1o0*vL z7w&;ci0DuOB|`0U0`4i(2s^_RgO!n3!+^ihD5pe?R^ zDk8`;Zjc1T(rkxTZX+%s2||E)&$7E{8hVE4-W8-0P4;!|L;-zzL8mZy`Ag0#z` zP5BR-R5cpa*CqAMR$}Pz7Fr#Dl9vf+S$OEiNS$y*Jrwq&uXfI_L;wj;O~2g&Ck>Ve z%(?K~K+Oq5{xccvL)KHTA#!$Ay-}G*80tgu;9AAR3)#|QRp-;@a;5D@(#fs>Pg&05 z<02tOw`LKh2)Ez-j~PDbb_Mngpn<$6a7|y+T7crPMRz9(uyl)3VwcRHqLV8{s?MqU z1P*2I=S9?6P3X1J>&?1FG=q%Y@n-#2HX}Ydwb)5ZlBtipkTUOhPpf2qU?U{`{_z2t z*5!GYeZCRX(Q9yZMRUb9_x|WnW+c%50LR6Ip{KzwF*|unC&4hFO4h&T%$US%iGQmQCI(6(abbWa>0>(7YCx)wr{1*=>H+scH4{^a`ErEWZ8o)UI~!HLWsu zu8Ocs1LZy9xaAhM(h!lgmaxs3_Ml%qT`;5Ez!bk`w__;)$VgR1Vqiv0 z0I?%LZ!`E~A1Ck;O>ia~Dz)QEbzeahKN)MKy(*i1=Slc_sH`}IO0dO4&|k0rh*C zG)$?~Lb$+PtAFI)VDCwwBihVS@d)$r?uR3qj1fXT|6DUkk_KhhwcLBw!MDJ^_%#Wx z+@-4?fhaS@=yaxhCd}7c6Ay=`yOkAuc4FY3by|d~0UoaLy!)$}ha)2lKeGM&9%#+||f`9If@JEsNvBG?;x+=`yU=s21K& zmH?YyeuLAY7`H+9>DiILo z5`rtI>Xc8sSwokfjX>=lN{;reY$S&LdC|^?Qo~k^Z`hC}+$k8RRCDWW^_9!$hLtxQ8Ljk^?lJk1DZBMK-6AGFnaTss^ z2UtUL7Av2EOH=)_y1utq8S!99zMqrpxR0?H zWLu3AsZJ{8-V@%LxNlq#ww4mQ=@CAldes*5x*cVq?lcC&pM>7m$j&g=1AmyE-EK)` z>unShxY9+A-Cu|GumA?^AsH!=QOJ9TvBN1aTYHOh*AWK9Pmcq{P#4%Jf+4D@ziHf zSS1LP=F2b3*fP%;Ewb}(o2iyrk5MQZruH4)s-Pc~{5`0O`CFzY#u_vUple=>K^!j* z&wqCsfHp@8ga5_kI7dp9s|4zdu^z=WQp<=!4fOUg0+~+r#b3tu-jQOn@2cK|OM95} z&XSrk0#L)6IQpQ?tc9&&V<*V_774f8#caenAT_l9+hM`6T3o73JqG#MIJ>&Xm`DnK z(ZPjSj8dGs(A6XGNQKBDcjACU!5<6RpBcsapa~1K8vR$x48)N35f=N{Gur!JCu*Pw zhTqB6ILgq|%(m*DoS{DrEoZ2I+4Hh0N0oIFnyD+hh?N{pz1a#JDIC!M$MX1i~yMo?x6Y`2eF+{+%7 zTgK1kzFaeyZ&JZGme<@%k-p74X|{&05_?Wha}h0uqnwXRy9UlOsQBo2Q52Yi5y79= z)caI2*PT~}@=@|&zL}i$RFAG(JNOt>$aNeYg%oYa*gR34I_;(H#2J1}>2GOZf5##! z`2*XqYX6$hn$hX|pOpcmBxZ#)ToiwN6W2s85;>kF?|T;|d>mYbvh#@@bs?_~{@$HW z{B#O4Svk5pGahJpIn@71>fi_WQ|Slnpj-;(12}yLQ{?NCMY6@_+8?ni2`mUcE)j#h zN~nzo3Z|!EhqVg>cow*5)%a&getW&>HZPiYy(m2FMnla|K7Cf8&5>90go{=1;QMOu zwS?+le)}c7dU%^3!fQU(Q{=E(TJ+}27G?BhS&2@0bbh&u`sbHV;&g_p5drInRql4~ z0y^!}evY++BX<-718N>Fue9qJL(g4F8oDn-vyA&#?sxF3JruEEiDkq!LsjfPNW8h2 z&Ya~AgE+3icK!)5myz{a^+xWs*Mv?BI40tvDW@Nx>sR%a=x5#A_|a1MY(?CdWt z5z)DZT4)-D+6(%8_T~(*{M0A6#9r>(A&c9`!5W{vcJ$v8-6qIgY%G!B+OF3~Iy5|* zjq21S)-4co?8WEbNMeibzuz|Ra_wb;xj2WbeF7B>()w%2DV|tb z2I5*KDDg%s(F1ng+`H+uut|xDZ-(dl1S^MA>_sD4(JTj zchLaG3xfsU&#tJ$7LKIO3l9OP2rzFSWxPF(68=2+oW=blL*e$C4-RImI&l?Q5_ZmY zBn=6KT!mx+FVX>d27#?hMwPx2Wyf2Oew=07ieH`iA2rY(WlR!!g}MH$b4Wf@z0B#9 z=R+0fsAPtA*WzwEcbmx{FXzsC0j}T7t$zEMi`C$N?-LUO^}{N@wMm&kYm1rnP}8}= zK1xyb4TY`*>UWqpo}>Va6kM=OOqH#7ac`H}=av_3O;cJ*vx@|l8BVQTE_Y`RKjIyJ zQ987zVkz+JijjxM$UK=8RJxB>xaGs5vAc81bj4%tLGZYhN_wavV0-Ht1*wgb(pM3F>)Y&an^!8La6!_9*RsZDaU$R}EzQ!B1iU zBf`Ey9X{Br`;Ls~+}3z81csTMNrUbe6T+!cuAR5X-UvSCI7w@<>+Vre$icpZKG}jw z$@i1G39;4J*TDCfBwX=yal)7ly}4nX-NGY71R~IJaU@lNpERQGaP<+3R`HXBi7aZ|axX|X5Hrm1+Sk|27CQg!5#bjk&(-E6!6!+)K%uRVMqJJdg?e#qv9*a zPK`$qt?^7W_6q~YSk;NBuZSx`XfrZyI&sP!@x(LIWW`M;78~6eJ=iaV3~s(a5I^DY z7@paK8aBVfLwek@+c}YX@ACi_eKo!cjfBkfB5dYLNMEB*#kp0@P`Yb5kOV{8EZWawuZez+L+F;^f|v;% zULdl1QcC3^-zBQ9<(lLm?+)_r<9vBfTD}{TeciSpZouxYA&{1VJDGgu5F07Le1EU7 z8+PX{VEo2%=wI*P{HTQo)pWOfy?5pDwv&J%ZwHTf-U-U5z+%6V$|5ypxYSE5N~Gpe z-AvyWnUF$xfs<d6(G3J#~(F1n~M_3tBgfLg}6_K{S!?mHWk5-WnpFETRN z4H4D17c%*Do$_3bc8iDFZgt~I1Ypr!vAYeH7_CBU2k~u4c#F8%2CAX<_JgGyI3=8e zcnbw3>lvkYRt%0iRJmeCq7hQzI(UvMtT9UoJiV1>^4W}&x{4&PM$pk`}N-_w-5-Hy#a2nMX}TRa1LLEc@VIZF^*n|aExw>7#O zdVYb;c1OLp+~-DpR4SRh;Swn*6ZImB>|ve1g=;~b7xkXh4;nvzb1&nTb1%bHf^cX* zdz*lJP%zzE?Tay_D<^Gow1nn!A>pbq#Dq;7`^$~N*ZB0wg$n*6BZPcD;!w)%Wt-Y+ zxH&2_rYRwA^OBXLZmnF6$)FG+kgxh!)&#GSvbJr^yOXi&z2P$Xt%0P!)zsHCl;4)jF~w- zfP6Z%{`7US#8%$BXoIlv;hwEO5oj`~Iq!`^&TE-Y11Db=xu5}4vF8CJ44G>vS?nuI zHo0!sO2+`#D2#9G1BkdE^C(szY+Fc^I_Uh*GTynvre1capMSAfQ3h1&Byz*4^YiN0 z`*q6oYlg#tmIF8w)Bzw!J#-&NGqS~1e>U)g&~0mrdjaNQOd|*xike|8ZbxO~Rkr!@ z?QDBjsr&EXYT4KM;;jqOa<7qTwqiSj7*{y^fSD_-!*jFCLVGaqYdCZI$S*llnTeWixP}@oUcyRe@cuu7P%RrI{=d>w_fh{Ln#`Z8n@3DTWy z=m*}@E~Y|b%Gn7QhnGXbxxQuyZ7gy|fuZMat0TPOby)ITFj3GKFcB~eZ8?xAkJ3C_ z8V~H>;O{=8K6vftbbFM|yi~_BSd{ChxWrZ0B_#c<2*()V8b5=3AT$=1g+B!x zt-|oN8yCN#@}$a}E1ZHK5sm;R(D$VvI1TJTWKF={nZn!9S}8UvAt_&$Nfe^^Wl(r+ z`xb98;v&)hB{Ehsz#Ls}HterUcH4CP=Wpe4TgG5j6Pi_SIRqWmP^-{vES1k8R{rJh zuyd%%;*cL$e%!b7nuA2nbB{k7C7{8GTFK=}=NI2`JBA15J5kZC<(Uyu$&tBDv~!2v zPwK3o*qWQ&HDw)j5m}nXptg9IYS;aQ9Oy#UMVr)CN_|m{gb5}VQf zwoI(zqAH`O;@91TLe8jUz;l;6R%YT<=!NMv9&x~wWNpRrCq1Ica89nTEXjohx|Dxy z3C!5#>CG+WTdFdLF)B2s_PLc?BdktINwN-2^?qiDI|qpc{=S}-7IIC@AX`*t*dZ+lRteyBBY8Q8vY`2cp2ZSA(?>4{Hsg`lXH-T zS|?SHc*$>fZeYHeTh9-Ezt%rr<)3BpOO+i(mQ{8B24I5--donHJ943CIFAgk(RY_T zT4M&y*FMo5sP`IoSjcgIN#w*3C)Fov=d$z{1X0LIv;;ZVuSSgMcX&B;J&%we<}#4f z>yH)!Ez%`4wQ*!O`2`E9GJWfxbjO}b9-{4v4F_TDmH)`udfQmxfc*SZzkU_{xZ_F; zFP0Y5^rb$BT%}pH+j08E$<({5fU?RZ+IvKo_#c2^DZe0tkYLTk4pvF!k9M&Kh+=(2 z=pi7YJb6Bm@}RlL&Hd~q{G&7Fy7x&(2(`j)gRSu~YSOytyz!R9*YmO+Alzbedy3cI z5Id@m?f7|>PS}~p(6BvPOGPbR+>j_W7^gFO6{`3pJ`$xHOF)paFeFqt}2Y}~yplm{(o^l!&+ zeLr;E&Gc}-^+ve>rTcn-3XQ;`{)Ty@c?3hd&}VMkWvw1WbjeU1wz)6VuY*XGcmNW@xA>iikkrnOs4Sn$fx#g6ClRO^VjBV z@M%r5G?|?kRb+cbisgQp3ToWz_)h{9h);rge@>wtiXgsh9J(IPX-6Y7e%af8i@I(D z_)&OK(UyAuTYkSSev}2rm%|5DwZP7&tK+tNB1KdljYc$IYYaIfvH{Kq&wmOZl)DH|UB5mF z#_kK&>R!)ol##G|SKIwT+wfaEB2cR!qHlXXITUGCrZU#)sys<|0~;=$n$CPxdc?RH zAn(qXlyii>k{#|7|M}|*EY2%Vc08V_5@`dn>J-bZgu*I;E^^@*H`4{tExOHx6~Ze| z>u1CA6iruyg8=cO5ZpzTo&3G0~r z&W!gqtZ)~1#?lSuwPWEd#QqeFC=kcf(D_cOT4RR1mf*2;T50C!qn9uuU#wc?c;$8- z=U+Y-`SUk^N?nq)$ZNUw{4lClQ%}_J{zQ0;$9B#Tw4)BUFm!0Ebv+^9*LUr*v8ix~ zk121br-2G7=xpDwC-P8Bj{IF{yf>!B`h z`{Nl+)jr?L#iCn;@SkLfD8M(;NjJB%7>2VED;VYXkpZzl*?MfGZyrbgLE>U)&habD zyh8;R?U4#|??LpJ>!`btrN%;#;L$*1OlXZ#Rb#UM!L>uKn6`|mekSmNogIQ22eT$f zhU}WGhqLjAh7kUn7P&zl;@njuw$=OmYLhqxa#LoE*zX~SiX(TC7n8sTfHVSz$|Gl$ zOVU5sB%Fo z-8M4^HT{C}9JAf}yS*WnsbC~3137m;fL`}L)eKN%$WkGG^T>n_B-peDXMWv8hh9X# z{kaQKw?-~y9@M)C5hH$<1_nHi3KM-2t}Uri@C)UU+0c$g4HrGi1OoE{K`foe=LTOk zUP0J6U9W)@2Y!IOf5wAOGcQ2;u>eLYEJ4Yrgj~yz?L35Qb9Urh=flk{lRG#pEV1U**Y`5RGX%Z}G`2oZb{aphle(3R^@9nVaYktSg;i@D>6 zV#i)BqhXP#OZY|;Oq9!(RHMbhf1&Q@!8|KUS$ZTu{Oyny_&N{m6U0+)Z+Q4CHTjF( zi$_+B*vZciJA{_J^F5Yo?^n5#m4hDf9(+fZP%%vQU_UL>s(5Ch;^Y72w7bg94Ei1= z4azZGcdK`kThbNCcwCB$Olb`3=R7!QL8auc4aa?kU)785d;qh)#4N|<;(G~EX?3dC zsLveTB8hSR*&1@6dHc8l1LCx3p$#9RrU-k00po#11ttT3NF_gaCyCmag$O%b;n;JX zp>mGkj4zudo$aT>a5y+TA5}DAcan;}kea65AVKB5o<{ zax!1+<+ovxbjxkg@7+T4l>3Z>^Co6N7}8g1;pyu7#;)IS#cAFP>f?M%zcZn3Z6sCRlbm%gAyG6Ja#8A{Ib#iWjm4f zqA!zSOKES9R@w2Sd8?8P-nCeTrBQ&FneKJmV#(M6E%j!4_ZeddI4#MT)?5eJiF?OR zAGo>wEcRt^jANf;^X_Qd^G#c;z-XDIFEGudnv+fr;A$+G%KK3Lo+jkSvdoe|er1>5FM_hO-`%L`7gIC~t9wbB+3my{>iFX*P_r zqSh?8IZs3C``^n~#rbPg`L-$-ec|Cmvdw>RoaLag@{KFbbmkH6>0bsPCn~`5pKmue zWfQ(7VWk0(7uqWn5GMA@l=!m;t%Ux%>bZP5;&Rsi0$#y#dvx_|-RS*V$CY2iklQ}8 zSf|!#YuCKhG;QONdwoL6BNYHAmWb31C7_YPD>#8YvRG)Smaq9`gMGf60u z$QLtx-@7f^ZdA|U8@$MWT%SW~m0$Xc=4iT=KB2tnI~Zi-+hymYJUnX$XQSrYv5Z=$ zowy6yOiY=}ygiKlFmr(WYbPNJ>Gz+myd@@uqVnxpeTp+bZ8w&mCdJg=VQWyUh$Avr z7utSD8*lprf6(pg9JrYLC0g7d0z=K%vA^zZF$nKamrm{M@5&t{LCR~ zO}ixJyku?JgJN8hXLuj$cAltZA5axXHQI#K#nC(wye9`^F*wm@-&z$Je+$TUH)wOO zsCtTIaBi9LBT1>oUQd99(}zYP>B@W_qb^hFW?hIAJ)oy8#2vO=rr>} zfpk%@k+T*pY&-ZkCZA7-Nw5(jB%o2iU4Qpoa)Rke*uLu4X(YEF<#4QW7aL09*;v2F zBqO#*>7_2PeIj$6E<)U;I}Qoz69ffSHSrIcT4H?#$r_z~6Ax%RhOZWC_6e+Qq6FYJ z4gi zPYn=FyO=IWt5g*^vyZx5(OiqNLmB6c+-5NmGTBr_>e73vUbpB1?cI!fZkLO@9%Y41 z*U)etViS5Irw5kv*HPTE-(?~-uPmhrUQAfTQKel2CV@S2GKT|{4zLLYxwv7kZ13Z? z4m^SsFvRC2C^csjpL- zH;h@=w4&X42k+Qh9z7xM=$ltpUd^brr~gfR1!HK7tqWU=f>*3tZ$uA;k2=wi*_SG*lvbD^6>pVT68aanaf8cW1=sV4* zBOgN-r5EaychQ~h^ogintT9X4*W1jd>2L_%2jSUhPi0T3>!JXR3iBTKNm)fsV+gtE zvT2oD!zGp7bJQPo@;e`EigOur@@>15??R)`hR>s_VXeJ&WX1&?4}!|#?!4u@LO|b2 z_$wjnnI88)=2I^~-pNCl+-M2om6aUcVcOS-n~(e1GlQOYVf@_%>uSl%BBN%OgkZ7$ zM#2{(H{y*UuHGh#wY$BxM&}zn>ZUp?4=6R4!3)yfmwwyYe*OOUv&M+${|SY60~r-< z=kDTKv$cyQGG9pn1n!&6ho_F$w?&vK8tpszL4*#^1vt7#dFG@c70q^_(HN5g+Kd=}jmgbKf{%GMX)k=lEn{rQM z5}OSHt7F|2DyQEm0v&KQUIQiA_1O<=?tNm8zC9nkQHt7cp`nkSKm+$dj=$x1~HKFx$onlblqD^Z4oOd8(|_hrsyESsOy zu{{qiHSHsRr84TUA~d&t!eTN%p1OfO`wt1M*^-!U750j1mIJU%pb9Rz+ggSNqA|k?f1SJIZ~0XQ$H>!`HW)FCd!e($^^4x|LBP;2_ec)quAv zdt|isUyi_XjP%)CXH)Ci>+w?+JPZdbh$!gGz(0D#8~+)T z#G&8L&6j=6PX5BaK&sAWoE!-}Xe??+W@_LDr*Iq^&!qW7b^_SxJnw8~bBlP{Uu3}n zW{ml$cK(Ej|GhD8ep`#V-j8*o1+Ij6$ZM)gHHmpdPcO6>di-(u7=7Z65!Bl_&SQ`T za+FEf5vnIeNUw8hW4r`4O;Lr1P9jk3B$F0RUu@$m=*TKs$_U%9&!cei{lg9`lOOr?BjaTH$I z_Oq2N^u`yOsI~W`?%_P3fmGG4bA-}qBfQhH4;9#obfJ|%h}J&Rd{i#n-c0Ik zc(CcwPfOAZG^Whg>l6D1;obq&M;Ti1_k~U(DpM5QXpB8|O<7;zy^dcCR^AT3+^eTc zEa`r&F3PwhpZ9B>WgXGL>X(D7@!eiX zu}m=y|F+2euIN=XgP(r}L90>(wYVQvm6>2NnG2u51HTGf$#)0krKK6~gNEK|3Tsxw z226kH|ZdP0nS-CR1aCI{57gdmc5Pht;ZNGVf=_?q*23tn)j$!>@bC~dy&^=o1y zBfn8G9n-MyRGbJfW=K|vcc5lytr;B0d&;h2ryxU3&nTSGFmNdA+%G_1q*aGSFZe`E zT-P8Ey@R|USX-QRp-dGeB_r`%Y)5TQZ$VeksURyBT&1bsP~|4BtL{emBiOQD`-;sJDeCV->E0giavK}{(?OTvXr%sumW@e&N$zuN>v!G3eQ zuzAfq@@Ikht?_b}j<>{1z{s)rg*76%`ZHK+46!s~lu4kydix$x8{^#cU{aWX z%8+HoL__LT>$d0o_Lk7YdXuuT8|!-Zc`l31($<6~aN?TeZIp+N;SP^C{=1V8!5HD+ zzWQTu>>jM5a%fZ1$N9l-l7LmE6 zRJTqbau6fj7Ht~;8Oyk^_B0HgYvEhgEGX5|*D0By+oV3C0R2R7;zc)i{_qJXCfZLb zL9lpNJ!L>3#gV^Z(8+G;I67Se-InuSI1$ZfqYEy4J`lY=tAL1ED?TlsL_^Q9-u>0) zpxy5I?QzY+m(ENy6*wym%8!Ql_=~+WxVyY;fO3(atWYlIFAK`kkoRuIFHhu6OByDO z)BKz*GfWp+sWU70NnyTq`TAJDC!(kw>BlRkl@q}eEYfg%w^1)zLgYjzUBbQqj@kgl z%kMVGT2w*5+p>mFpyQ9N%#a!*MzP$!GXw34hPzU^PY581IYMH3B z^h@9B{h3zl-{c&pAh^c1(=`P;=rKL|$N2>#c-K~421DrT*l9DES!Q-2)Fz<;E z2FYJ?LR$%b?3Y(gv%J2Lv6%Y!V?85&V2XHc8HfErg`AB8I#w$S z3T0OGJ@70R-Qv3SeFPAPd%y+zf-AwI;IW$Ckxtg1%*cT0sZDCC4CTmb&SUaPlFX|p zWQmt-%b?PInrW>dURl-+$d_8J0T~6}3PrWLp6+1R;Qj}xfz4yNty$>9YD;2;!6#Nd zGnhWVOoV*`ns1)u&OES%WmR359%)uL3V|eba>sLJeQqJ}9tL(ds{~LG&r79$N&glYBF5^F91>LVQy#5kKStU$+q6(v$Gb>QyJ2_PZB2HH*km zRJSbVQx&68Y$Yx*^TzvTRZu#w0|?!Wg!KIlZ4%4T&Lkbp3o)tr8U5q32ziQ&-%DBs zxpsvQ9~uT57;ixq_tH1g0)@2`+{=>7GSVU-SZ-N%0?lnXWz7Y$43)r(YaRMy<$-ts z0dkMrjMM@ef=i|YB*M9CRG|AD;C9Ob>%g%p^cU%qmn)hynY1^$>RwSfjuJg$dO(0U z{#!h{G{`Z8^N;i3YW64$@fldCF}Z!vJTTo7{tMQ9eHL&IsNLB80dkT(=jVH+2m-*C zI()f{E;i%3oP$--PfaneTD9YMAdo2>a(PNO8QyQoMz(slo9#^_X1o@^UB=Fj(W8n3 znk0y~${Lh^+BXXm+~Vy!;cN>QQoaliWg7qw%0cv12;(jI9g;S;&2L0=UvE#}yr^M3 zK>om6V$`0^P1wRf9jLwU@dFcNO*hzGqmLrqqPD9aW3s!mzFjvNhVvd}C-x<-sT(=Q zkMgg(f~jp?OwIQHHR_c)x=pc|HOWuOfo?Xk)Or0~@TA_xdCg z4RO!M$ehMAEVN#SR7XK}7UK`8_9+K#A|Sy)Ulrx$m#wyae7+=N?iRr>MGpAZwQ)+3 z|M>b(DoqIRs{_!w??m5fy%-G5bBRE!**d0h=qAB1e-vvS1wgz9=z!IbE@mv{4#)~P zhnziOGP+57%dM19T{vl-L0$N8|M7g+gHMarr(N*!mzW&5`-P>t&;9`|yF=Q!y+h$} zjb{>8&Zb#<5W1UOCz8In2qT2mc!PUCSXZlFp20?aVYT^|Ng#Ei&)!Zc4@~<+f>p45 zb9A2j}J!|rBf5d6qc5X!OTHovvLV1^+ z!hyr}GqGEpYF9(tTQnqf|E0v4L^X>%+s%|O_ol)oBCm$cD0{JX+dp?bcb!yf9C3pK z$RWW~z#a}36)JdiT~>8`Nrng}1y|Vx53)fgK=k*3+4#5Pfac4E{V!(=*G3lWtJ9eb zzpq{IMIGhH&G9akF2{k@gD}&x&#O1N2-YLC7~`!$qX*o7)&h^#!@w?I7oV2DLlW2o#BLvqejL64ho_+FWoVxP_Y1r|vo*tYG~puw`VBP}vjxd|ZMQcM8b6W^o__?GO)Ti&ioWx-mSm29;Q_7kZY1Mh(oPgcpfghPfq=n-^V>NGrek1>*t5!X7(?(=$ z`~r&mrP!g^oEtiDlgUMc23s#`rLWTiUl_ZaXBJt%Gti9sZ4P|1dHLqpO(_BS_v$_= zynu>`80ZuGFs3NbyDx>ZrWEc3Vw1H%=K3z)Vngeag>IeMPSNq}DRKSJ zUc~hkU<5K}nVXZKeUz)E%hb_gHHvF15I*UEDDuRB5HTge{(e26iN8yacr^S`tIGRt zjl_@wi1SI{Ys065$!xB@WUgGmEUf?!Lqzhf9Q3<2)cPAo@e_y2y12#kZ2*QxhlPgr z9lvb>((NhiF9{t%`|M)3H*gxK^X^t{w-pjI6}o-^1Fnoz{M8nu z&Td|reP-jQTfLAv2D5bUB$J{2>uvb0oy3Dzlsu9k0qlBogm|}rA@hZJgCuMA#Y9wA z>bDn-_N2MQubEZmB!6Uh7hYWVa*!23h410YeBlG96c_s!qRn%;2zuL5S-b_}Gr(R5 zHCp6$c<+piEb+_S!#}R;zpzpD?$6YkTS%zX*%e<$=C8%o2bUDZ9l}I~Z$RRx` zccFPcsi9&l(0OZm>HZ27+(ja!LsR2=wS47Hq-Ag+uCla~W&)h)&Szz01AY#M ztZj!Oq?A%Y6u|u61RKC{&y&SY#9;jfkx@@}YX%%u4@jw9Z^@OmUB}v#&16)~0S3Wg zctW%o9=X-*(JDXv3KEbjWHk5*I7k)H)S0`M7`@ODauMYkcNT7M@*z?+`bF+x0rT5uR=Vq$$&d!NNaS8FrKF` z&+>Czes4It@vC@fwoA9FxOpRWQ-Y&rD6e2y{H?}uTQ&5s#I$V3L?0Cpl~g`_e^KPJ zw*6?uw=JX{yWrzw1k8h9Nl^D^+KAcOuRBd}YGzp)Jzppb9-b?2nSWS(LG-|@%)`jv z4*&)~Am9L4w7}-QA@%eE^oF!_z|a*o&Gu0H;PGcp@*=mQYUO5`-p@Z?QFQKoV4L?F+FI4*1UeI5ynfs@cI3H`5$OU zpp4Z0a7-oMCB)bR%2W=`TIRX@Teux9Fe=e`2HUo?)l{i z76a6u`ck{;+0)o?Cet?|0NKV2UTVwTyd{^XOP5~HDOKSvEj;1nHrzM+yIZ@AGzsrj zMY3YhX_3c7hbmP&+C8DPeapcImG(`oQ@6N`5QdP%e(#m`_83yt5?fZ$qvq-Ft|NoUvng z)wukky+8Q@=S#hAezFBOK)Ulx`ROu`;#YYRf#ZXmR$wrOfwHAcL?2E8Z;}qVZ13#W=@$MZj9mGK=n7V((kPVW$*#I6#eJD9rw5W@@&|s;I`syqv2NOH}TnhPrNA?V19_X^ab=(K3KqUv4fY6|El(UD1&>Q z?Sg~!UtJDg zS}$EA+(7{5&(n?T|K~pOs2_=RRX%8Q-bujx{?ugmLsm|abKUh6`d?n;xO4vGkI3g_ zuN>X(QWV)hpWP*raB?vmoxA1|0)QYy_- z(>Xn;MBI+hW;Id(F`M@#`gc?UZrmebD2?~vy({&;X9F@nfdvUt!A`i}pHSckhB|n| ziAq8?ARaG+iE4tHkKQMPy$XQkw|1=o>70l~Hn9ffJ&JiMKICG0k$Luyb7-A653XY=+`Z3Jf1VqM3tiDvk;c8MM|BUk^XT}^`>Au2y5S$ zj3XhKjAGoZg>CfidUQQ!dnyL1g2y@Tn@vWu)>6b~HebK0`e5_sfu#F_033cwM9Oq= zIy#89b{AoP51Ro`x;e{aDggO=M`*^)io`!uw({$!J=vYDdVWh7uFVKU>78cz%29I~IH= zSzRf*C8qf=22z=G*T8i*kiWi8AFmwGQz)us(SnS8!KE>o$R1K~r*f z$3$J-+Sc{^%v4!8G4I{Vo(*mW4GwLQlFO|dS&n`zw&vz3iHRU;8(JDsOharoo;H!4 zGVZTpf2IaVx4<{A-BrNl2K;$ZZX6^f+{wEFqi!t6%`JkMAcMaE@BeXUm68QymDN1s zRM5WT8RSjAYC@xYBxFGXxmusa;c!MZO>&zWo7o91xz~4p5 zwKCLy6HYoGTNQZx``Q1&gHW?5g>N?Un-*<7u01MllZYU{nbaA`RM4JGkYM~RAnXnT z)GqDAuJ6}@eWkWd4}VzNS$@4i(9yQmNf7TaE`!O_m#|YeGB+KL3hM6~zZGxiN;qjo zB+;dR_wy{i=O+S$i-c|n@tylN2kmcabah?iK9HVl@V6U)7U&fh_DicvT5TnUZPMs( zn6+oZJ)~&sTbIq=H(Ah%n{g1g%aFx&$x5qM8B^JCQ-T#@Dby*b1A#TiX?GeLnQz~_ zMc5n1DlbjA#Yz8upJ3@?&U0S&8Ka|*{V0HUXe10fgf}Fa-*|tM_AqpxYOBr z$c!A~FB#d8`cqHX9{K@tPP$2at#7_$jR;-!2+YicV*BnkBG_U!(tw|7&FlDQu~j$= z?jWo!-zq)D{CkLQnA=AqV*hwM=cK4;gV`Pml4;C8t;#*%HTgUR$XY%HaPB}(w*}lGKNml!iWR= z!)OFt(1$R+raT|f<)E&^|FF9&nCVY%%>*zgXS5w)bGw1iw2VvW8XfD1;=QK7{51UaS6o*OagC2E=ov9GtnI$ zZjR}`9A-lgZ9pCph*IdSyUL4DT>M;NVAXJ2912jyG|O5AkM$`@U6e{Zl~jGRd`QJ&`2EC4`#G7Iq% z%$1l)SsEu~HK;ByD#I2q7H1W3>{(3cd0FpeUo|weey!z?Qj>2m^MsPW$Q1r!<9pnV zzr^OTry9;Z?^}M(rl?a_VyR3iJPso@O&d6kV2+!Rqrk%*$)F0<-yPn&`kvI$zVDge zjeUT2z&{tLEp&pBM6H8=S}dF$@df{Ri*yw#WYcL5nFz#`nzAYju;crNrj!jNGAoTp zdb98P14Qqq-Y5RYM<=29G9e-TreUzL$a-?>FsC7qO*%MaD?z( zPt61oO|DWLy6<*>r(9eH(FeOVJ~^iR#0IG~3po=B!4J3!=3!;X!p3(^t+R$P3Dh+~ zjz1E=G*9S}w}yNjl-8eeCd-uqW8;=Q{6bwh&VG60v3kdPZW3Pr-DCl^02uX`03};B z2SNe=V|oN=cqyqNW#V@@@172Es$7kR=DZY#EG{aq)hq$lQtubZm(o`~%aSE?oCw^+ zS{{kx-gLrzl*-DZayZoT!09WpEJr_)WXlS$6+Qnk#U-+lu2it@muC>d=h!CuzEOS@ zRbT$@w#CI{(b?q}PKM7FT_a`J0F_^Vo>7TAA zDRxn?S=~KajLbk<<}A>n8$4w*jgbr&J3K*!*sJZOH)~c1JT$YZ-Z_e5xn~SJU)abg zqt<}6@2Uj!I-ors3E6u>RRTgbV_gYscI(N7-Xq7Vh0H>2v7T zxxwJ~2RxqNlIW~jPg4J-sy`ihgUDmX6%A*8eFyc>5&eB*u=`0?Ie1PhzfU!9N+v?> zPg5Z+a=4>J+)95nHNs^Fwy6n_g*{pCbea!kq7d)8&Fz_Q{d-mRZ=wSDC0|k411FA4 zZo=I$_9q>vccXf?&CmV~Jx8k0$vC>79e_^@Y0Sq0tn;XYqwM_I!wIHuKUHQ8?)vpT zOEGPiTL>li?7mGZ(&DsJ68XZWK1Tlxrg#7+KZJgn;9=3l|D|aFKuM6->>jo%zJQ0K z#e1|12$d+34w2mLq8YF!n7YM8Ip`H;c2j5*?Be?OE=sBNxoc3=%EIHlQD(KUO^K7V z;$EjV6bDlC>+~*R2U^Eg5R^N`-!c-_b5Pps=Y+)A8~q^5nruM7bp?``*W1wBQqu@3deax@G2ORQ)pOnY50g0MGgLI~O5^PG`5tuRP~>fO=;N*UW+5D1Jat zi*09d{?L+wUQ+f?=`lhL;RO`NDKDIr9)e9bM%0*5yRprtF&-<=g_G}ZX7{>FRtl9Q zAe)X-5;vyV7{T>NE7P0fbGCs^Q?_}B@%l4Gj%aIPgiQDI6jWg*w(HQ+(pmoo^!`%> z4&sFF_}jNZJ!ROUnSj?^==lECRQq4bsXbto{F!D5;4{ypRqXJ!1yBjYiq!!Buon)2MFPU*KO$r=yY{SSsAQq*N!wPgBJMBOBm6M7P18eSzTH^OzL`^U|$ z=U+{$zoumc*7>2okEz6*-p|NfhjVys;l@qc%~gqTf@VQ1o-6)Ln(hW_uXQtD^C$2U~!}NJNHkXO;tCD+)uj=CUzA*Lxrq z>kprQ6k_RLw0EciI$V!0-$_J3mZHr(EC!KGao10>cP>;^fbc$j4H-9rJe*~#xJeQ3 z)`=N>*Pl-t+|w9lpw{X#X^DBC1!0tXv5gad`^_k+d*ZhVk1QHt(xT|5Nh)ai;i6Eu zSJLz;X{OBYweq+0SIk_yg(1;R$+9m{zPt@pRhoUtK^ErkQjZ@zIMULh-RLCy9p5bx zlfJ+d&8vVeZ$!W7;M{lR1?%NOpSf(e<7a&x94-BD@Rv-px~?B%U4);{mFpAfjp$OD z$s(0)*(M7J2E6;6v+)Qk+9aBB3SXnN(cL(=81NPC$Z!UF5n8fX7v5ET(=4~L1PN?@>lNi+@SE)MjYN=Dpt-g{rhbvo_3vH~sW&pJxlp$Yq3Or?9y0yULuR7IAA8H)V{i`Y)gb>~7a6 z3)#zAXLB-rQ7Hbs-uGcC_MOZ_&>p=FD-F8Xx!K!b=Eg{C2(x1Ug$9(S6WeEErhjZ+ zsD#4aBN<9^L#cHHYBuBy^mZ#7KE6gI8r@7!vGP2)9$cfw+@J1pKbUuyG)h9U>0Ee@ z7g9}$8pr_A4A7hyVAUOT^NhmQz%c;V%mA;Rg?YqG>^sg{ zZskD({We9rE?NBLccIR09;|Kd$)NU%x5--YCPn4&P4~K%*DD(_=uzvEPoKpmUdXPl z*AW9k?Yh{qFLz#Az17rQ-!tn|*j-sgr%oP_=NT^Gjg?iS0PU#J+c{it z#pd9K9cQ{c=XK?hmlA(K`Z=CgRf#{ zM2wY2D9L$fbE6@qfO#su-*C^|+QTqZ*@U@HiGH!eMcO0$;kTE_g*gZiVGVpoB+HKxy>gZ&raygj3j73+FeWJ!FX1KgXy`K11u>2QngP3#v zg=Jtw9S6mQizOo#rKU`+Ewfg9{5RibR{a9W8~rW91d!5^L9D(BavODj3pleId3&P) zy^pD)!%We{F-t@z(d}=#?gs;oT)CU4N})`%ZWlr&{*;~P3Lbt#G>gPF&%q+g%>9aaN2EJTvc2>DU{dtoQNkv;F*38F^ z^sTg?-j6KdqrYa!7n-B^WvmslyacAkjg>(S@Dp~lYw|G6(Om=Nc%j)1CbDY~0-$zl<0J z-Gwm0WEP@R2?kf={|bhkQ#KURy|h_h?Lka_hS#cI_=IY-cDS%aC?6WTh)Ovr1f6lg)EtKosS}gbK>j-d#vW2 zGm(G^xwMY5kk&|`iTQM8_zU!({m8nTNrW-o_)-*4`|HJ=qpTfOy|}JwNl&S4cD@K+ zEzCY!%t@efcIb?%Xw7b*mHJ7LSbd5EXoBuvbFZ2RNr7@$M>2pg4%{>k`X05_ZzaIfS=pb>;_1U4|Y#2m`IRTN4} zQx#>?ocH52oNLAJ8Lm(hx5_Of)xMDv=~G^MYba`#TqnHv3d!Q$3>SZ*Sl zSrE*-B(Ic{i}b;%zD_>TP=YtFHWI-R9f^>B2iW%M1wAs1e~e(emFGEqGXKxf_HoAW zr;@0+RI07vdTri&sa^e{G%iqtTj+Kt|2kt^s0cS!x_QAlvZ^T!dyGDU!^j3EL~;)6 zhw0(pgq1Ic+*hkLWK2nJ3T`{^c?9MV?0Vooq$wlQw#ap&jFZtYGZ-~9>hbWNqhl8X z;M2y#&4}ZTk^&b$_jgtRp^}~!rye+DNBPtlp_|Uz~X#Tpg z3rO@+AVe>XMYp`KyC|Zfj&%t}M>^}yP`f&T?9u-ThQ8C9Li5qbnj94jMiaVf9(7ho zVqTN`8hJ8R0hsn|h~Wnl8;`?0nBw0lz9>xr!vwKzigyG5>Z)8nVeHO>8LW^{Yt&|v zTEMcQ8xN|Jat#_9Tff>g@9z|jpKuIQ&Z~ig(57O%b2erMx`}hOTD~@yH%P=b&Ooi! z&8niPH&(bOrk!FNl8mFz1TWA(twR|;?3k`Yd?O%XJxc(?*kQdV@*S3wdQrz1;IX`g zUa!jbIH2Bq7mq~B;S*9uc+J`rdmP*hUvtxnB*=5YM*C&H-19WxDY>EKgX!p-%nns8&MA>CZ=(uE)XC@lJ-hU~Ddl z+!Fyv8?XkFtOJsDRPV!ZbxVCE6FV6uxFjoR2H*A-#4G}O+(vQ54YE%+0O{wTg0Wd$X%6t7kWm=>Sp(w1NoOSNtm6qo(Fh5uL%lFfdu z?C>0Q@E4vrYSCoNl+zC;|6#zZVv`=P{t%PVF8tk$lMVm3paCCWE}n;u9)tuL;^$Ed zlhCo-sN>zyPd1^8sgEZrh;x;)dC|%_kHg@kvI`!~=`shrmIlZ8z-z3k-ZeZ2nkM4>>>G#$!W-ZDm zu*Fw9{9fC)rRQ(0<0cp~CpjM&oz`F?w)ol9 zlsvFvSEMoj0AIhCN^$Hvd)W34}O3ueya^rM1*8B+BCFDMRF|^)g8b~l{N-8RJRH+!N z*R_>grG33nU{aaS*`(c!f{lV&98A1^=4F25yF58sE z3}=zU7yy+$?;>UYqd3Q4I!g(PlN^gzc;M9}51Ve(%vvzf7#z=*ys;9nB5Gl&vz3eo zNK8%@n8R5;4Uz&1&5{k1moA;Bg_E;=W4OA96{30<_t5I{GuTWq1h~H+@t~W|4jU! zqFIo1kY$KMIH_u1HDJ5c4`Bh%qz!$QQ7DgiB|bLFeG|t~r+C9J)$sMUu3bfeS@%j$ z%9NOz*3|N;nj_|v31)rakf8b&uC9QU4u@Ab+VliYf0h|$-Nc?Z-GwEdhRvNNDe^*l z3roH2+YBPf!#0+6NO86$$vmLtFB)*j{-9@5=A4Sv(}NiK#pN|xW&a;98`}d^PL5vxWYB^e0lck=Iq`A zqhs2><@rp@W3yIUW+0Qa+QBocwMk2v_q+>_mhrEsIHIebJU+{ClCyh3k*%s?rGSgQ zT{oZLUS}E3c3cRn{2=f?p zF&4nV)6Q(13F0P_1e=GmoA;?21UuQ~(i^8e@bY-~4A@A!MC|gCJlY+IYQDFED|lUS z&LKiL2*1DlYC3z6N0a!q7;kY#{vD)Y zLjG_5nQb&+9RXY68Yi4AuuLqO9K2QexLRG)b6#_5v=;62f@O3ljhh3QbkD*06?35|3M>ETkbaJ$z%{L*te@=4!n57w;MY`bqI@ z-5h9JP+;^;n*FYvkhn5ZZ-~x*b3!S!abpL4ukLn~UP&q1asx~0NDsw)XJza{`@tqP z$Li&3&0PvyQ}+mj-0M6 z?B!aY0pb)S)z&-`l4%>kiN$ZaSvp7sO z%p}n@NLY1lHlEd0K1|IDKp+m=Aa!QaZrgg!VrseR<4EX{`J4|q{TpWVG)iE^JDNXB zL&fMZBsAkaWm3{4oK_{Fon=z*Ug&W8g{CDwyGG6=6n_>+C>1Gp^pdMTvw1C;9gx|~ zOYQz?fuf|jW6Sl{>+9vm`s^P?S@%;bcNvq*$8P+qqq@t-cSi<4_ev;6J@)R@5AO#c z@O?hbG)=E3z&|0D&& zC4?DQ3ik=pr<-}^)lGLTRH*I=N<1i0Q`fDme!P2??=o$#wB#&l_|?b5RROz9t3>1a4sDXbnjTn&W9BqSAiDar{A|;) z{H(k^W597>hMz}e6AKZHP|4H_Ktw;2D|6t{e1&BEDHsh238_lChu$V!LZ$seN>e4O zTtmp}gQ!N5a|O3$l8er4d7)DM$;5UU{CkBZI-#4jbzJ47?)FWahL%E3WW9pISY#-M zf^6S|Wg^w0I>vpH?07^dh$#|Y_B%!+Nu#koMAU2PYjU+fopl=irz&gPo70qGW9QTt zvM21akGJ>G&B5~lLBB0S<3a-hWA7(CpgF3iK*N~%KR*4aqR*fC3iCGQ6}EfL zvTkUdCiAwU{)Mw<`^O6k{E3g2=hghqw)4ltJQ1PY{GILxO%29BvRZ65xZ#+QC7yaf z0;ICHhjct|&@z$j&@Rz#{%2BqU3W6Gv9)J?)c)D=tW%Ua9-_!8E=Ve0)N|8@Y@E28I85m^0cbjlf~F}Wu?h$!+wEdD}ReTPGs zKTQ&IQei@LETRy|@18xS2Kwojz&vJrMM=Lvc;<{0xLiUOn%w){k3qo8>Vw_9IaxN- z9y3+>S;Igo(;MB(hK2r`QfI@WdK77e;?e5Qj5wvXaKpybk=kiN*9>@!p7>;%9|Mls8*+2VxBYJIjS3G*^c&AV}ZE#87~y zXoGZ7n4enJtfWZ|aB-A7-)p<+e$uA?kYt>=nC8=1kv%!${*-kwj}ECmh8UliBeEho zvFC?^0*ZFS{%E;ll8s~4EtoZl&oWfU=8ROF;c#+u*Q)G{<kFDV|s=64fi zqdj(^_k#$%ivUCyg0~i-w>iuYO>*HQWp44T;=z4yMHLR8PC>>KTfhK=YqZ2UK}t|nKNDf4kNFXZm7-%q^q)f7k)8XF=n%OaLGjI zW^bQ=EcH~NjhyFpDVy$b_uOMIy;Gg7cW&Rr`FPpblW-|FXsZx$=1}@@>#j4RkI3G; z(-bgZ0|qyw0-4JDAC6cADA~6- zKRNo5{WomNn8e*B=s}@iun-+jS>iOmX(Nn;Nnw%JsCPtZ(+<5_bEQ1A$yQ;%X~?*2 z`22=_?VTpH#HB>LRp(u_J>r-BXm?u*|W%-TE-ZqOHO-Vk9@QsKT}Muvcn%$t9EV zr?V|H1<)1H-)5(XnW(om;YUA*VOQT+9-i``qJ=Pr4C8hHPnP5XGQB}>m3Tdw~DAA zNPgO+p~Aq!0v(fZQmpES>mDwDjn-Tp!g~J;Vek8;Lf;OB_~TX1Yh{H7H*cZlY>F+@@$?!yzfpAE3=} zh>kXo$CLk!%ChvN5bfvR1C*H#m#lhVItp$dZ=&aUw$u0}Tv#He9rE!v`Dg74+O`%N zlN@T2tY#+dtab+(bR}HN;1?4ERxI9@o4hW=?t{LFQPchcf>DRC9w*c%z~>n`t2>UzLZmtPr{F%nUns=?{zF0{Hxk=sc?}E{ zTs{mSAn*>tF(0225~*&^aS{%S6!6gp%cmdbvFyzdMiR!qqR0P$x;DkcOnfQbffzT4 z)!zG9(XUU2Ri2cTHI(+N{J_tNo(o6)@7iDB$DZ$?1?o*A@r*`(yq=j2s25E!@9{$5 z@6Rc+rO;06=F|U;6XZ{S|9$KEncx2vWqz9YS5(ysR3Y{*_WA!VL_&In{NFq+{)yzV z?B(OFqe#6%%Xs#GU(v>VtPDl+v7RUGqmOlpeNz5kV_UDV|LV`JY5u4BZRl$|KLZE7$p57pe-621~Beb5xvy-} z8Q)-f&zj9CUeq$2nliwXa|L%haQBK5RrtxrHc~mg!qEmV8&y$)6)wLj-=BB!${bP2 zn&mn3$o!sYuAo0qbADHUzPZ%!hbsxoJ)%A;dUL+T8@mOnI~#pd)&4$OPNZmmW{+Y} z1h713yQ$5_%K_qmJZ%>cWM)du@E)Lw5ne?;!>CWGF`h;NYXe{*=9N5%-j+eTFW0Qd zHmUu^?ghV2Lw8{oij~@@c@DGM5v}j_^f%?9SK4GOzT+<|lTK0xNyST^Qv~U-c#!e$_*~}8fcP$)oGq+^gNU3C?30Kq+OXPHydH)}83P(i@>pvH7m`%bU79B70z3wzUy@okf7GGRap zF^=Y4T}Ac6M@U1(niK3yJ6mT~Y5K_n4x$mJUxz@pFXmhD4Scc<3^MzsH~7>=8Q?IF zncA#Pz~on_Vz^U{cviaVnEE%xw%5A! zbGndSWNvk}(I(B}%H65nX_L;a6Y^@Ur^2RAeXRduB+o@4?pG0Qh#ubdwWFqW>_)p) z5hg68V3dC^3lY%aYhp_FXQv?HUAdzO&JlY-*CQv$!#3o|7EtWXvcQ(gv{KZT7FfM5 z1O5C=4TQiR`gvGu-EYP&M)S7W$Z1zhCLE^9`VGs?WnyIG`|m{f?~G?hh`l-8bP>>iJff@agBqzzTaWDLyDkhQh1vZY)@2 z;{ni|itwib`~3iwvYeU_7`+OWnW&H2E1r0tzZIV5AaK(o#xDNF$6IlTf5lN}tlHARyhFAdS*JV5FnA!C=J3w(rB&`}g_% zz1wYr$L)Gt*Lj`iaomrj501}n%-6m>U>tlXW!2jqBK^yX-ut4ozSxsEx5ZxdxjyCr z^`tR%)P0M(B9)|!hzh7P40x8$GZzDgfs3QqsM;|~-HFt431a$Znu`00>C5Wx11h5>GO8Zx;M;Z$WSfbnP` zU3rX^pcy*<|6ajmbS%oaB zb%%yEdR!DU{e5k#^408B@zh!ae@HtI)5Q>8#BtJrK@F0PT`5l@?#1JTdp39c#H!b3 z!k0GXy^I<=1gq}USg}vpsS1~VZ_K;Zf8Zw^UoP8qHegwi;>_m61YWDNR9(4@@T7mb z@IGmJAO9lQrq{~4vVEEQXs+<=<3-?xAu|DTX`}4&Lk~@k0mfG!wv&PXbz2a||3(ML zOF262pZ>r;7xnX@3{bvCJY3UDUEtLiMSbx?HnzB`9(=BsEPfUlpuu@9O-JfNz0Nnf zl-4EAmmFSG?D|rE_u0~_BH49LfABEHmG<9IPk0llW+vq6*@(@Ns=u>;ms#`NvzZI# zaAEH|g0t)?t!K}4xgx)MxlPUJ;cT4}lj@uJuec32^u4dj@|jf@_p})axI38cVjb1= z;2}elS%TvUY?zhekX84MoEIeo(EkE{CG&#(RWrc@ZzHwe@Cpt6|F^_tGV zIhz3h`c_S1Ni|Y&~PRAxLj?O?PebbXo$k z6Dq|*z+6+ZT1i~X;B{(am^7pbsg%Qe(7RlSsvle0qpm#IgMo6MwB4naPt#U6S zPPnN;=!tRDQS0YY0s{ZLyhsD+jZ%xvsDz09A zmTEn-Enxg(Tnu@?;6(zZth#2~yO7^mL8P0fDfm-Yn3h$DN!8Vc;pXWUzbjy23+E7X z#YZ8PjX{q>Iv?yp8lS&P5=XGqSkQyJACyGD8@aHuQ-0jK+lvu0r(TDORztR%8_kiJ zXN?1%yg*%8J?Q&omWpdZ=QblvvILQqGVFJvv@U_r0lIqcV!E z&B@)_UTW+`)l;T>+exjz*~jF%Kbr>)P5;ezYD)}x7igewY)OFp;_{H{eLVEp@0Dgn zb;p(FyV}qSX02bAm^t=L4$AkQ7sh=qiiY9d7n?H~j|RglSXxuEUzl#p>`}A1&k*S? zuPHt%c|D<-?*q?t?q2m;bAwSh%JuU4}V!%s!w7Izz0Zz4jE2@hpqVQD3Im1=6Uk}& z3quRR;Lz)=zM5_20kTH>%1L*hCi7(O00f&I4S&u0&V_YL>={b+;qL3 z3utZe|GU?*`3?b>m^Xx5mYvVkuhiJwHj>_=3I#_=uBN_qWYaEwEh#B^n=!r%Pgpm< zYCRN_Z9Z_<)xP|rr?ueq&3LKPF1^E}t}$J&P7Mu*9jKi}2*F}W(;8!!c`he^EtEjG zWS#_&Z&FSfz>?>=ehfwx4%b~}d}Q-q8dH(;@MC7ma(rp+yaoe*b4rIN?B2uIl_ft8 zg)1QzZL?l~--_{lFD4Pqr%g7DRdr!(r@CtUn2HiA~Y+%<{x9@a7wFpywdq`xIEYu{13< zT8zcYg2lYOQ%@f5t>6FiX2YXs$Ffm3hLERHy%&#<%KcHByUVQ+k}*%%=uUfQ93X69 zPp+_VTvQtkeYIgSZ(4bu6}G>f;Nm4O``CiUmB~_DMZlGmm379S*heUt;<62674C zxqA_PoOFfdqm`=b@tn5K!HLl0HiiWNHopufRL0&^!2jR=|2<9nLL*_jcA-?#!8(7k zRS0-u5qgq;2oegndT#L-9+qH%yMgG?@P^l<^}^xBG<%MR>)&LMA4Pr!E_v1u(L6V9 z%(4^oJThEdOqJ~qGAn#jVq{xwzn@{n9$GB1kl=YZ33U-p7_<6nb%o0XeZ=ngK4stJ zbC|n>AaAYiFU)C3c5sBle7R-KRJ_-t_rDe{z|;Sm~qW=;W{*^F#SH?VW6Z%Db%=2 ze18kNMRhY;#>dZImJR&fhP(Ay1vp`FnNw8LyFYdrS7ua4;7@$u4$O~v0~0|jG1Ob| z)`AJPNOh5RZhSbUBt82pjEe$hx_npy`ty4mD~1VdodV~3y=l_MjTn~H4zyFzEC z2c0WcwcyXH2yqt@Eq1snw(&p`G*Yp+Wjb7~@zvB)cj~rW?K0B~v1{7)1@9|9e$nCR zj+wjIR($apYhCWnfdV@0jQKf?Izc0s9<{tGGyw4XI|FPML%}E4t%%u z_wH>jb89|?3{QBAJD0R^~n`?h@oAN|43 z`yxF6Eas|TcGht;`lG^d5ucplp|*PzT*W2tozn7h`8_6J}ceWK6qyXPy#3smtp~8ZrTNd~M9q zvzSI76t)UZydg^No*AQ6{rJ{a_X8wsv)0)@leep>T*>A9R?N4pU=|7^LVUnb(Ipmz zfFX7$A(*U8YT1aSdBUd9q7s>!ZfY2Z0#D+;3{V4lln~&xL_5ktz(^cJHJmsPupKCx ztJI!HjnL7m*x%GJkex^0A2hY__hk}-C1|gLaBP*E$6Nx#rx|?@dKY6HK)#R!juB zlyPx4o>~MZCQeW(d#vC!`;#v2qZt>$)$JWS<Uo$-v z$_l?~kxalQHSnifE_KG`wDV-{D|G^LCCS8{8A>gEcuM)TN+l46ttlfRb*vfil!xW5 z1H?ZER7H?hIDd;3YdWf?58JPvx>UO=K$amNsf!ftZa^xskbC`C!*lw;H&bqS3c`-OnaLv zF%1?NH^#(Eec!Ge4;kO>;gmb1Y6a=;7H^M{xU%qLl6j3Pg{Ot*Hs4ODaeAZRQpRMl zpC%&JA>-atk_$md4A#6lG%4&CPsEt6&2~l*iim!Nv=$gVut1Y~E7AZ_be5^QOpLCf zWn7kFIB{~sRl#QW1Dld$^4l^nG&XIuci^h;I8h?WlVl8=c2OLY#&S5f7 zIHw-+p%FDPY)gLxLOQ}!Z>vReN#|K2W1WT+#|$4WYtN(&<$aIkPrf*J>=a==6SzRF zXx#sG?;(cTBkDZY#V&&^E|+s?cu6%n|3QT_*fy40_RvtB4Gl1wTgCg0W^7dd_{KmLZFy z6l5<&)CVR0-neKK9N%BD%d)a~GqCX{=Do`Wcv1zOnVxb5oLoMvdExn{U{&*%<^D*U zmsc4tDE(`ve%a5w-jUQ?{DC#&wWDmV_usNN{i3RVub%WH!vXKfVzNj>c=$|}9d;oA zCUgM|L|DM3eeovqO#E(HJ@nk|LVtC(AiJ|G(jA9hep7_qI)`QNmW?!QRU0-Q4Y*^n zrSm30=kb*0q}(8uR4Au%K3)tHNlRK(M4!b_yG2#6i=F`Jeh*jFc_7^hcW{h?!M-z? zZ)H@6YbzUdegWi5BX%(IWy6JSQ?f>1mEA~DZ4t%}Zp{y1sdw7E-zrR1*P+VJ9LZwT z=3kKl1?rK7OB8A2+Kvj+P?1>C0T5BF=uvI8Ih+IHty~49V0Ph&Ly2UKAk#LJ+(XJR z2$vj~4}ab^)VRymdUU)%`9&0I{h0&=P7DCEDm*O;yLKa|Ddu*(NSu2rLwYXT> z6d}9d*JpQ6;q}p+Yir%Gl3Zy~L_WSH&t1OD1{M1G+Ec;Cdkwez#jM4TYbJykQ-?Cn*nW* zKH`xfdf>57#{=|KPFuba3^q7*qF22Cs4cMd9w$aPEI8XC;uP5ihtJ>^Ndz~UoFY%R zg~iaFvISnq!gXZwd?o_af0Zv`-3bKgtr^VU@zPWRMA_Q-*`gKPUw z*0wAogp*y3$VTTGZp1EH#ZiV)DrYJ>fg+$`g|$QJlORF#b;Q9}hxL=?lS5!*MUxH; zlkz%~-kGHY44?X)F0Qt)x<45`5p?5bnbVj709USC593hL^)?A`8FyQMX!C+y+pzC_ zKHyv<*Qk8OPCmA4>!~qZOAJPXP+a{!{oT~FyoqDMIfN^q?hkvAeDB6zZo5OJ5ml|G zDics3{3b#Mf|GViq9gBU2Soh#_P29?{#x8r*~R{hq}^w%ZXee}#e&Zw#cqfxsB2I(`9l#!ytk2! zyttDiM)r1hZQl~^QS>OfJxa$hD&_))FTZwJmGt}M^cO$nIj8OG#F%ruMY{3^lh$Y9 zC%`0%#UmeqH^vj=fp z$AGJO4)|H38t0>Q{y72&ad5BPGXK?hC5OAeKA|WyC@54<(@S&4_&>?2;IMYP$ib2k zXL)+Y){)Z}nOoLTs>aWj-m1-{+2H_7wNt7H{cFd(o?wG4K&A(jyJbhP73KkW%0$p> zw5@e*@k7Be9hwp!jy^D}u239aU`#7-pbC8U%V?~U#=a3Wm0)Ri+Q`2xQ*MNCDy)Vr zoo5fe6DTAFqAMw}`L=GYrqLRn<1|dJo9;E>$uO zQuMQ%*9f8zagr69KowfmSnD(yMZY2RhvM z_iM>tq2H+DthGtK^fPhYuvYJ$fjo3E@56M4B)Qt?`K;|vQ98i6bK=+MHKIDy=x0Cq z&g=r|CgJptJZ#~(?SUi7)WJUDw7R#|I5%At^X?jv3b;derWA_Lbe!uJ7ZncNMWa&C zFwD$S?g#|BCGK_z1Yq%GyQaGMg5YQs#1%|_MA_L;v+Y1r#s}U>K4-ZUkRFPpMp#sL z{11u;YP#gL58=7JNCSE3o#e~48H4Soe^UaXK@aCRvkzLZc0X?I1(*6iwN^FuO(edj zku{Sha1rEA`8GPqPY9*==1J;0n4^j@Lq2{o#QBiwaPn3qcX$Z*{k3Wm$Bi=GGol)B zbDWe;&m{hbkO>7Rc&QcRiq^mM@itX@a15s4g-GJFx*-=4DI4R2`|z)5tz`t&RSm83Qm=nd>h$}8<2))r1Tcwd^H(y|KUm4Z56k`5~^y# znhw@1j^aaJlsu1J8NTw0Vc?nz+NjlxL0kiIrC25f61f?tCf1o+z8fi6KvjGx9T3dd znfmK8(57I#JS7eO#VH5XT$8Mk%pSs7bpA~2KxpQ-NDHSeXp_GI&Cdx5{z?rv z&|~HljlF#zIN6|nE~h{|-7?F~*%@dAtV!cU{8=Zj@^_iI)ci(WQ8)Zqxn;-0Q3=J3 zKdcJHT$A4B%6|z3tQ|5;WJAvwqz^(R-hmwsMDxB{D?R|2Vu_B~_-&DS^FLyvYV82; zl5WnJg4<<`|NG(tkF?k&mt;{qT>FrV{AZn&KKZ6#n`R-P}eNLh8aJH~Q=Xt{KVdaLe{gWMUK;vfu}qVX00E z44@d0c(*S7Wo-=bl)}%Lt4Y8 z1&ox~vEa5Ls+_)k4Sq?p8Co3z~yqr%-7=BN{3GTx1P-Bnp8S$sZ6O>(~GO+;A_ zfRR#q?I_i_a#=onp=6P#tZ!$FAA`TrFmV2deEZ5DJDVjQ0HGY<@X@D%jXc?a^3fuF zWx4;d)qFpdMyUGhdDMt@l z==^xu;m-i?=v2qSm>UDBFae~qbhA}C98zV|Neyk!B`&+jAbBC@N0YfdY;HIJtT*~$ zsp*VC#7>or!o2wbz*o5ccjn@n8pw;t%NRNTaj>XSfTy*Fn?F^*biCm{(${35xE8E_BXP+5dWDvbcXsz{869rzl|2TGl!Oe5jRWGcE%jbZT@g#-%fz}CG zh{DcsAQ1k~A0|z)o-pv8gk~_z8DaE6g7)NXm6zZH7NzolnUO>26BUG+3zZh-=csZM#dMlczo ztCHgNL|^ZS(dU({=2EPlmHa^x`y1%k7Q{`k{v$5A9}nntPi|OdnB#}lxl?)$ZvDUc zx%HuxoW!OHFjxA?7EB`=Ehvf4-3U&gF&I9TyXgPlWVLic7D*^j?@m5r;)?w8-y{`Sf^uF<5q>y=ezPBJapyme0#+2Z0d-iYH`Z1j7Cq_^(^AW@qm zN;{~YAi?tk$l14h{#Co(`}mtPkwI`@UOitY;X^WKwP09?b_Ow?UbUJ%V7h6ExaEm^ ztct(KB1EY84YF-*Scwd#0CcqXG|A(KZFeO|U$1Y}i3XRzeQ59H>imv{chxRQ7Ge~v zQt1@uG+id7g$Cc|g{YCWGz>oWS`oE5?HN^lm*12f6$S~M4<~N55p6V8mxKG_z7Ii< z$$@8DZEQN%CK`YrCP^>S2*gSyU@?~p%jMyZmeWF+sw zJSOmOW>=}CWAOOtpT2Nzx)S8ORYF^k%1D5XalQnUA$zWJof>**iXVdW4={+GWFd9$ zhY}ijW+GuCne%z`iA2IMh^j1-Pia10sy=B&&Caw>tPO_AbeG~%N|2fTOY6u1>V#po zsS~*^!f(9V17zu#T8MS!_HqV)Ko!}6VwkgQGNRsw?Mcm>68)Bes+=oHR1=#*Y}fZWmWIx z8xo_-46qb}_lKJN_w5mZfl~v|fy}7G^Ou#lZ&DW;J#kJc(D<-U=HbJU@V|28IMLi? z0JCd@1^BG~+$SVC>T)#eK1#SKoPzxhiN6z?Tx0%E&hk79kh9#8fA#rmwr>|A$SAn0 z1{=vhiA9P{A3cwwSZgdT+KBi_l223V84bMuVULG6XY3#b*_S2;K^q?|qC<8Ll5JTk zpO;f@)~Qo4IVO7f$E+LMcnk?^_9z-h$<~Fta+)yEmO!mD%W@ zVMol~Curn#bJ1T_P}34>XhID&imp6zJOR!J_P2r!!c$}epHTg!664*HQ2G&!fMmL- zc;Tnsn{yQt13AWm`t2FB5Ie+U(55x}ou@J#hnRwj3eKphS2<-)0VFgkM!>Q%ZgQl- zH#4aCOykn(2gHPA<-&o22%@k)-AJDA7m&zzEn0-zA^c@~CXH;)AF_l})|GNzUPF3a zQ=YL;Va2!|uSeuV!`d_G)5_^AHQg4AThNZL@iUd@XhHWCr^a`w^IbS@p{wZ7L= zYP~cJ(*J0+U>0^sSit{hjm#)l4s?p8c|P<0U$Q^KRukrrBSV9zhS1n_6mUMq=EZSX&W9SL`9)d0t8T}uB#Xx1|7Os3IX-ohUL$+7 zbjm6V_sXahw!xOw9e=p&hCi?a+Nn-jW_nfr=;!oF4~d^=I1h1XFI2J;|<}H`GVk_SMe%XI2nnbkJ6mI$26t6zz1VeB&t1KHHUl`PC`t zl56d9KpOgA6Xq|=@7oXeqyKXh3%34Ov~W-^VMjh_}v{laArBK-PCCD zdjByrPKbch^sUN#;sm2StSyS773&@xG_k$PAbP=Ro}m6r0^7}Dv>kPr70U8X8Q*^k zi=$w1t!tvau-9im)*N~P2)z|P2GVA3xMcAPN$jD2t}y%);Vl9pyuFj>yQDLKRlyZ4 zXcRJd{MTtDxR=_n@`mvRhW!IaD^X5(dc=hFX+5DhFQxtOe>=(s>+TE}7TNu0>|lI2 zjOczauEQaYV|T&`W}jW3wwIp~8o?+@e|uB$!fht2y-_^@gLeRq&AFkXfZdf`YzjUn z1329~*2KToE-t>FcwG3i0I!>hnJ4%-Z4X;ydCRZ7qP@rtv?(guGWK3M{XkEe=JCAM zkqGQDRdtq``mBY=G*SI5Q@B&zlKb368JPKM5wEzZ14a=NHahOQPg0+MX!?Cgv`(Ed zhU@tA$ig_oi>JINL9w?lSQ71+#HF$pFH)_VRKld!1NCN5(rmiw|6xpupF+P@0|aLy zM;nuKk)9>XSIF#4DjaXLENA*^+DTZ_j;hrj{_GOVVA0`>-qrGwJTMp0)h?J%GhCk~ zDP>aBfz4}KvBS#XC^tyhSc$1S@cd1qrep_-%Hr#&UBO4Se>HVCF7s(c8h*8CtV3O@-m&TX2K5O!>qG% z*EAcka|i!jV_ZA?$ouV2|HJKD?D6%?(eu`mx0a3?Tt{dpsWtTOeM}u?HJTxri~Jj~ z2>AKq7pRyqYMM@xN1r`fp?E9(IFOQ~wrA#f_Jb>H8U<<7^wlI6K1c}h?{ zX{tH`S`~0n;Wp3a)dFeb>#cs*k@*ON;i)FGjEB2$*VU6vIH)km46y=vtoJ3t>!mPJ zg3x2LgfG1|Szu#0UX>}|gSS5{Jjj*{s_e%f<6zwh5kXL}K6q?K3pCL8_0kQ*;VbZA zF3sRKhpGfn>-gz`9g|wA8Xxp8&iJ~~+RxcJS8CfVIz8Fv^U51G2Bohz^)#WQ47XOB z1s#N`0&VWUKcFT)72>>G-+9CIpceEdlc={`qR0;x-}c!0919$_;(j%TG_YdGtj#hyhj+qw<2SejskraG>EwExx;5u5{t= zN7_VN@0;s~0<&4|>%xlHG)8no0ZQLQiFF_YE8lCxp+15WR+>GW7dUN=UE`-VUpg_H zVk%Ht9-*1u=ehuiLq9#~MB^=0P&M83wA1pn$uPyKTF*lB=TZubf#8sz9ArEj>DZ658(0 zKCI2Nm`Q6EcbORGW;Zi)7)+yMj4Ob2Bm{LAJCrTArv5DS8s#T%0;I0gSs;}Tm3&%v zQk}<804Av+huR*R2P#xm|Drv;QBG4*Qace~Usb?GyjFijCHJ88^=&nsJvM+gz0_Rs zW_}-tgzk^bgCI!d&9eF!wVC4lZcBe&@yi*O^WuadwCb^F@?dG}Q_yI%3u&Jd8TS{H zced{8$g5*zdShqq+A3Ot)NZ+eTnf_u{iUklp&-xKGwEv|`@9DQn+)VBs%bgP*f#1y zT@GOupWDk!xE$v)_+|b*9@`sYd|u&3fS+gG&ypH_r-LM)_S<{c3Mhp@+_D}^ET4G@T=&}o51*(b}hN}wz?9QbI@il@hovChT zW@AP%q6`HV-g`1K%69&{ad@x|*l+@Sl|<(t%RqiJZh_q zD8;2tKCWt2g${k!;_uk&nnA1SaK9NMkJFzxf=5HP^(ibW=xpwZlP!d%e%lzy+p|}- zbf5Tn-q8RZrk7T7?i zRE!C|_fttVt0-Bil=*cx47*vhg-Q#DBqoEDfUtWbCNdg(!qNI>%W?rnUJ_kJ9NK2E z7Z>E6b2U`jDyB4>cCuxq9DuDK(`mBEP`(*KC7uPJ-_xwwe4zonD48732nBKR6lrQF zf4JAB_w~&incQuf7Y#mbs{4kncH`wh;j#)I*UK+9#s*4T6(B%j!PHwo0SGw z#nL6ew68v?D9%1U!t@cEM%Nt-2d-x(%)N8AQ?dRo(uBVn6Yii4W;C8H-_GE3(^;)l z)~UNg-bceD1gCrul3pKVcSnvxnj^wgkUwVT%o4s7+D(w^Rlrk`mi%^s$hT8RBy-*! z%)(&;=r!s6gRQ?xlc&wfs!#bZEM0yI`QfHt$WI$e-_*3S?z{XmVi8xU+>(|*YqT-p zWwF?h2~~IbyZED$4u6!S=Cw&`jg|Jnl`rlUcrX<1*xX>QWszlV^cgL4yaO_ch!}D* zNv!+ylTFa~0twH5zZ%J%IpuC&rr%#h5i3#K zG$BojI{@kqv`!&WQJy>s?aP^fh#D}tY+k&Ixe&5+u#}$1?ce+Xq~0qMaX1=ozr)c) z7ZX8)J&g=>w}D0M*r&J!RnA8uJr^ zmTR3z#j4@OMr~a)8$W4|v%-J6pit0fGso_F)6{v5CGFwHw9B^df(>saNT9&AQ(1Z6 zpNzB$BD+5gBykb*0xxeI$A`~x;p)6>jrT92ofn@jrZGxOj#?+9Uy$j$k)9>erlp zQ{5T#=C7d^5ci8f}d_xt9g4>v`#Wq3ge7LDMd^75xW zCvZ?BAm7N_&D~FgVJTAxqUF5}OcRQaYCx|^!&e^K{eJ_01v=xq>!%~s>N@WaikSLE z@3p<#cRP%lM!(;{S%$4h0Kt%q#j<06$`On$LYBlH1+>4fHd9#cPxCF!<;nwP6T<_~ zEYS(PF2(j6-dO)?WavjEayREwdfOdhxN5J)udr7oV^ake9aP?Y9JyeEn_P(GXIHu_ zv01c`-SGap^y0BQ)DA4jbr7a%#;0m+v!cy^;q!FO&l1w2b-2F4iwCuCC2AV?83Rpr zOJwUdcePjJ*$SgoZ`P0g$Td{$&a`yy8F^03PMHR`^0nGhnrlD4GkWz!1&!8A6>{L$ zxPGgamw51WQpazncs9MU_;{m50?Jq5y>{oZ3$&Y-|1I|n#Wqp0q?5{f2D?QWQD3IK zXap27sAKrfW>BsPRTR*}1=zJ#mM%Q|)%4eIFW!NnCh@{ylPqTY#G9Kfq*lK(d2+ab z_}RfDb`;q(&!rieTI6^)CK*uk`e8+3wM&A;EhE@GQ1B;JLBG8Eb_LgAuEY|UpgvmHW-~;Q9v^p1`TPm@n}d|3<(kg(yXtrO zcI8gc%>_NZPe5n0k5;|^^i!jhdvNJf<-spA7y9w?*X$w#y^|?|@6XD4g+1%m=E8Dc z59Li6UI=TccHTe%KkVC%m7iC=_Cy3)&|S>Rs12WV~&{3JB$+ z@Z}Nqk?2DI3vjyYr26QZF0kyK-tQIFYY!#Pvu!a9H*^edJnxQ2FG>ksc99ur8~@ru zZn>HB*+cZ7;h_>aml7br%3xd+*KiRV)@GKxs~{U-ZaFBEjT zSpTyCW3clvCy;~X&c};RDde=Uwco2AYOQ20I?y5`z z7tOFGjmeQHcY(GGW38vuv+XJWG42kwey?AjgRPTyzeLcRR^6A^YN|*WVJ53HHGRsu zndcH1`iZ-#VhC!RBqy^Yai(S_?kxEGL2BX0fc2&YR$GM7lLTG==6%IErGokWr=AjP zAV!eKl@aPp=e6oHS<)M6T8hjwMhYUFf+Bvg9Ph1J*_QVCBw*V8#D7m6Gd>WQaSK$Y zeW7%?l#h!h(hb=SYE^iCy1>pI* z6=hVJO+H(0*Y-c>$o}uW{yji`8MgQIew-zub?~u8g04`CG1iWo<1GJRTXf1VV!JY~ zY#(h|>ZG!q!*hGx37-B%q^FAUON66?gJjP|m5H}KH<;Ta=qDwS5`x=9jUF!1v-~pK z`aH4Cc_dk=429to?fCIcB2@5gRoZ{WhY7X~7^DE5ys?lvmk>lsXVH3hN4UPd_q4s- zetUb{Pw-$YN3_qQ@mI^;9}S02sZKT)w#k7-!|GXC^qd4uc6{`{%)!@P#?@1Hd|h?W zj9G;E!KfE4pm$`&kM!J$q)wpff$`z7?L2)~)9-Yo%eI4s?1j*1|DoTIR>YcUs5f{F zuIPTcWQ7^$y##Q%+tGHPSyi-}I5KbUz^U5`c zbhbOI2*F1Z``5Y;6r2}2CBUB|S-FF7s$hx-1G(N!=0_9c^!JPb>?wVIMVOnIR%MVYqR!&G@NhFyaR3?;js{e~xe0#A*u_?@;9r zBUr*d(+2%(=2z5iqGJP74e8q28};WISXdd~0~_=?9yLR_n3z8aLlsxOwLYpWT5K>{ zXMe9?;x$MAPmXQbl^ah^4*Xi8M74?|d{@;Nxxy?o;oJrHBrQVvj|-|(*sV`rUNGEw zgl~+Io6+>z=cjy3^3bfvwVz#I2Zgq`v+SJ+ZU15o>^>%ASDxZFy~c*dlXpJ>9*m^uD*{;Ib(e z+lJVr{DLWf_@ID_uYhz$f1Cw7&BBJk(eBBRST-Qw##r7cxY$|h>`&OMK)=wWIcSEusUkYwqdnBb2CLHo`%SKknvpH8-xTSBvkE_u6YeidmiSkkB# z`IccINGD47eEGhia$Xk~^lM3~XHdZSmm9UUHjS=ZX-W>(ypy0ITKaCGe0&+fkfH%uvTIP1{|1Y}-2QG%rP2sU}o5xx4;7P3H$ zLW=3w5?qor`vZ^}odG(tR_6EN(oG-kn5CRI&%6R}G^C$R}PrO+2m6lYxDQVmP@h9_CQx;KV z6>2-0{0g!fC)!-5ydjQ#3_CpC&x?r?%(4sme5YXqcK7ciFWOkX|1((s`e}&>)enD4 zUdUUuV-C$oguJtA8Y(`nAWyq1y)<|)d8M;U+jgYdzvRxL&5)(J(kU~a^?OB21J4QZ z+%r6OZONjnqM~u&xJl&u->vdSN$v^eSXJnhed{Ih;F4<`K_I{DO-A+&7Dx=~VLH_K zB7e1iVu%>BdG}rO+C;@1wl#4|6*0A}^<~EEX~w{+HZbi*2=k+h1uA+zKWL0nT2JH( z&g7cUz4NH{M=fz(G-9>K?%a!5AR7wOt-ndeE~5MLX@pDObcw3&Z>j2EO(DqC`ksrj z7iZj$GYXfO0m4$y*;&nX!$gRmd_OQAMpq*!y~7B8z+b8wTa|FMJ5NwPPKMZS10hz6 zaMZWeh39AMHS;CZrhm#v<;=N_E$`-)M+gXxc5$D-kXN*7_&~l34rMq4uG1|*$Za@e z-o1U*`BBpZI~g|68GSbKhD+nz+aTe0TQ(cw>Q6;}-Qn9-rg2?~Meo*= zYr?Bx4!Hptv*lHOP+~U9R~FlTRpfHlkE#rv*Fw|}N9(OIk+UWm{^cs+Qr<2tIjG8N0}0HKzTb=?Ra^|`KI;_1G_h?u8yNo zkVa{<)PMv|dKu zQc6J-5??$aDS0MfiK5p&YC%yjsAQ^J86$aJnqCcn@O7S~K4V&EgYtHGJq`id(q3=# z`&a1y%>>jhpF3wm%Mza*j;CJtDLVZtk633Bp4N&JeXDUe5GPyaPXO534?;4yk6p}= z;T?mPcBX&6xKJWqQlPyNPn!GND=)U1SGhojN+m{&BM2|PcN}gkHMV>ojSqpk&2qmB zOm(53diUp{T#wt2yz7E7E>#es74i;dl;L%Y$Ew4WIl)}DYTGu7hqFKbO(&q7`OfUt z4*IV#?0ASwAv0K=DP5+&>IS*Eh}CG*_io)HUdwO(``$RRu7tn(3v>X zYbQ2id!WwL-3**)762YT50Yhf6!gpc^oCDtTqoP$!P&t?-Mb*nJXbXDziACzQhtf@ z?^zEjtKgn*(LAV$peqry0bV4hdse1O&Vw>5R2GU1z8dTU$e^3vWJYz!YEj8H34d4X z4`0biGYp2KSh5{Zar@|kwGj@}_>+J!akbShdHDWi6upMn&s%&-`g7lJfYfU{q8v#ju86F!^fk^3t~|Ck^-M->8}XpKde>tAB01@W8@udyy^^b zMY+pITpM(KffIyruTGA?@SM}cW{jG1g=c!7M;o3ld&Hc)ZTmU@IPcUd;+&X+X%J1n zU#8EkR2MowR6BPgBS|Xm0h=yit||oEg0>I+;lX`7ID|V!c@B77+-G)>MNI3O|IJ7H zU0xcIF-Y$=mA_#?jMapc7$u6?-msGkw*9TFS1a$NTlByqkUN~wPOTegoPWk{SD^T} zDXddcjP@bt2`k^qROL&{{M(lG%wuyvM!a<1%@`nuZ}Q}H+6Md?BGSHXUY((86SuaS zCHU2b^&cIkgg~8|nxf3(+u10}Ur&^1nYKEAwp3Q+JA6C#(CJLg2yPEbx_ga*451Ax z;C2tQiACHmqE%hq`~N-rm`&Z>hNl+e>tR*U&t~Y#fqhrCkT3qaS)y%*PwY=sj1rxm z5ogdQ7iG&tR(l#{w{~FnZpB;QOJWhKbbWCk)YkrC+oC_Bm%oX2V?$$G|tj@UG`Q-~wV( ztKsBK26VSG;~{gavdrL+qs~R)K34Bb=4$G?yFy(~AS?ofWL>*_nt9hdP~ZIyzfE#I1=nDGu4BxT=s-@Jb>4WH<^w$F$Gt- z-cm~)f`m*dy4|xWFDJ&6;$WTKR-KbH2}sNLTcI1RI2nDlBk13T*#}x>5MhHFBMY;} ztwt~8noTPPXf5I(|KJmCTcs&V^ZR}q8J3FZL7A4l(XxEH#fO@aSGL>ah80x!%5p@) zjsZL>1grc2eCIG07HoMZZJ1F0c=if$zt?H@7-~GfksF4M!@0>PFpkGe7$UFpmp@~k zWe>|oC#6<8qX6AF7josFIpES6pndm|6V0f_{9DF-(bVcHz9(GYB_niRb20GqK@VR* ze&6d$SZnb5^~S>6HZMTpJg=e!*UcZCNuyB8Fof@7iONHJnY+XBw9K?N`9M#!sqU|2Ep$ZG>B{(H<8Yc-BeF7-$7_H1kF^OaI-$Z+q0s z%oL2s6+2jnHBQgOQf@>jIOcGd8Eh!j)ap_#NUC4Ae{R%WTUWh8NNsFhSZZxwN?z)< zJ^qQArEaq!mlLFVj-Fn?756vljrDqc7$HCxv(nxfs9>Kixi5UTfZFwXV@GBg$k%*5 zF40+HhIJkkyS_gI<^tn(fUdZepRzKs=w7BW!>jQBwRh(KP=5damqI9H%dU7u)}oMY z>?uT%F=lL$>|_~{T_g!fwrr^oV=#lUZzY3~ov|-3hM17ujAcI8c)i}A_wDxm55BkC z=lWr8x0&nA%(>2W&hwn>d7jVvqr90pVPQ5}K#DY;>2>UU_#+LNaDQ$D3cb&vy_kFS z+arQj7_jZH_t&GZsSTPjQe{V}hiasqK<{C1-eCg=kOVj+xvvw?|DMaiGL&bUl0&>qv^Zm} zY%?x8W6EZbqlGbi>%XzHQ!G?=HpU7xu`&{={x`HGL5 zVba_sZSL*>v9{uLl67|9J)cd%H_|L7v!6{9rb#`BV(-2*VUNOatW5RfI33?~&frOA z)$-oz#1eo(x#kDN&U@7u$_DzXnW*Yt)tFxH&u4tNNVILnK66o{Qxyu`pG!ZU4q9h^ zHXZ1+hG;^5D?99(nB=l(n8K+^%zEQwa)Eq&z~6-pSrApK0iJ@NRmS;8`N5gjgO}>n z=uFSSPAh2~-SoOJR;1zD90{zW((n{zO%eV!@e+ATV+g@Qi+p<~UwI$me|{JvsJ8!=GEyy6yu$F$X4Xo>1zHvf%Hqsn=Bkq~u;DO1uMsM%~8#_Q4ajMfGC2PPg2qmvdsWT+pii z8of*OPm+p7LhZ*74>6XX6CbOGIKKBau1rhD<4!Hcgf!;JE$}TPDvPZOSG;!M@*wqG zQ98A8e=bpHCx)Z>iN}>8Q?)=!=dNt?!H?L1RKI%Ty5r-3m9XR9Ywaza`XHZ1v(>B_ zAZ=|5uwUNUG^%X5=S|ay+Rs2tMaRnGq|H*#ydmUU&!e%W-@DNi)%|9eKP3zhD_K9@ zHqprCYjxHR?OTCz=Q=*09`+r2fUV&$In-i$U4CT~Tz;G?EDQ$Qzbc_HPN#tE+BIhQ z$(r}4r$pK<9JSozutEpod+}buv5_LRLbHEf2#PS-t93@pRg1`S))?^PM!HqA^I#x z9foxjY*XHbmWZz(mPgY2Fmz@$r);JQHoc7G2-=&T1A^It>NV#Fr#Ny0N`y2*ekwnm z^SvJR;!e|af5Bn%84F+z5f0fa+p=YPD&#lY0r0^hHL2*bmgh-fI@?jb)7tK32Fr|6 zy;A3sOx6EFc~5dGiDDfd$P0$84aTT=u)+C3R`+jY*!}3fiUIdGhIr8_j zEWTwkfIG}Cu7K=yf3g^t9{7bxf{il}iqQz4H@h9HG6R+_qp}_qmDOX-!P8d@(ftQ` z_rIQI8Lr{qR>jLTqCa-7HAd;Nu`MnA^NT-5XWDl(1N&B`woM2GxC%>w+QC?F0=9`fT=tyT zE@|0ncs&Q}RLbiAQo!=x?DF&?Mmv>MAsg&-9itUeqpv;Ped9aX2(h`w`*SkHVQ-DB zpaLH#K9#d*6m(bFH1@@%AF-U5^3Hb8HB8pJdP;0<5FiF!_OE)01xBmO09=GQ(q-fy~#_qIC!-m&KSJ5me5+wOPPzHGiZH`QJN)7jp(|%}(F!?4kJ^;%y4z)}-qy?5O4!71 zvuWoFk3-@lG^}`c^C#~!GGxRkf#n=4YNhYAx!bh z_pt5Rbuc~QHIo1 zE=LG=%~AeL2RcNZn--r;7q|;s^Rj`n1Ueac@;?yXZ$5L}oONt+s=d9G8B6fCb3oSX zKF*O}M+N)wv3UNPecg@kLcE?V+9NWqg_Ef4J#OV#DzxkuWJp)fq-8(d(IikZY~Z2V zsda_-H!xck$-|)d`DE$q1BiTlO#5HvgJvuSX+V?#ftzCkJ0Y35;I~*r?ISnTdJl zWH3JQ%aMQh+hE*bO}6B`Z_wsSWqD@`dhCh#if|>Qb6$%{?Xv%^#_5rsBaz-{=|+Pw zo4p6T%=sQc{q1m8pP*WvGMjPsD7z<@A?z?bD_J_R(6qY51>tWm%=Rr~kW}*d1+!09 zipoXR%3th``y#(^{y}qTwKk6W+6_K-)R9OD_ye$0e=2JfN`yW>SE?YdU)D*}^*~=x zArJ{~NZ|%Dlvt^#q0<6@xw)PGffLwDqcq5JG$l zURNjYd3A-;d?Mic!%#B-ZgrPzg^*72qKqF#pG%hK{-VD8HVF`V?UKF*#vRLl+xP{0f;B9C#^`88_0D_bjMuyWHQuU}K9VP)@` z=mYEZWC3{Ak?F))fF2W;?6?^w1<9keCDk0NrGeSn>J*;v+}||U{9^7eHEK^d&!Qp4 zB7N?hAC)wk8 z=he;*%Ub=og zWr*irUh#7lA#eP@c6{u}3iIuvj{z8-+-FXb(KXcOpt`jqLFY{>k2i!V{pzbOCj4jh zHm2DxJJ9L~m+8KEKAapJI4x#+3pj$ZZ&hpe4q2y+d){u3JmxDIx1rYGKTgJ~#_f)0Oo6S@$YrMVIN3 z9FLUS*_>Z!*e=8ayR<-rZr)>{SEVaHgnBSimRJE-$tFcygVZ@UF>~zC^=p}e3z9&fzjO%_MF))x*OFUtDe3zA$D<0!rI+Yme{GoR1Q9>UtGv}R&8jq6W4~Wo$ zGo{jn!z{?~NHqpZF3oYSZDI`tpy2hd9W<>U9KK)$bvWL76voAqgk|Ldmw)1Fd0Sm# zoUh<%eOjOA8q?c4R~ z9I3aVN7JstI9VyyBg+YCtfrv=x(J-}+2HQ(aEGLNGredw#^Zhzzwiz8YGYDpiB0RR zwaM$Vj|B0%RQj~<;L2Xi5T$u9s9A}AZ<+i4k&-ck_Cl==FK5Pgk*+iRrvZ;_M8~nzDQFQmiCv5`pA*eRNwZ7h16vtOF zb@1H6%#a4AT{R3QRn4)c(g=Ra3t&c`@ilZnUuvz9Z@J1;@zvh<}}&+;ST($f)=+pFgu&d(~kF z)!y`EKD}Gj0`aBtJZEfJIWlky1Y|Y*572<`@(Fqq6`C%Eme# zNEM%H!^_=j)}y~taLoPUCqtV^ObRq@$Pp`1nSX8;eA!%IsOi3&8gIThV1|I1USI+`cTH z!_p0n2jp8&fP!xQ8sI5Y>fIpJb%0FD#6I}=ti#E?yEmQU4V+(n@8r}OHRyMxe+4C6 zZ?9@f0gryvvkCQJl<|lREz|oVZOdHwGCR~bkmFO0fz)6%`HAtd*$%pG0}^ z3nRcBtHi#8EukNOsg;nuRRAz{f_&qZI=^gWLt%QR&3GR1>p=rNM5-CJjU=yZIvym( zYaxtu+&>VO-_l?Vj6TT2XP>>psvuP1xTpi1G6TRui2tlZY0>J^F;m+B~xpS1zn=}f$V=K%!j3^_m zJdT0dVk2pMfT1Kf+%O9La=kxNzl;xt#U@y~EG#^8bj#I978N6LH5|TeioOfHU24^@pmfzEr z+VA5VG+VtPcHePq{2IX<2c8m>3G2sv1Dec%$lHq>Q=)Ij4{#NbC45%eW_W?p6JGY8m!h;XzBpF7sVJZh!>viB-UkedzPa<7{ z^g#hxt2(o^z9*U zqgb^vwP}b5{t1n|`-g(@0P_OoEmZy3i|`qjQRj&~W~KR;g3X&bDQFChNJn+rx}m!` z>@x~MAoGMP34R$P%E}RfhHkM*BT*A|{*9l4Wxjnw_p0F0&l2JtK55!GR8?KEg1KM; zSid3jBI;6Wx(qtUR~PO1y;h`yDe{+t%mWn#mMiEG=+ULb<;vF4kp4~F4t@A6#q;g8 z!?1wEJLF~zjKLPVlTD<=#ObB6QkkB>a0Mh3+&P4$e)X$d8+1N({YpuDn-N0b$i_Gw zCe?+Etxt(5aHPENK>bGlPA~RF978y!0J#NM%2m9g_6T`#h zCNDaLf~f2t52uizTz0ZUpj!lR4U)nc7noX?JoW^k}{E?BU@J-zsIlfOZESxoBa z2m9Y7PG7o85XdP%L|T~p3bf|Uu!m<*&uYCg7TfMbOj#3%+{Glh&+e zOR)Je^EE42;U>gz!s}rT#D6ouEgyz^-DsqQ?Jd!4gSHd0jw31cPe90Cx5m(w(fOa0 zrE&G8txpl{Fd(Ur%0f>SFmzvTd1c%iiBv#g#A=X-`;$YuU}H{fSB8Ce0+@_KP9ta8 z3WvML60TX?#mlxprmaAubSxncO_2v46DW`u{Aqj^NK+?-V%;|Fr% z#ig#w^kcExEJ&)LO6bRl8U;`25ni%ave1$Buo>i(B0AVYQCg$ah4}HxU&U|!SM9=Q zL_RQ$R`c}*b-C1K?QQ9e>^9VCh(sD_;lh*km(7hOU4eMq-Ic#&wB5f}qeesl&YQPs?Wr#*A zL{uf1ge*FY=!TX2Mg_yZnHKhI>zAEj&qGDJSSu+?q^)D!tHxt;W%}8#`IYV*G7`zD z=fTHFH@INcC?>(hF9-rJ-*h90mgPFc98cCYncEO6^bqTXo9MQzo{P@p&aDBmc2&cBcoLVu=ysghOEH?YGh1LkkmdU z>2{)dIq6?Qnf=0oVO%lWIO0$0Ti4igASH}Xp$DI;;xl;-G1-NvVE0W`r%zt@)^_9& z+3juNj@2p6!?MUjY*hFAkC}sDWJ6Vm{8Uy`j-(m$EJ_}>gw-to4h__b(vvhyzQTqF;{#*Wo$3*E{uRJDyIfEzoPt8^I}JpmD~3TbTJB?C ze%Km*>DWcjpdAKm50^?LlxyJ6? zKse26PL)RxVt`1!N5+ngMtSu7Wi6C@gRx4iVG}Ba1USU*%Wk)(M!z%TRW1v2Wcj)a za-25%`##>GI2gAp=j|NpYT1+i^n;nc%lFAp{BpsWkLDT(3f$&-iSzbG5r(JY5i(TX zzXz?8s<3#?ArM1uf>Y_78s_>gI&R&SWIJPP_`&5%r$(5lyqH^3z$~v5&+@XHONqP> z6`S-Sc&^PTV!YfHY=qrnOC=_-rGmIZcvF?UgoX(+2dZdNg>tV@#`IjsMzcPytD^5N z7^qxPO|dZShAu<#CWM(T3rxQi%BvAi!ssr(KWmE{1!6osqA2(!Y<2d!H3!z^Hqz`eq@HoF8^V8D$y@&n1c9_SF5m~^d zZ2&|lb{VulNT`uO7rJT|74;QUv=hjJwk8B2jHJTGgt+TiVUCFez;8f=jqQSkp%F1) z^2m-uCE2|j2-o;SK`v4<<9~Vzf2HnDw^&klNnP&AD)A#bmpC0bc2GW*XCcG|3zG%l zIfx{a^kp@}ZSXx$mKm5x-Wk2_Z!~e^ib07FsS)0^W0@v5+%zzPQXA=lgtxH2N)3^3 z?D3Tj!*LtF!2tU+&i&|oh1)PkqcN(1gJBgvQ%;xL{A2w`IoxfyrQE)q`tWaiY^v2%) z?Q#2+$*cyv&(ADBvsD$ir}6ks0%d2L1l_dlh5L>JU2N6M%n_JWLeJCaGyN-q!YJko zbaxs%XuWmIBGo!*B}9s|QEAw~0o?a9I#k6I?vA0xeBc8`jr2q6iSY2I|4fpK|17X* zE?pOgP?Pabmh#jxGy#WwWIe(1!2jOH*1cQQ6I9I<*2CXxw5{q-sPBQ}&pyp5z@DoD z@+1O)pY}g;DB-PxCNxON-OWnGEmQK zA-zIy5rl6VJ4GfxjQ%U~0%Q7TB}gp;#FMf7KcY4#`Z@o13TOeU#Lxe=#z|NB|FJa^ aDCe71dLO=ss!5_=!(BaN-BNA4$o~NmIDt<9 literal 0 HcmV?d00001 diff --git a/v2/yarn.lock b/v2/yarn.lock index 85ef43637..e5795e871 100644 --- a/v2/yarn.lock +++ b/v2/yarn.lock @@ -3,56 +3,56 @@ "@algolia/autocomplete-core@1.5.2": - "integrity" "sha512-DY0bhyczFSS1b/CqJlTE/nQRtnTAHl6IemIkBy0nEWnhDzRDdtdx4p5Uuk3vwAFxwEEgi1WqKwgSSMx6DpNL4A==" - "resolved" "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.5.2.tgz" - "version" "1.5.2" + version "1.5.2" + resolved "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.5.2.tgz" + integrity sha512-DY0bhyczFSS1b/CqJlTE/nQRtnTAHl6IemIkBy0nEWnhDzRDdtdx4p5Uuk3vwAFxwEEgi1WqKwgSSMx6DpNL4A== dependencies: "@algolia/autocomplete-shared" "1.5.2" "@algolia/autocomplete-preset-algolia@1.5.2": - "integrity" "sha512-3MRYnYQFJyovANzSX2CToS6/5cfVjbLLqFsZTKcvF3abhQzxbqwwaMBlJtt620uBUOeMzhdfasKhCc40+RHiZw==" - "resolved" "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.5.2.tgz" - "version" "1.5.2" + version "1.5.2" + resolved "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.5.2.tgz" + integrity sha512-3MRYnYQFJyovANzSX2CToS6/5cfVjbLLqFsZTKcvF3abhQzxbqwwaMBlJtt620uBUOeMzhdfasKhCc40+RHiZw== dependencies: "@algolia/autocomplete-shared" "1.5.2" "@algolia/autocomplete-shared@1.5.2": - "integrity" "sha512-ylQAYv5H0YKMfHgVWX0j0NmL8XBcAeeeVQUmppnnMtzDbDnca6CzhKj3Q8eF9cHCgcdTDdb5K+3aKyGWA0obug==" - "resolved" "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.5.2.tgz" - "version" "1.5.2" + version "1.5.2" + resolved "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.5.2.tgz" + integrity sha512-ylQAYv5H0YKMfHgVWX0j0NmL8XBcAeeeVQUmppnnMtzDbDnca6CzhKj3Q8eF9cHCgcdTDdb5K+3aKyGWA0obug== "@algolia/cache-browser-local-storage@4.10.3": - "integrity" "sha512-TD1N7zg5lb56/PLjjD4bBl2eccEvVHhC7yfgFu2r9k5tf+gvbGxEZ3NhRZVKu2MObUIcEy2VR4LVLxOQu45Hlg==" - "resolved" "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.10.3.tgz" - "version" "4.10.3" + version "4.10.3" + resolved "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.10.3.tgz" + integrity sha512-TD1N7zg5lb56/PLjjD4bBl2eccEvVHhC7yfgFu2r9k5tf+gvbGxEZ3NhRZVKu2MObUIcEy2VR4LVLxOQu45Hlg== dependencies: "@algolia/cache-common" "4.10.3" "@algolia/cache-common@4.10.3": - "integrity" "sha512-q13cPPUmtf8a2suBC4kySSr97EyulSXuxUkn7l1tZUCX/k1y5KNheMp8npBy8Kc8gPPmHpacxddRSfOncjiKFw==" - "resolved" "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.10.3.tgz" - "version" "4.10.3" + version "4.10.3" + resolved "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.10.3.tgz" + integrity sha512-q13cPPUmtf8a2suBC4kySSr97EyulSXuxUkn7l1tZUCX/k1y5KNheMp8npBy8Kc8gPPmHpacxddRSfOncjiKFw== "@algolia/cache-in-memory@4.10.3": - "integrity" "sha512-JhPajhOXAjUP+TZrZTh6KJpF5VKTKyWK2aR1cD8NtrcVHwfGS7fTyfXfVm5BqBqkD9U0gVvufUt/mVyI80aZww==" - "resolved" "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.10.3.tgz" - "version" "4.10.3" + version "4.10.3" + resolved "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.10.3.tgz" + integrity sha512-JhPajhOXAjUP+TZrZTh6KJpF5VKTKyWK2aR1cD8NtrcVHwfGS7fTyfXfVm5BqBqkD9U0gVvufUt/mVyI80aZww== dependencies: "@algolia/cache-common" "4.10.3" "@algolia/client-account@4.10.3": - "integrity" "sha512-S/IsJB4s+e1xYctdpW3nAbwrR2y3pjSo9X21fJGoiGeIpTRdvQG7nydgsLkhnhcgAdLnmqBapYyAqMGmlcyOkg==" - "resolved" "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.10.3.tgz" - "version" "4.10.3" + version "4.10.3" + resolved "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.10.3.tgz" + integrity sha512-S/IsJB4s+e1xYctdpW3nAbwrR2y3pjSo9X21fJGoiGeIpTRdvQG7nydgsLkhnhcgAdLnmqBapYyAqMGmlcyOkg== dependencies: "@algolia/client-common" "4.10.3" "@algolia/client-search" "4.10.3" "@algolia/transporter" "4.10.3" "@algolia/client-analytics@4.10.3": - "integrity" "sha512-vlHTbBqJktRgclh3v7bPQLfZvFIqY4erNFIZA5C7nisCj9oLeTgzefoUrr+R90+I+XjfoLxnmoeigS1Z1yg1vw==" - "resolved" "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.10.3.tgz" - "version" "4.10.3" + version "4.10.3" + resolved "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.10.3.tgz" + integrity sha512-vlHTbBqJktRgclh3v7bPQLfZvFIqY4erNFIZA5C7nisCj9oLeTgzefoUrr+R90+I+XjfoLxnmoeigS1Z1yg1vw== dependencies: "@algolia/client-common" "4.10.3" "@algolia/client-search" "4.10.3" @@ -60,94 +60,94 @@ "@algolia/transporter" "4.10.3" "@algolia/client-common@4.10.3": - "integrity" "sha512-uFyP2Z14jG2hsFRbAoavna6oJf4NTXaSDAZgouZUZlHlBp5elM38sjNeA5HR9/D9J/GjwaB1SgB7iUiIWYBB4w==" - "resolved" "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.10.3.tgz" - "version" "4.10.3" + version "4.10.3" + resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.10.3.tgz" + integrity sha512-uFyP2Z14jG2hsFRbAoavna6oJf4NTXaSDAZgouZUZlHlBp5elM38sjNeA5HR9/D9J/GjwaB1SgB7iUiIWYBB4w== dependencies: "@algolia/requester-common" "4.10.3" "@algolia/transporter" "4.10.3" "@algolia/client-personalization@4.10.3": - "integrity" "sha512-NS7Nx8EJ/nduGXT8CFo5z7kLF0jnFehTP3eC+z+GOEESH3rrs7uR12IZHxv5QhQswZa9vl925zCOZDcDVoENCg==" - "resolved" "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.10.3.tgz" - "version" "4.10.3" + version "4.10.3" + resolved "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.10.3.tgz" + integrity sha512-NS7Nx8EJ/nduGXT8CFo5z7kLF0jnFehTP3eC+z+GOEESH3rrs7uR12IZHxv5QhQswZa9vl925zCOZDcDVoENCg== dependencies: "@algolia/client-common" "4.10.3" "@algolia/requester-common" "4.10.3" "@algolia/transporter" "4.10.3" "@algolia/client-search@^4.9.1", "@algolia/client-search@4.10.3": - "integrity" "sha512-Zwnp2G94IrNFKWCG/k7epI5UswRkPvL9FCt7/slXe2bkjP2y/HA37gzRn+9tXoLVRwd7gBzrtOA4jFKIyjrtVw==" - "resolved" "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.10.3.tgz" - "version" "4.10.3" + version "4.10.3" + resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.10.3.tgz" + integrity sha512-Zwnp2G94IrNFKWCG/k7epI5UswRkPvL9FCt7/slXe2bkjP2y/HA37gzRn+9tXoLVRwd7gBzrtOA4jFKIyjrtVw== dependencies: "@algolia/client-common" "4.10.3" "@algolia/requester-common" "4.10.3" "@algolia/transporter" "4.10.3" "@algolia/logger-common@4.10.3": - "integrity" "sha512-M6xi+qov2bkgg1H9e1Qtvq/E/eKsGcgz8RBbXNzqPIYoDGZNkv+b3b8YMo3dxd4Wd6M24HU1iqF3kmr1LaXndg==" - "resolved" "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.10.3.tgz" - "version" "4.10.3" + version "4.10.3" + resolved "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.10.3.tgz" + integrity sha512-M6xi+qov2bkgg1H9e1Qtvq/E/eKsGcgz8RBbXNzqPIYoDGZNkv+b3b8YMo3dxd4Wd6M24HU1iqF3kmr1LaXndg== "@algolia/logger-console@4.10.3": - "integrity" "sha512-vVgRI7b4PHjgBdRkv/cRz490twvkLoGdpC4VYzIouSrKj8SIVLRhey3qgXk7oQXi3xoxVAv6NrklHfpO8Bpx0w==" - "resolved" "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.10.3.tgz" - "version" "4.10.3" + version "4.10.3" + resolved "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.10.3.tgz" + integrity sha512-vVgRI7b4PHjgBdRkv/cRz490twvkLoGdpC4VYzIouSrKj8SIVLRhey3qgXk7oQXi3xoxVAv6NrklHfpO8Bpx0w== dependencies: "@algolia/logger-common" "4.10.3" "@algolia/requester-browser-xhr@4.10.3": - "integrity" "sha512-4WIk1zreFbc1EF6+gsfBTQvwSNjWc20zJAAExRWql/Jq5yfVHmwOqi/CajA53/cXKFBqo80DAMRvOiwP+hOLYw==" - "resolved" "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.10.3.tgz" - "version" "4.10.3" + version "4.10.3" + resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.10.3.tgz" + integrity sha512-4WIk1zreFbc1EF6+gsfBTQvwSNjWc20zJAAExRWql/Jq5yfVHmwOqi/CajA53/cXKFBqo80DAMRvOiwP+hOLYw== dependencies: "@algolia/requester-common" "4.10.3" "@algolia/requester-common@4.10.3": - "integrity" "sha512-PNfLHmg0Hujugs3rx55uz/ifv7b9HVdSFQDb2hj0O5xZaBEuQCNOXC6COrXR8+9VEfqp2swpg7zwgtqFxh+BtQ==" - "resolved" "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.10.3.tgz" - "version" "4.10.3" + version "4.10.3" + resolved "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.10.3.tgz" + integrity sha512-PNfLHmg0Hujugs3rx55uz/ifv7b9HVdSFQDb2hj0O5xZaBEuQCNOXC6COrXR8+9VEfqp2swpg7zwgtqFxh+BtQ== "@algolia/requester-node-http@4.10.3": - "integrity" "sha512-A9ZcGfEvgqf0luJApdNcIhsRh6MShn2zn2tbjwjGG1joF81w+HUY+BWuLZn56vGwAA9ZB9n00IoJJpxibbfofg==" - "resolved" "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.10.3.tgz" - "version" "4.10.3" + version "4.10.3" + resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.10.3.tgz" + integrity sha512-A9ZcGfEvgqf0luJApdNcIhsRh6MShn2zn2tbjwjGG1joF81w+HUY+BWuLZn56vGwAA9ZB9n00IoJJpxibbfofg== dependencies: "@algolia/requester-common" "4.10.3" "@algolia/transporter@4.10.3": - "integrity" "sha512-n1lRyKDbrckbMEgm7QXtj3nEWUuzA3aKLzVQ43/F/RCFib15j4IwtmYhXR6OIBRSc7+T0Hm48S0J6F+HeYCQkw==" - "resolved" "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.10.3.tgz" - "version" "4.10.3" + version "4.10.3" + resolved "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.10.3.tgz" + integrity sha512-n1lRyKDbrckbMEgm7QXtj3nEWUuzA3aKLzVQ43/F/RCFib15j4IwtmYhXR6OIBRSc7+T0Hm48S0J6F+HeYCQkw== dependencies: "@algolia/cache-common" "4.10.3" "@algolia/logger-common" "4.10.3" "@algolia/requester-common" "4.10.3" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.5.5": - "integrity" "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==" - "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz" + integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== dependencies: "@babel/highlight" "^7.14.5" "@babel/code-frame@7.10.4": - "integrity" "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==" - "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz" + integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== dependencies: "@babel/highlight" "^7.10.4" "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.14.5", "@babel/compat-data@^7.14.7": - "integrity" "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==" - "resolved" "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz" - "version" "7.14.7" + version "7.14.7" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz" + integrity sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw== "@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.11.6", "@babel/core@^7.12.0", "@babel/core@^7.12.16", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.4.0-0": - "integrity" "sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==" - "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz" - "version" "7.14.6" + version "7.14.6" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz" + integrity sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA== dependencies: "@babel/code-frame" "^7.14.5" "@babel/generator" "^7.14.5" @@ -158,17 +158,17 @@ "@babel/template" "^7.14.5" "@babel/traverse" "^7.14.5" "@babel/types" "^7.14.5" - "convert-source-map" "^1.7.0" - "debug" "^4.1.0" - "gensync" "^1.0.0-beta.2" - "json5" "^2.1.2" - "semver" "^6.3.0" - "source-map" "^0.5.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + source-map "^0.5.0" "@babel/core@7.12.9": - "integrity" "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==" - "resolved" "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz" - "version" "7.12.9" + version "7.12.9" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz" + integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== dependencies: "@babel/code-frame" "^7.10.4" "@babel/generator" "^7.12.5" @@ -178,53 +178,53 @@ "@babel/template" "^7.12.7" "@babel/traverse" "^7.12.9" "@babel/types" "^7.12.7" - "convert-source-map" "^1.7.0" - "debug" "^4.1.0" - "gensync" "^1.0.0-beta.1" - "json5" "^2.1.2" - "lodash" "^4.17.19" - "resolve" "^1.3.2" - "semver" "^5.4.1" - "source-map" "^0.5.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" "@babel/generator@^7.12.15", "@babel/generator@^7.12.5", "@babel/generator@^7.14.5": - "integrity" "sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==" - "resolved" "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.14.5.tgz" + integrity sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA== dependencies: "@babel/types" "^7.14.5" - "jsesc" "^2.5.1" - "source-map" "^0.5.0" + jsesc "^2.5.1" + source-map "^0.5.0" "@babel/helper-annotate-as-pure@^7.14.5": - "integrity" "sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==" - "resolved" "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz" + integrity sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA== dependencies: "@babel/types" "^7.14.5" "@babel/helper-builder-binary-assignment-operator-visitor@^7.14.5": - "integrity" "sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w==" - "resolved" "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz" + integrity sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w== dependencies: "@babel/helper-explode-assignable-expression" "^7.14.5" "@babel/types" "^7.14.5" "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.14.5": - "integrity" "sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==" - "resolved" "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz" + integrity sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw== dependencies: "@babel/compat-data" "^7.14.5" "@babel/helper-validator-option" "^7.14.5" - "browserslist" "^4.16.6" - "semver" "^6.3.0" + browserslist "^4.16.6" + semver "^6.3.0" "@babel/helper-create-class-features-plugin@^7.14.5", "@babel/helper-create-class-features-plugin@^7.14.6": - "integrity" "sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg==" - "resolved" "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz" - "version" "7.14.6" + version "7.14.6" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz" + integrity sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg== dependencies: "@babel/helper-annotate-as-pure" "^7.14.5" "@babel/helper-function-name" "^7.14.5" @@ -234,75 +234,75 @@ "@babel/helper-split-export-declaration" "^7.14.5" "@babel/helper-create-regexp-features-plugin@^7.14.5": - "integrity" "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==" - "resolved" "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz" + integrity sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A== dependencies: "@babel/helper-annotate-as-pure" "^7.14.5" - "regexpu-core" "^4.7.1" + regexpu-core "^4.7.1" "@babel/helper-define-polyfill-provider@^0.2.2": - "integrity" "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==" - "resolved" "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz" - "version" "0.2.3" + version "0.2.3" + resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz" + integrity sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew== dependencies: "@babel/helper-compilation-targets" "^7.13.0" "@babel/helper-module-imports" "^7.12.13" "@babel/helper-plugin-utils" "^7.13.0" "@babel/traverse" "^7.13.0" - "debug" "^4.1.1" - "lodash.debounce" "^4.0.8" - "resolve" "^1.14.2" - "semver" "^6.1.2" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" "@babel/helper-explode-assignable-expression@^7.14.5": - "integrity" "sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz" + integrity sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ== dependencies: "@babel/types" "^7.14.5" "@babel/helper-function-name@^7.14.5": - "integrity" "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz" + integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== dependencies: "@babel/helper-get-function-arity" "^7.14.5" "@babel/template" "^7.14.5" "@babel/types" "^7.14.5" "@babel/helper-get-function-arity@^7.14.5": - "integrity" "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==" - "resolved" "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz" + integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== dependencies: "@babel/types" "^7.14.5" "@babel/helper-hoist-variables@^7.14.5": - "integrity" "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz" + integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== dependencies: "@babel/types" "^7.14.5" "@babel/helper-member-expression-to-functions@^7.14.5": - "integrity" "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==" - "resolved" "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz" - "version" "7.14.7" + version "7.14.7" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz" + integrity sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA== dependencies: "@babel/types" "^7.14.5" "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5": - "integrity" "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz" + integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== dependencies: "@babel/types" "^7.14.5" "@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.14.5": - "integrity" "sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==" - "resolved" "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz" + integrity sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA== dependencies: "@babel/helper-module-imports" "^7.14.5" "@babel/helper-replace-supers" "^7.14.5" @@ -314,35 +314,35 @@ "@babel/types" "^7.14.5" "@babel/helper-optimise-call-expression@^7.14.5": - "integrity" "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==" - "resolved" "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz" + integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA== dependencies: "@babel/types" "^7.14.5" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - "integrity" "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz" + integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== "@babel/helper-plugin-utils@7.10.4": - "integrity" "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==" - "resolved" "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz" - "version" "7.10.4" + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz" + integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== "@babel/helper-remap-async-to-generator@^7.14.5": - "integrity" "sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A==" - "resolved" "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz" + integrity sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A== dependencies: "@babel/helper-annotate-as-pure" "^7.14.5" "@babel/helper-wrap-function" "^7.14.5" "@babel/types" "^7.14.5" "@babel/helper-replace-supers@^7.14.5": - "integrity" "sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==" - "resolved" "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz" + integrity sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow== dependencies: "@babel/helper-member-expression-to-functions" "^7.14.5" "@babel/helper-optimise-call-expression" "^7.14.5" @@ -350,40 +350,40 @@ "@babel/types" "^7.14.5" "@babel/helper-simple-access@^7.14.5": - "integrity" "sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==" - "resolved" "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz" + integrity sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw== dependencies: "@babel/types" "^7.14.5" "@babel/helper-skip-transparent-expression-wrappers@^7.14.5": - "integrity" "sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz" + integrity sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ== dependencies: "@babel/types" "^7.14.5" "@babel/helper-split-export-declaration@^7.14.5": - "integrity" "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==" - "resolved" "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz" + integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== dependencies: "@babel/types" "^7.14.5" "@babel/helper-validator-identifier@^7.14.5": - "integrity" "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz" + integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg== "@babel/helper-validator-option@^7.14.5": - "integrity" "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==" - "resolved" "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz" + integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== "@babel/helper-wrap-function@^7.14.5": - "integrity" "sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ==" - "resolved" "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz" + integrity sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ== dependencies: "@babel/helper-function-name" "^7.14.5" "@babel/template" "^7.14.5" @@ -391,115 +391,115 @@ "@babel/types" "^7.14.5" "@babel/helpers@^7.12.5", "@babel/helpers@^7.14.6": - "integrity" "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==" - "resolved" "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz" - "version" "7.14.6" + version "7.14.6" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz" + integrity sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA== dependencies: "@babel/template" "^7.14.5" "@babel/traverse" "^7.14.5" "@babel/types" "^7.14.5" "@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5": - "integrity" "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==" - "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz" + integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== dependencies: "@babel/helper-validator-identifier" "^7.14.5" - "chalk" "^2.0.0" - "js-tokens" "^4.0.0" + chalk "^2.0.0" + js-tokens "^4.0.0" "@babel/parser@^7.12.16", "@babel/parser@^7.12.7", "@babel/parser@^7.14.5", "@babel/parser@^7.14.6", "@babel/parser@^7.14.7": - "integrity" "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==" - "resolved" "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz" - "version" "7.14.7" + version "7.14.7" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz" + integrity sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA== "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.14.5": - "integrity" "sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz" + integrity sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" "@babel/plugin-proposal-optional-chaining" "^7.14.5" "@babel/plugin-proposal-async-generator-functions@^7.14.7": - "integrity" "sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz" - "version" "7.14.7" + version "7.14.7" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz" + integrity sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-remap-async-to-generator" "^7.14.5" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-proposal-class-properties@^7.14.5": - "integrity" "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz" + integrity sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg== dependencies: "@babel/helper-create-class-features-plugin" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-proposal-class-static-block@^7.14.5": - "integrity" "sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz" + integrity sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg== dependencies: "@babel/helper-create-class-features-plugin" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-proposal-dynamic-import@^7.14.5": - "integrity" "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz" + integrity sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-proposal-export-namespace-from@^7.14.5": - "integrity" "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz" + integrity sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-proposal-json-strings@^7.14.5": - "integrity" "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz" + integrity sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-proposal-logical-assignment-operators@^7.14.5": - "integrity" "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz" + integrity sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5": - "integrity" "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz" + integrity sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-proposal-numeric-separator@^7.14.5": - "integrity" "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz" + integrity sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-proposal-object-rest-spread@^7.14.7": - "integrity" "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz" - "version" "7.14.7" + version "7.14.7" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz" + integrity sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g== dependencies: "@babel/compat-data" "^7.14.7" "@babel/helper-compilation-targets" "^7.14.5" @@ -508,43 +508,43 @@ "@babel/plugin-transform-parameters" "^7.14.5" "@babel/plugin-proposal-object-rest-spread@7.12.1": - "integrity" "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz" - "version" "7.12.1" + version "7.12.1" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz" + integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-transform-parameters" "^7.12.1" "@babel/plugin-proposal-optional-catch-binding@^7.14.5": - "integrity" "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz" + integrity sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-proposal-optional-chaining@^7.14.5": - "integrity" "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz" + integrity sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-proposal-private-methods@^7.14.5": - "integrity" "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz" + integrity sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g== dependencies: "@babel/helper-create-class-features-plugin" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-proposal-private-property-in-object@^7.14.5": - "integrity" "sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz" + integrity sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q== dependencies: "@babel/helper-annotate-as-pure" "^7.14.5" "@babel/helper-create-class-features-plugin" "^7.14.5" @@ -552,166 +552,166 @@ "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-proposal-unicode-property-regex@^7.14.5", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - "integrity" "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz" + integrity sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-async-generators@^7.8.4": - "integrity" "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" - "version" "7.8.4" + 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== dependencies: "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-class-properties@^7.12.13": - "integrity" "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" - "version" "7.12.13" + 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== dependencies: "@babel/helper-plugin-utils" "^7.12.13" "@babel/plugin-syntax-class-static-block@^7.14.5": - "integrity" "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" - "version" "7.14.5" + 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== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import@^7.8.3": - "integrity" "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" - "version" "7.8.3" + 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" "@babel/plugin-syntax-export-namespace-from@^7.8.3": - "integrity" "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" - "version" "7.8.3" + 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== dependencies: "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-json-strings@^7.8.3": - "integrity" "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" - "version" "7.8.3" + 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" "@babel/plugin-syntax-jsx@^7.14.5": - "integrity" "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz" + integrity sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-jsx@7.12.1": - "integrity" "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz" - "version" "7.12.1" + version "7.12.1" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz" + integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== dependencies: "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - "integrity" "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" - "version" "7.10.4" + 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" "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - "integrity" "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" - "version" "7.8.3" + 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" "@babel/plugin-syntax-numeric-separator@^7.10.4": - "integrity" "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" - "version" "7.10.4" + 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" "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3", "@babel/plugin-syntax-object-rest-spread@7.8.3": - "integrity" "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" - "version" "7.8.3" + 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" "@babel/plugin-syntax-optional-catch-binding@^7.8.3": - "integrity" "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" - "version" "7.8.3" + 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" "@babel/plugin-syntax-optional-chaining@^7.8.3": - "integrity" "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" - "version" "7.8.3" + 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" "@babel/plugin-syntax-private-property-in-object@^7.14.5": - "integrity" "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" - "version" "7.14.5" + 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" "@babel/plugin-syntax-top-level-await@^7.14.5": - "integrity" "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" - "version" "7.14.5" + 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" "@babel/plugin-syntax-typescript@^7.14.5": - "integrity" "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz" + integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-arrow-functions@^7.14.5": - "integrity" "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz" + integrity sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-async-to-generator@^7.14.5": - "integrity" "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz" + integrity sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA== dependencies: "@babel/helper-module-imports" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-remap-async-to-generator" "^7.14.5" "@babel/plugin-transform-block-scoped-functions@^7.14.5": - "integrity" "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz" + integrity sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-block-scoping@^7.14.5": - "integrity" "sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz" + integrity sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-classes@^7.14.5": - "integrity" "sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz" + integrity sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA== dependencies: "@babel/helper-annotate-as-pure" "^7.14.5" "@babel/helper-function-name" "^7.14.5" @@ -719,173 +719,173 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-replace-supers" "^7.14.5" "@babel/helper-split-export-declaration" "^7.14.5" - "globals" "^11.1.0" + globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.14.5": - "integrity" "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz" + integrity sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-destructuring@^7.14.7": - "integrity" "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz" - "version" "7.14.7" + version "7.14.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz" + integrity sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-dotall-regex@^7.14.5", "@babel/plugin-transform-dotall-regex@^7.4.4": - "integrity" "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz" + integrity sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-duplicate-keys@^7.14.5": - "integrity" "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz" + integrity sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-exponentiation-operator@^7.14.5": - "integrity" "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz" + integrity sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA== dependencies: "@babel/helper-builder-binary-assignment-operator-visitor" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-for-of@^7.14.5": - "integrity" "sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz" + integrity sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-function-name@^7.14.5": - "integrity" "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz" + integrity sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ== dependencies: "@babel/helper-function-name" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-literals@^7.14.5": - "integrity" "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz" + integrity sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-member-expression-literals@^7.14.5": - "integrity" "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz" + integrity sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-modules-amd@^7.14.5": - "integrity" "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz" + integrity sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g== dependencies: "@babel/helper-module-transforms" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" - "babel-plugin-dynamic-import-node" "^2.3.3" + babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-commonjs@^7.14.5": - "integrity" "sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz" + integrity sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A== dependencies: "@babel/helper-module-transforms" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-simple-access" "^7.14.5" - "babel-plugin-dynamic-import-node" "^2.3.3" + babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-systemjs@^7.14.5": - "integrity" "sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz" + integrity sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA== dependencies: "@babel/helper-hoist-variables" "^7.14.5" "@babel/helper-module-transforms" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-validator-identifier" "^7.14.5" - "babel-plugin-dynamic-import-node" "^2.3.3" + babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-modules-umd@^7.14.5": - "integrity" "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz" + integrity sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA== dependencies: "@babel/helper-module-transforms" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-named-capturing-groups-regex@^7.14.7": - "integrity" "sha512-DTNOTaS7TkW97xsDMrp7nycUVh6sn/eq22VaxWfEdzuEbRsiaOU0pqU7DlyUGHVsbQbSghvjKRpEl+nUCKGQSg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.7.tgz" - "version" "7.14.7" + version "7.14.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.7.tgz" + integrity sha512-DTNOTaS7TkW97xsDMrp7nycUVh6sn/eq22VaxWfEdzuEbRsiaOU0pqU7DlyUGHVsbQbSghvjKRpEl+nUCKGQSg== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.14.5" "@babel/plugin-transform-new-target@^7.14.5": - "integrity" "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz" + integrity sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-object-super@^7.14.5": - "integrity" "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz" + integrity sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-replace-supers" "^7.14.5" "@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.14.5": - "integrity" "sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz" + integrity sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-property-literals@^7.14.5": - "integrity" "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz" + integrity sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-react-constant-elements@^7.12.1": - "integrity" "sha512-NBqLEx1GxllIOXJInJAQbrnwwYJsV3WaMHIcOwD8rhYS0AabTWn7kHdHgPgu5RmHLU0q4DMxhAMu8ue/KampgQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.14.5.tgz" + integrity sha512-NBqLEx1GxllIOXJInJAQbrnwwYJsV3WaMHIcOwD8rhYS0AabTWn7kHdHgPgu5RmHLU0q4DMxhAMu8ue/KampgQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-react-display-name@^7.14.5": - "integrity" "sha512-07aqY1ChoPgIxsuDviptRpVkWCSbXWmzQqcgy65C6YSFOfPFvb/DX3bBRHh7pCd/PMEEYHYWUTSVkCbkVainYQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.5.tgz" + integrity sha512-07aqY1ChoPgIxsuDviptRpVkWCSbXWmzQqcgy65C6YSFOfPFvb/DX3bBRHh7pCd/PMEEYHYWUTSVkCbkVainYQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-react-jsx-development@^7.14.5": - "integrity" "sha512-rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.14.5.tgz" + integrity sha512-rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ== dependencies: "@babel/plugin-transform-react-jsx" "^7.14.5" "@babel/plugin-transform-react-jsx@^7.14.5": - "integrity" "sha512-7RylxNeDnxc1OleDm0F5Q/BSL+whYRbOAR+bwgCxIr0L32v7UFh/pz1DLMZideAUxKT6eMoS2zQH6fyODLEi8Q==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.5.tgz" + integrity sha512-7RylxNeDnxc1OleDm0F5Q/BSL+whYRbOAR+bwgCxIr0L32v7UFh/pz1DLMZideAUxKT6eMoS2zQH6fyODLEi8Q== dependencies: "@babel/helper-annotate-as-pure" "^7.14.5" "@babel/helper-module-imports" "^7.14.5" @@ -894,103 +894,103 @@ "@babel/types" "^7.14.5" "@babel/plugin-transform-react-pure-annotations@^7.14.5": - "integrity" "sha512-3X4HpBJimNxW4rhUy/SONPyNQHp5YRr0HhJdT2OH1BRp0of7u3Dkirc7x9FRJMKMqTBI079VZ1hzv7Ouuz///g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.14.5.tgz" + integrity sha512-3X4HpBJimNxW4rhUy/SONPyNQHp5YRr0HhJdT2OH1BRp0of7u3Dkirc7x9FRJMKMqTBI079VZ1hzv7Ouuz///g== dependencies: "@babel/helper-annotate-as-pure" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-regenerator@^7.14.5": - "integrity" "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz" + integrity sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg== dependencies: - "regenerator-transform" "^0.14.2" + regenerator-transform "^0.14.2" "@babel/plugin-transform-reserved-words@^7.14.5": - "integrity" "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz" + integrity sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-runtime@^7.12.15": - "integrity" "sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.5.tgz" + integrity sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg== dependencies: "@babel/helper-module-imports" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" - "babel-plugin-polyfill-corejs2" "^0.2.2" - "babel-plugin-polyfill-corejs3" "^0.2.2" - "babel-plugin-polyfill-regenerator" "^0.2.2" - "semver" "^6.3.0" + babel-plugin-polyfill-corejs2 "^0.2.2" + babel-plugin-polyfill-corejs3 "^0.2.2" + babel-plugin-polyfill-regenerator "^0.2.2" + semver "^6.3.0" "@babel/plugin-transform-shorthand-properties@^7.14.5": - "integrity" "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz" + integrity sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-spread@^7.14.6": - "integrity" "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz" - "version" "7.14.6" + version "7.14.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz" + integrity sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" "@babel/plugin-transform-sticky-regex@^7.14.5": - "integrity" "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz" + integrity sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-template-literals@^7.14.5": - "integrity" "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz" + integrity sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-typeof-symbol@^7.14.5": - "integrity" "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz" + integrity sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-typescript@^7.14.5": - "integrity" "sha512-XlTdBq7Awr4FYIzqhmYY80WN0V0azF74DMPyFqVHBvf81ZUgc4X7ZOpx6O8eLDK6iM5cCQzeyJw0ynTaefixRA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.6.tgz" - "version" "7.14.6" + version "7.14.6" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.6.tgz" + integrity sha512-XlTdBq7Awr4FYIzqhmYY80WN0V0azF74DMPyFqVHBvf81ZUgc4X7ZOpx6O8eLDK6iM5cCQzeyJw0ynTaefixRA== dependencies: "@babel/helper-create-class-features-plugin" "^7.14.6" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-typescript" "^7.14.5" "@babel/plugin-transform-unicode-escapes@^7.14.5": - "integrity" "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz" + integrity sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-unicode-regex@^7.14.5": - "integrity" "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==" - "resolved" "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz" + integrity sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.14.5" "@babel/helper-plugin-utils" "^7.14.5" "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.12.16": - "integrity" "sha512-itOGqCKLsSUl0Y+1nSfhbuuOlTs0MJk2Iv7iSH+XT/mR8U1zRLO7NjWlYXB47yhK4J/7j+HYty/EhFZDYKa/VA==" - "resolved" "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.7.tgz" - "version" "7.14.7" + version "7.14.7" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.7.tgz" + integrity sha512-itOGqCKLsSUl0Y+1nSfhbuuOlTs0MJk2Iv7iSH+XT/mR8U1zRLO7NjWlYXB47yhK4J/7j+HYty/EhFZDYKa/VA== dependencies: "@babel/compat-data" "^7.14.7" "@babel/helper-compilation-targets" "^7.14.5" @@ -1060,27 +1060,27 @@ "@babel/plugin-transform-unicode-regex" "^7.14.5" "@babel/preset-modules" "^0.1.4" "@babel/types" "^7.14.5" - "babel-plugin-polyfill-corejs2" "^0.2.2" - "babel-plugin-polyfill-corejs3" "^0.2.2" - "babel-plugin-polyfill-regenerator" "^0.2.2" - "core-js-compat" "^3.15.0" - "semver" "^6.3.0" + babel-plugin-polyfill-corejs2 "^0.2.2" + babel-plugin-polyfill-corejs3 "^0.2.2" + babel-plugin-polyfill-regenerator "^0.2.2" + core-js-compat "^3.15.0" + semver "^6.3.0" "@babel/preset-modules@^0.1.4": - "integrity" "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==" - "resolved" "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz" - "version" "0.1.4" + version "0.1.4" + resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz" + integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" "@babel/plugin-transform-dotall-regex" "^7.4.4" "@babel/types" "^7.4.4" - "esutils" "^2.0.2" + esutils "^2.0.2" "@babel/preset-react@^7.12.13", "@babel/preset-react@^7.12.5": - "integrity" "sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ==" - "resolved" "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.14.5.tgz" + integrity sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-validator-option" "^7.14.5" @@ -1090,42 +1090,42 @@ "@babel/plugin-transform-react-pure-annotations" "^7.14.5" "@babel/preset-typescript@^7.12.16": - "integrity" "sha512-u4zO6CdbRKbS9TypMqrlGH7sd2TAJppZwn3c/ZRLeO/wGsbddxgbPDUZVNrie3JWYLQ9vpineKlsrWFvO6Pwkw==" - "resolved" "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.14.5.tgz" + integrity sha512-u4zO6CdbRKbS9TypMqrlGH7sd2TAJppZwn3c/ZRLeO/wGsbddxgbPDUZVNrie3JWYLQ9vpineKlsrWFvO6Pwkw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-validator-option" "^7.14.5" "@babel/plugin-transform-typescript" "^7.14.5" "@babel/runtime-corejs3@^7.12.13": - "integrity" "sha512-Wvzcw4mBYbTagyBVZpAJWI06auSIj033T/yNE0Zn1xcup83MieCddZA7ls3kme17L4NOGBrQ09Q+nKB41RLWBA==" - "resolved" "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.7.tgz" - "version" "7.14.7" + version "7.14.7" + resolved "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.7.tgz" + integrity sha512-Wvzcw4mBYbTagyBVZpAJWI06auSIj033T/yNE0Zn1xcup83MieCddZA7ls3kme17L4NOGBrQ09Q+nKB41RLWBA== dependencies: - "core-js-pure" "^3.15.0" - "regenerator-runtime" "^0.13.4" + core-js-pure "^3.15.0" + regenerator-runtime "^0.13.4" "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.8.4": - "integrity" "sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==" - "resolved" "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.6.tgz" - "version" "7.14.6" + version "7.14.6" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.6.tgz" + integrity sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg== dependencies: - "regenerator-runtime" "^0.13.4" + regenerator-runtime "^0.13.4" "@babel/template@^7.12.7", "@babel/template@^7.14.5": - "integrity" "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==" - "resolved" "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz" + integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== dependencies: "@babel/code-frame" "^7.14.5" "@babel/parser" "^7.14.5" "@babel/types" "^7.14.5" "@babel/traverse@^7.12.13", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.5": - "integrity" "sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==" - "resolved" "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz" - "version" "7.14.7" + version "7.14.7" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz" + integrity sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ== dependencies: "@babel/code-frame" "^7.14.5" "@babel/generator" "^7.14.5" @@ -1134,36 +1134,36 @@ "@babel/helper-split-export-declaration" "^7.14.5" "@babel/parser" "^7.14.7" "@babel/types" "^7.14.5" - "debug" "^4.1.0" - "globals" "^11.1.0" + debug "^4.1.0" + globals "^11.1.0" "@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.14.5", "@babel/types@^7.4.4": - "integrity" "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==" - "resolved" "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz" - "version" "7.14.5" + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz" + integrity sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg== dependencies: "@babel/helper-validator-identifier" "^7.14.5" - "to-fast-properties" "^2.0.0" + to-fast-properties "^2.0.0" "@docsearch/css@3.0.0": - "integrity" "sha512-1kkV7tkAsiuEd0shunYRByKJe3xQDG2q7wYg24SOw1nV9/2lwEd4WrUYRJC/ukGTl2/kHeFxsaUvtiOy0y6fFA==" - "resolved" "https://registry.npmjs.org/@docsearch/css/-/css-3.0.0.tgz" - "version" "3.0.0" + version "3.0.0" + resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.0.0.tgz" + integrity sha512-1kkV7tkAsiuEd0shunYRByKJe3xQDG2q7wYg24SOw1nV9/2lwEd4WrUYRJC/ukGTl2/kHeFxsaUvtiOy0y6fFA== "@docsearch/react@^3.0.0", "@docsearch/react@^3.0.0-alpha.36": - "integrity" "sha512-yhMacqS6TVQYoBh/o603zszIb5Bl8MIXuOc6Vy617I74pirisDzzcNh0NEaYQt50fVVR3khUbeEhUEWEWipESg==" - "resolved" "https://registry.npmjs.org/@docsearch/react/-/react-3.0.0.tgz" - "version" "3.0.0" + version "3.0.0" + resolved "https://registry.npmjs.org/@docsearch/react/-/react-3.0.0.tgz" + integrity sha512-yhMacqS6TVQYoBh/o603zszIb5Bl8MIXuOc6Vy617I74pirisDzzcNh0NEaYQt50fVVR3khUbeEhUEWEWipESg== dependencies: "@algolia/autocomplete-core" "1.5.2" "@algolia/autocomplete-preset-algolia" "1.5.2" "@docsearch/css" "3.0.0" - "algoliasearch" "^4.0.0" + algoliasearch "^4.0.0" "@docusaurus/core@2.0.0-beta.3": - "integrity" "sha512-vzKmQsvOCte9odf0ZRU2h5UzdI1km5D0NU3Ee6xn06VydYZ169B1IF5KV1LWHSYklnsEmzizJ/jeopFCry0cGg==" - "resolved" "https://registry.npmjs.org/@docusaurus/core/-/core-2.0.0-beta.3.tgz" - "version" "2.0.0-beta.3" + version "2.0.0-beta.3" + resolved "https://registry.npmjs.org/@docusaurus/core/-/core-2.0.0-beta.3.tgz" + integrity sha512-vzKmQsvOCte9odf0ZRU2h5UzdI1km5D0NU3Ee6xn06VydYZ169B1IF5KV1LWHSYklnsEmzizJ/jeopFCry0cGg== dependencies: "@babel/core" "^7.12.16" "@babel/generator" "^7.12.15" @@ -1183,80 +1183,80 @@ "@docusaurus/utils-validation" "2.0.0-beta.3" "@slorber/static-site-generator-webpack-plugin" "^4.0.0" "@svgr/webpack" "^5.5.0" - "autoprefixer" "^10.2.5" - "babel-loader" "^8.2.2" - "babel-plugin-dynamic-import-node" "2.3.0" - "boxen" "^5.0.1" - "chalk" "^4.1.1" - "chokidar" "^3.5.1" - "clean-css" "^5.1.2" - "commander" "^5.1.0" - "copy-webpack-plugin" "^9.0.0" - "core-js" "^3.9.1" - "css-loader" "^5.1.1" - "css-minimizer-webpack-plugin" "^3.0.1" - "cssnano" "^5.0.4" - "del" "^6.0.0" - "detect-port" "^1.3.0" - "escape-html" "^1.0.3" - "eta" "^1.12.1" - "express" "^4.17.1" - "file-loader" "^6.2.0" - "fs-extra" "^10.0.0" - "github-slugger" "^1.3.0" - "globby" "^11.0.2" - "html-minifier-terser" "^5.1.1" - "html-tags" "^3.1.0" - "html-webpack-plugin" "^5.3.2" - "import-fresh" "^3.3.0" - "is-root" "^2.1.0" - "leven" "^3.1.0" - "lodash" "^4.17.20" - "mini-css-extract-plugin" "^1.6.0" - "module-alias" "^2.2.2" - "nprogress" "^0.2.0" - "postcss" "^8.2.15" - "postcss-loader" "^5.3.0" - "prompts" "^2.4.1" - "react-dev-utils" "^11.0.1" - "react-error-overlay" "^6.0.9" - "react-helmet" "^6.1.0" - "react-loadable" "^5.5.0" - "react-loadable-ssr-addon-v5-slorber" "^1.0.1" - "react-router" "^5.2.0" - "react-router-config" "^5.1.1" - "react-router-dom" "^5.2.0" - "resolve-pathname" "^3.0.0" - "rtl-detect" "^1.0.3" - "semver" "^7.3.4" - "serve-handler" "^6.1.3" - "shelljs" "^0.8.4" - "std-env" "^2.2.1" - "strip-ansi" "^6.0.0" - "terser-webpack-plugin" "^5.1.3" - "tslib" "^2.2.0" - "update-notifier" "^5.1.0" - "url-loader" "^4.1.1" - "wait-on" "^5.3.0" - "webpack" "^5.40.0" - "webpack-bundle-analyzer" "^4.4.2" - "webpack-dev-server" "^3.11.2" - "webpack-merge" "^5.8.0" - "webpackbar" "^5.0.0-3" + autoprefixer "^10.2.5" + babel-loader "^8.2.2" + babel-plugin-dynamic-import-node "2.3.0" + boxen "^5.0.1" + chalk "^4.1.1" + chokidar "^3.5.1" + clean-css "^5.1.2" + commander "^5.1.0" + copy-webpack-plugin "^9.0.0" + core-js "^3.9.1" + css-loader "^5.1.1" + css-minimizer-webpack-plugin "^3.0.1" + cssnano "^5.0.4" + del "^6.0.0" + detect-port "^1.3.0" + escape-html "^1.0.3" + eta "^1.12.1" + express "^4.17.1" + file-loader "^6.2.0" + fs-extra "^10.0.0" + github-slugger "^1.3.0" + globby "^11.0.2" + html-minifier-terser "^5.1.1" + html-tags "^3.1.0" + html-webpack-plugin "^5.3.2" + import-fresh "^3.3.0" + is-root "^2.1.0" + leven "^3.1.0" + lodash "^4.17.20" + mini-css-extract-plugin "^1.6.0" + module-alias "^2.2.2" + nprogress "^0.2.0" + postcss "^8.2.15" + postcss-loader "^5.3.0" + prompts "^2.4.1" + react-dev-utils "^11.0.1" + react-error-overlay "^6.0.9" + react-helmet "^6.1.0" + react-loadable "^5.5.0" + react-loadable-ssr-addon-v5-slorber "^1.0.1" + react-router "^5.2.0" + react-router-config "^5.1.1" + react-router-dom "^5.2.0" + resolve-pathname "^3.0.0" + rtl-detect "^1.0.3" + semver "^7.3.4" + serve-handler "^6.1.3" + shelljs "^0.8.4" + std-env "^2.2.1" + strip-ansi "^6.0.0" + terser-webpack-plugin "^5.1.3" + tslib "^2.2.0" + update-notifier "^5.1.0" + url-loader "^4.1.1" + wait-on "^5.3.0" + webpack "^5.40.0" + webpack-bundle-analyzer "^4.4.2" + webpack-dev-server "^3.11.2" + webpack-merge "^5.8.0" + webpackbar "^5.0.0-3" "@docusaurus/cssnano-preset@2.0.0-beta.3": - "integrity" "sha512-k7EkNPluB+TV++oZB8Je4EQ6Xs6cR0SvgIU9vdXm00qyPCu38MMfRwSY4HnsVUV797T/fQUD91zkuwhyXCUGLA==" - "resolved" "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.0-beta.3.tgz" - "version" "2.0.0-beta.3" + version "2.0.0-beta.3" + resolved "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-2.0.0-beta.3.tgz" + integrity sha512-k7EkNPluB+TV++oZB8Je4EQ6Xs6cR0SvgIU9vdXm00qyPCu38MMfRwSY4HnsVUV797T/fQUD91zkuwhyXCUGLA== dependencies: - "cssnano-preset-advanced" "^5.1.1" - "postcss" "^8.2.15" - "postcss-sort-media-queries" "^3.10.11" + cssnano-preset-advanced "^5.1.1" + postcss "^8.2.15" + postcss-sort-media-queries "^3.10.11" "@docusaurus/mdx-loader@2.0.0-beta.3": - "integrity" "sha512-xH6zjNokZD2D7Y+Af3gMO692lwfw5N3NzxuLqMF3D0HPHOLrokDeIeVPeY/EBJBxZiXgqWGZ/ESewNDU1ZUfRQ==" - "resolved" "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.0.0-beta.3.tgz" - "version" "2.0.0-beta.3" + version "2.0.0-beta.3" + resolved "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-2.0.0-beta.3.tgz" + integrity sha512-xH6zjNokZD2D7Y+Af3gMO692lwfw5N3NzxuLqMF3D0HPHOLrokDeIeVPeY/EBJBxZiXgqWGZ/ESewNDU1ZUfRQ== dependencies: "@babel/parser" "^7.12.16" "@babel/traverse" "^7.12.13" @@ -1264,127 +1264,127 @@ "@docusaurus/utils" "2.0.0-beta.3" "@mdx-js/mdx" "^1.6.21" "@mdx-js/react" "^1.6.21" - "escape-html" "^1.0.3" - "file-loader" "^6.2.0" - "fs-extra" "^10.0.0" - "github-slugger" "^1.3.0" - "gray-matter" "^4.0.3" - "mdast-util-to-string" "^2.0.0" - "remark-emoji" "^2.1.0" - "stringify-object" "^3.3.0" - "unist-util-visit" "^2.0.2" - "url-loader" "^4.1.1" - "webpack" "^5.40.0" + escape-html "^1.0.3" + file-loader "^6.2.0" + fs-extra "^10.0.0" + github-slugger "^1.3.0" + gray-matter "^4.0.3" + mdast-util-to-string "^2.0.0" + remark-emoji "^2.1.0" + stringify-object "^3.3.0" + unist-util-visit "^2.0.2" + url-loader "^4.1.1" + webpack "^5.40.0" "@docusaurus/plugin-content-blog@2.0.0-beta.3": - "integrity" "sha512-QynxHVzS3jItnDbmu9wkASyMxrduauqONVqYHrL4x2pC4kzSTIrcDnOK1JXUJAuDg9XY66ISWQ8dN7YZOpU+4Q==" - "resolved" "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.0-beta.3.tgz" - "version" "2.0.0-beta.3" + version "2.0.0-beta.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-2.0.0-beta.3.tgz" + integrity sha512-QynxHVzS3jItnDbmu9wkASyMxrduauqONVqYHrL4x2pC4kzSTIrcDnOK1JXUJAuDg9XY66ISWQ8dN7YZOpU+4Q== dependencies: "@docusaurus/core" "2.0.0-beta.3" "@docusaurus/mdx-loader" "2.0.0-beta.3" "@docusaurus/types" "2.0.0-beta.3" "@docusaurus/utils" "2.0.0-beta.3" "@docusaurus/utils-validation" "2.0.0-beta.3" - "chalk" "^4.1.1" - "escape-string-regexp" "^4.0.0" - "feed" "^4.2.2" - "fs-extra" "^10.0.0" - "globby" "^11.0.2" - "loader-utils" "^2.0.0" - "lodash" "^4.17.20" - "reading-time" "^1.3.0" - "remark-admonitions" "^1.2.1" - "tslib" "^2.2.0" - "webpack" "^5.40.0" + chalk "^4.1.1" + escape-string-regexp "^4.0.0" + feed "^4.2.2" + fs-extra "^10.0.0" + globby "^11.0.2" + loader-utils "^2.0.0" + lodash "^4.17.20" + reading-time "^1.3.0" + remark-admonitions "^1.2.1" + tslib "^2.2.0" + webpack "^5.40.0" "@docusaurus/plugin-content-docs@2.0.0-beta.3": - "integrity" "sha512-lB9UjDyFtq89tpyif+JDIJ/gtwtSTEwOBNTLAzOsg4ZIfNLfyifrWN4ci0TkZV0xShWUHqGp36/5XTpHRn1jJQ==" - "resolved" "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.0-beta.3.tgz" - "version" "2.0.0-beta.3" + version "2.0.0-beta.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-2.0.0-beta.3.tgz" + integrity sha512-lB9UjDyFtq89tpyif+JDIJ/gtwtSTEwOBNTLAzOsg4ZIfNLfyifrWN4ci0TkZV0xShWUHqGp36/5XTpHRn1jJQ== dependencies: "@docusaurus/core" "2.0.0-beta.3" "@docusaurus/mdx-loader" "2.0.0-beta.3" "@docusaurus/types" "2.0.0-beta.3" "@docusaurus/utils" "2.0.0-beta.3" "@docusaurus/utils-validation" "2.0.0-beta.3" - "chalk" "^4.1.1" - "combine-promises" "^1.1.0" - "escape-string-regexp" "^4.0.0" - "execa" "^5.0.0" - "fs-extra" "^10.0.0" - "globby" "^11.0.2" - "import-fresh" "^3.2.2" - "js-yaml" "^4.0.0" - "loader-utils" "^1.2.3" - "lodash" "^4.17.20" - "remark-admonitions" "^1.2.1" - "shelljs" "^0.8.4" - "tslib" "^2.2.0" - "utility-types" "^3.10.0" - "webpack" "^5.40.0" + chalk "^4.1.1" + combine-promises "^1.1.0" + escape-string-regexp "^4.0.0" + execa "^5.0.0" + fs-extra "^10.0.0" + globby "^11.0.2" + import-fresh "^3.2.2" + js-yaml "^4.0.0" + loader-utils "^1.2.3" + lodash "^4.17.20" + remark-admonitions "^1.2.1" + shelljs "^0.8.4" + tslib "^2.2.0" + utility-types "^3.10.0" + webpack "^5.40.0" "@docusaurus/plugin-content-pages@2.0.0-beta.3": - "integrity" "sha512-lV6ZoSkkVwN10kQLE4sEAubaEnzXjKBQBhMCx49wkrvRwKzjBoRnfWV8qAswN1KU2YZZL1ixFpcr8+oXvhxkuA==" - "resolved" "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.0-beta.3.tgz" - "version" "2.0.0-beta.3" + version "2.0.0-beta.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-2.0.0-beta.3.tgz" + integrity sha512-lV6ZoSkkVwN10kQLE4sEAubaEnzXjKBQBhMCx49wkrvRwKzjBoRnfWV8qAswN1KU2YZZL1ixFpcr8+oXvhxkuA== dependencies: "@docusaurus/core" "2.0.0-beta.3" "@docusaurus/mdx-loader" "2.0.0-beta.3" "@docusaurus/types" "2.0.0-beta.3" "@docusaurus/utils" "2.0.0-beta.3" "@docusaurus/utils-validation" "2.0.0-beta.3" - "globby" "^11.0.2" - "lodash" "^4.17.20" - "minimatch" "^3.0.4" - "remark-admonitions" "^1.2.1" - "slash" "^3.0.0" - "tslib" "^2.1.0" - "webpack" "^5.40.0" + globby "^11.0.2" + lodash "^4.17.20" + minimatch "^3.0.4" + remark-admonitions "^1.2.1" + slash "^3.0.0" + tslib "^2.1.0" + webpack "^5.40.0" "@docusaurus/plugin-debug@2.0.0-beta.3": - "integrity" "sha512-EeHUcCPsr9S1tsyRo42SnhrCCOlcvkcA8CR4pOofiJkG1gJ8IwhY9fNOLJM7dYs0bMtViiqXy5fD2jUib4G1jw==" - "resolved" "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.0.0-beta.3.tgz" - "version" "2.0.0-beta.3" + version "2.0.0-beta.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-2.0.0-beta.3.tgz" + integrity sha512-EeHUcCPsr9S1tsyRo42SnhrCCOlcvkcA8CR4pOofiJkG1gJ8IwhY9fNOLJM7dYs0bMtViiqXy5fD2jUib4G1jw== dependencies: "@docusaurus/core" "2.0.0-beta.3" "@docusaurus/types" "2.0.0-beta.3" "@docusaurus/utils" "2.0.0-beta.3" - "react-json-view" "^1.21.3" - "tslib" "^2.1.0" + react-json-view "^1.21.3" + tslib "^2.1.0" "@docusaurus/plugin-google-analytics@2.0.0-beta.3": - "integrity" "sha512-e6tO1FCIdAqIjcLAUaHugz/dErAP/wx67WyN6bWSdAMJRobmav+TFesE2iVzzIMxuRB3pY0Y7TtLL5dF5xpIsg==" - "resolved" "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.0-beta.3.tgz" - "version" "2.0.0-beta.3" + version "2.0.0-beta.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-2.0.0-beta.3.tgz" + integrity sha512-e6tO1FCIdAqIjcLAUaHugz/dErAP/wx67WyN6bWSdAMJRobmav+TFesE2iVzzIMxuRB3pY0Y7TtLL5dF5xpIsg== dependencies: "@docusaurus/core" "2.0.0-beta.3" "@docusaurus/plugin-google-gtag@2.0.0-beta.3": - "integrity" "sha512-p48CK7ZwThs9wc/UEv+zG3lZ/Eh4Rwg2c0MBBLYATGE+Wwh6HIyilhjQAj4dC6wf9iYvCZFXX2pNOr+cKKafIA==" - "resolved" "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.0-beta.3.tgz" - "version" "2.0.0-beta.3" + version "2.0.0-beta.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-2.0.0-beta.3.tgz" + integrity sha512-p48CK7ZwThs9wc/UEv+zG3lZ/Eh4Rwg2c0MBBLYATGE+Wwh6HIyilhjQAj4dC6wf9iYvCZFXX2pNOr+cKKafIA== dependencies: "@docusaurus/core" "2.0.0-beta.3" "@docusaurus/plugin-sitemap@2.0.0-beta.3": - "integrity" "sha512-ilEJ3Xb8zbShjGhdRHGAm4OZ0bUwFxtMtcTyqLlGmk9r0U2h0CWcaS+geJfLwgUJkwgKZfGdDrmTpmf8oeGQvw==" - "resolved" "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.0-beta.3.tgz" - "version" "2.0.0-beta.3" + version "2.0.0-beta.3" + resolved "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-2.0.0-beta.3.tgz" + integrity sha512-ilEJ3Xb8zbShjGhdRHGAm4OZ0bUwFxtMtcTyqLlGmk9r0U2h0CWcaS+geJfLwgUJkwgKZfGdDrmTpmf8oeGQvw== dependencies: "@docusaurus/core" "2.0.0-beta.3" "@docusaurus/types" "2.0.0-beta.3" "@docusaurus/utils" "2.0.0-beta.3" "@docusaurus/utils-common" "2.0.0-beta.3" "@docusaurus/utils-validation" "2.0.0-beta.3" - "fs-extra" "^10.0.0" - "sitemap" "^7.0.0" - "tslib" "^2.2.0" + fs-extra "^10.0.0" + sitemap "^7.0.0" + tslib "^2.2.0" "@docusaurus/preset-classic@2.0.0-beta.3": - "integrity" "sha512-32B/7X3H8XX5jBqg23veEqNJ0JtKCG0Va+7wTX9+B36tMyPnsq3H3m0m5XICfX/NGfPICfjw/oCN2CEAYFd47Q==" - "resolved" "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.0.0-beta.3.tgz" - "version" "2.0.0-beta.3" + version "2.0.0-beta.3" + resolved "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-2.0.0-beta.3.tgz" + integrity sha512-32B/7X3H8XX5jBqg23veEqNJ0JtKCG0Va+7wTX9+B36tMyPnsq3H3m0m5XICfX/NGfPICfjw/oCN2CEAYFd47Q== dependencies: "@docusaurus/core" "2.0.0-beta.3" "@docusaurus/plugin-content-blog" "2.0.0-beta.3" @@ -1398,16 +1398,16 @@ "@docusaurus/theme-search-algolia" "2.0.0-beta.3" "@docusaurus/react-loadable@5.5.0": - "integrity" "sha512-Ld/kwUE6yATIOTLq3JCsWiTa/drisajwKqBQ2Rw6IcT+sFsKfYek8F2jSH8f68AT73xX97UehduZeCSlnuCBIg==" - "resolved" "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.0.tgz" + integrity sha512-Ld/kwUE6yATIOTLq3JCsWiTa/drisajwKqBQ2Rw6IcT+sFsKfYek8F2jSH8f68AT73xX97UehduZeCSlnuCBIg== dependencies: - "prop-types" "^15.6.2" + prop-types "^15.6.2" "@docusaurus/theme-classic@2.0.0-beta.3": - "integrity" "sha512-d2I4r9FQ67hCTGq+fkz0tDNvpCLxm/HAtjuu+XsZkX6Snh50XpWYfwOD4w8oFbbup5Imli2q7Z8Q2+9izphizw==" - "resolved" "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.0.0-beta.3.tgz" - "version" "2.0.0-beta.3" + version "2.0.0-beta.3" + resolved "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-2.0.0-beta.3.tgz" + integrity sha512-d2I4r9FQ67hCTGq+fkz0tDNvpCLxm/HAtjuu+XsZkX6Snh50XpWYfwOD4w8oFbbup5Imli2q7Z8Q2+9izphizw== dependencies: "@docusaurus/core" "2.0.0-beta.3" "@docusaurus/plugin-content-blog" "2.0.0-beta.3" @@ -1420,243 +1420,243 @@ "@docusaurus/utils-validation" "2.0.0-beta.3" "@mdx-js/mdx" "^1.6.21" "@mdx-js/react" "^1.6.21" - "chalk" "^4.1.1" - "clsx" "^1.1.1" - "copy-text-to-clipboard" "^3.0.1" - "fs-extra" "^10.0.0" - "globby" "^11.0.2" - "infima" "0.2.0-alpha.26" - "lodash" "^4.17.20" - "parse-numeric-range" "^1.2.0" - "postcss" "^8.2.15" - "prism-react-renderer" "^1.2.1" - "prismjs" "^1.23.0" - "prop-types" "^15.7.2" - "react-router-dom" "^5.2.0" - "rtlcss" "^3.1.2" + chalk "^4.1.1" + clsx "^1.1.1" + copy-text-to-clipboard "^3.0.1" + fs-extra "^10.0.0" + globby "^11.0.2" + infima "0.2.0-alpha.26" + lodash "^4.17.20" + parse-numeric-range "^1.2.0" + postcss "^8.2.15" + prism-react-renderer "^1.2.1" + prismjs "^1.23.0" + prop-types "^15.7.2" + react-router-dom "^5.2.0" + rtlcss "^3.1.2" "@docusaurus/theme-common@2.0.0-beta.3": - "integrity" "sha512-XuiqpfQyOWGniN7d8uMfUQ3OmCc70u+O0ObPUONj7gFglCzwu33Izx05gNrV9ekhnpQ1pkPcvGU7Soe9Hc5i6g==" - "resolved" "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.0.0-beta.3.tgz" - "version" "2.0.0-beta.3" + version "2.0.0-beta.3" + resolved "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-2.0.0-beta.3.tgz" + integrity sha512-XuiqpfQyOWGniN7d8uMfUQ3OmCc70u+O0ObPUONj7gFglCzwu33Izx05gNrV9ekhnpQ1pkPcvGU7Soe9Hc5i6g== dependencies: "@docusaurus/core" "2.0.0-beta.3" "@docusaurus/plugin-content-blog" "2.0.0-beta.3" "@docusaurus/plugin-content-docs" "2.0.0-beta.3" "@docusaurus/plugin-content-pages" "2.0.0-beta.3" "@docusaurus/types" "2.0.0-beta.3" - "tslib" "^2.1.0" + tslib "^2.1.0" "@docusaurus/theme-search-algolia@2.0.0-beta.3": - "integrity" "sha512-fxWxcXGmqjwuA7zYRAbwqSANx3PVVjYUehV9SI28u5qq8U2tSYflhd1nGogM6guiV+Er6u8gwO91PL6wg3/vBA==" - "resolved" "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.0-beta.3.tgz" - "version" "2.0.0-beta.3" + version "2.0.0-beta.3" + resolved "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-2.0.0-beta.3.tgz" + integrity sha512-fxWxcXGmqjwuA7zYRAbwqSANx3PVVjYUehV9SI28u5qq8U2tSYflhd1nGogM6guiV+Er6u8gwO91PL6wg3/vBA== dependencies: "@docsearch/react" "^3.0.0-alpha.36" "@docusaurus/core" "2.0.0-beta.3" "@docusaurus/theme-common" "2.0.0-beta.3" "@docusaurus/utils" "2.0.0-beta.3" "@docusaurus/utils-validation" "2.0.0-beta.3" - "algoliasearch" "^4.8.4" - "algoliasearch-helper" "^3.3.4" - "clsx" "^1.1.1" - "eta" "^1.12.1" - "lodash" "^4.17.20" + algoliasearch "^4.8.4" + algoliasearch-helper "^3.3.4" + clsx "^1.1.1" + eta "^1.12.1" + lodash "^4.17.20" "@docusaurus/types@2.0.0-beta.3": - "integrity" "sha512-ivQ6L1ahju06ldTvFsZLQxcN6DP32iIB7DscxWVRqP0eyuyX2xAy+jrASqih3lB8lyw0JJaaDEeVE5fjroAQ/Q==" - "resolved" "https://registry.npmjs.org/@docusaurus/types/-/types-2.0.0-beta.3.tgz" - "version" "2.0.0-beta.3" + version "2.0.0-beta.3" + resolved "https://registry.npmjs.org/@docusaurus/types/-/types-2.0.0-beta.3.tgz" + integrity sha512-ivQ6L1ahju06ldTvFsZLQxcN6DP32iIB7DscxWVRqP0eyuyX2xAy+jrASqih3lB8lyw0JJaaDEeVE5fjroAQ/Q== dependencies: - "commander" "^5.1.0" - "joi" "^17.4.0" - "querystring" "0.2.0" - "webpack" "^5.40.0" - "webpack-merge" "^5.8.0" + commander "^5.1.0" + joi "^17.4.0" + querystring "0.2.0" + webpack "^5.40.0" + webpack-merge "^5.8.0" "@docusaurus/utils-common@2.0.0-beta.3": - "integrity" "sha512-KJgDN4G2MzJcHy+OR2e/xgEwRy+vX26pzwtjPkRjNf24CPa0BwFbRmR5apbltCgTB10vT6xroStc8Quv/286Cg==" - "resolved" "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.0.0-beta.3.tgz" - "version" "2.0.0-beta.3" + version "2.0.0-beta.3" + resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-2.0.0-beta.3.tgz" + integrity sha512-KJgDN4G2MzJcHy+OR2e/xgEwRy+vX26pzwtjPkRjNf24CPa0BwFbRmR5apbltCgTB10vT6xroStc8Quv/286Cg== dependencies: "@docusaurus/types" "2.0.0-beta.3" - "tslib" "^2.2.0" + tslib "^2.2.0" "@docusaurus/utils-validation@2.0.0-beta.3": - "integrity" "sha512-jGX78NNrxDZFgDjLaa6wuJ/eKDoHdZFG2CVX3uCaIGe1x8eTMG2/e/39GzbZl+W7VHYpW0bzdf/5dFhaKLfQbQ==" - "resolved" "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.0.0-beta.3.tgz" - "version" "2.0.0-beta.3" + version "2.0.0-beta.3" + resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-2.0.0-beta.3.tgz" + integrity sha512-jGX78NNrxDZFgDjLaa6wuJ/eKDoHdZFG2CVX3uCaIGe1x8eTMG2/e/39GzbZl+W7VHYpW0bzdf/5dFhaKLfQbQ== dependencies: "@docusaurus/utils" "2.0.0-beta.3" - "chalk" "^4.1.1" - "joi" "^17.4.0" - "tslib" "^2.1.0" + chalk "^4.1.1" + joi "^17.4.0" + tslib "^2.1.0" "@docusaurus/utils@2.0.0-beta.3": - "integrity" "sha512-DApc6xcb3CvvsBCfRU6Zk3KoZa4mZfCJA4XRv5zhlhaSb0GFuAo7KQ353RUu6d0eYYylY3GGRABXkxRE1SEClA==" - "resolved" "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.0.0-beta.3.tgz" - "version" "2.0.0-beta.3" + version "2.0.0-beta.3" + resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.0.0-beta.3.tgz" + integrity sha512-DApc6xcb3CvvsBCfRU6Zk3KoZa4mZfCJA4XRv5zhlhaSb0GFuAo7KQ353RUu6d0eYYylY3GGRABXkxRE1SEClA== dependencies: "@docusaurus/types" "2.0.0-beta.3" "@types/github-slugger" "^1.3.0" - "chalk" "^4.1.1" - "escape-string-regexp" "^4.0.0" - "fs-extra" "^10.0.0" - "gray-matter" "^4.0.3" - "lodash" "^4.17.20" - "resolve-pathname" "^3.0.0" - "tslib" "^2.2.0" + chalk "^4.1.1" + escape-string-regexp "^4.0.0" + fs-extra "^10.0.0" + gray-matter "^4.0.3" + lodash "^4.17.20" + resolve-pathname "^3.0.0" + tslib "^2.2.0" "@hapi/hoek@^9.0.0": - "integrity" "sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug==" - "resolved" "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.0.tgz" - "version" "9.2.0" + version "9.2.0" + resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.0.tgz" + integrity sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug== "@hapi/topo@^5.0.0": - "integrity" "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==" - "resolved" "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz" - "version" "5.1.0" + 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" "@mdx-js/mdx@^1.6.21": - "integrity" "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==" - "resolved" "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz" - "version" "1.6.22" + version "1.6.22" + resolved "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz" + integrity sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA== dependencies: "@babel/core" "7.12.9" "@babel/plugin-syntax-jsx" "7.12.1" "@babel/plugin-syntax-object-rest-spread" "7.8.3" "@mdx-js/util" "1.6.22" - "babel-plugin-apply-mdx-type-prop" "1.6.22" - "babel-plugin-extract-import-names" "1.6.22" - "camelcase-css" "2.0.1" - "detab" "2.0.4" - "hast-util-raw" "6.0.1" - "lodash.uniq" "4.5.0" - "mdast-util-to-hast" "10.0.1" - "remark-footnotes" "2.0.0" - "remark-mdx" "1.6.22" - "remark-parse" "8.0.3" - "remark-squeeze-paragraphs" "4.0.0" - "style-to-object" "0.3.0" - "unified" "9.2.0" - "unist-builder" "2.0.3" - "unist-util-visit" "2.0.3" + babel-plugin-apply-mdx-type-prop "1.6.22" + babel-plugin-extract-import-names "1.6.22" + camelcase-css "2.0.1" + detab "2.0.4" + hast-util-raw "6.0.1" + lodash.uniq "4.5.0" + mdast-util-to-hast "10.0.1" + remark-footnotes "2.0.0" + remark-mdx "1.6.22" + remark-parse "8.0.3" + remark-squeeze-paragraphs "4.0.0" + style-to-object "0.3.0" + unified "9.2.0" + unist-builder "2.0.3" + unist-util-visit "2.0.3" "@mdx-js/react@^1.6.21": - "integrity" "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==" - "resolved" "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz" - "version" "1.6.22" + version "1.6.22" + resolved "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz" + integrity sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg== "@mdx-js/util@1.6.22": - "integrity" "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==" - "resolved" "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz" - "version" "1.6.22" + version "1.6.22" + resolved "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz" + integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA== "@nodelib/fs.scandir@2.1.5": - "integrity" "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - "version" "2.1.5" + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" - "run-parallel" "^1.1.9" + run-parallel "^1.1.9" "@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": - "integrity" "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - "version" "2.0.5" + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": - "integrity" "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==" - "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - "version" "1.2.8" + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" - "fastq" "^1.6.0" + fastq "^1.6.0" "@polka/url@^1.0.0-next.15": - "integrity" "sha512-15spi3V28QdevleWBNXE4pIls3nFZmBbUGrW9IVPwiQczuSb9n76TCB4bsk8TSel+I1OkHEdPhu5QKMfY6rQHA==" - "resolved" "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.15.tgz" - "version" "1.0.0-next.15" + version "1.0.0-next.15" + resolved "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.15.tgz" + integrity sha512-15spi3V28QdevleWBNXE4pIls3nFZmBbUGrW9IVPwiQczuSb9n76TCB4bsk8TSel+I1OkHEdPhu5QKMfY6rQHA== "@sideway/address@^4.1.0": - "integrity" "sha512-idTz8ibqWFrPU8kMirL0CoPH/A29XOzzAzpyN3zQ4kAWnzmNfFmRaoMNN6VI8ske5M73HZyhIaW4OuSFIdM4oA==" - "resolved" "https://registry.npmjs.org/@sideway/address/-/address-4.1.2.tgz" - "version" "4.1.2" + version "4.1.2" + resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.2.tgz" + integrity sha512-idTz8ibqWFrPU8kMirL0CoPH/A29XOzzAzpyN3zQ4kAWnzmNfFmRaoMNN6VI8ske5M73HZyhIaW4OuSFIdM4oA== dependencies: "@hapi/hoek" "^9.0.0" "@sideway/formula@^3.0.0": - "integrity" "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" - "resolved" "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz" - "version" "3.0.0" + version "3.0.0" + resolved "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz" + integrity sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg== "@sideway/pinpoint@^2.0.0": - "integrity" "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" - "resolved" "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" - "version" "2.0.0" + version "2.0.0" + resolved "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" + integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== "@sindresorhus/is@^0.14.0": - "integrity" "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" - "resolved" "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" - "version" "0.14.0" + version "0.14.0" + resolved "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz" + integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== "@slorber/static-site-generator-webpack-plugin@^4.0.0": - "integrity" "sha512-PSv4RIVO1Y3kvHxjvqeVisk3E9XFoO04uwYBDWe217MFqKspplYswTuKLiJu0aLORQWzuQjfVsSlLPojwfYsLw==" - "resolved" "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.1.tgz" - "version" "4.0.1" + version "4.0.1" + resolved "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.1.tgz" + integrity sha512-PSv4RIVO1Y3kvHxjvqeVisk3E9XFoO04uwYBDWe217MFqKspplYswTuKLiJu0aLORQWzuQjfVsSlLPojwfYsLw== dependencies: - "bluebird" "^3.7.1" - "cheerio" "^0.22.0" - "eval" "^0.1.4" - "url" "^0.11.0" - "webpack-sources" "^1.4.3" + bluebird "^3.7.1" + cheerio "^0.22.0" + eval "^0.1.4" + url "^0.11.0" + webpack-sources "^1.4.3" "@svgr/babel-plugin-add-jsx-attribute@^5.4.0": - "integrity" "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz" - "version" "5.4.0" + version "5.4.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz" + integrity sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg== "@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": - "integrity" "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz" - "version" "5.4.0" + version "5.4.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz" + integrity sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg== "@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": - "integrity" "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz" - "version" "5.0.1" + version "5.0.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz" + integrity sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA== "@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": - "integrity" "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz" - "version" "5.0.1" + version "5.0.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz" + integrity sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ== "@svgr/babel-plugin-svg-dynamic-title@^5.4.0": - "integrity" "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz" - "version" "5.4.0" + version "5.4.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz" + integrity sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg== "@svgr/babel-plugin-svg-em-dimensions@^5.4.0": - "integrity" "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz" - "version" "5.4.0" + version "5.4.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz" + integrity sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw== "@svgr/babel-plugin-transform-react-native-svg@^5.4.0": - "integrity" "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz" - "version" "5.4.0" + version "5.4.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz" + integrity sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q== "@svgr/babel-plugin-transform-svg-component@^5.5.0": - "integrity" "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==" - "resolved" "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz" + integrity sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ== "@svgr/babel-preset@^5.5.0": - "integrity" "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==" - "resolved" "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz" + integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig== dependencies: "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" "@svgr/babel-plugin-remove-jsx-attribute" "^5.4.0" @@ -1668,44 +1668,44 @@ "@svgr/babel-plugin-transform-svg-component" "^5.5.0" "@svgr/core@^5.5.0": - "integrity" "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==" - "resolved" "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz" + integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ== dependencies: "@svgr/plugin-jsx" "^5.5.0" - "camelcase" "^6.2.0" - "cosmiconfig" "^7.0.0" + camelcase "^6.2.0" + cosmiconfig "^7.0.0" "@svgr/hast-util-to-babel-ast@^5.5.0": - "integrity" "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==" - "resolved" "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz" + integrity sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ== dependencies: "@babel/types" "^7.12.6" "@svgr/plugin-jsx@^5.5.0": - "integrity" "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==" - "resolved" "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz" + integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA== dependencies: "@babel/core" "^7.12.3" "@svgr/babel-preset" "^5.5.0" "@svgr/hast-util-to-babel-ast" "^5.5.0" - "svg-parser" "^2.0.2" + svg-parser "^2.0.2" "@svgr/plugin-svgo@^5.5.0": - "integrity" "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==" - "resolved" "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz" + integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ== dependencies: - "cosmiconfig" "^7.0.0" - "deepmerge" "^4.2.2" - "svgo" "^1.2.2" + cosmiconfig "^7.0.0" + deepmerge "^4.2.2" + svgo "^1.2.2" "@svgr/webpack@^5.5.0": - "integrity" "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==" - "resolved" "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz" - "version" "5.5.0" + version "5.5.0" + resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz" + integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g== dependencies: "@babel/core" "^7.12.3" "@babel/plugin-transform-react-constant-elements" "^7.12.1" @@ -1714,180 +1714,180 @@ "@svgr/core" "^5.5.0" "@svgr/plugin-jsx" "^5.5.0" "@svgr/plugin-svgo" "^5.5.0" - "loader-utils" "^2.0.0" + loader-utils "^2.0.0" "@szmarczak/http-timer@^1.1.2": - "integrity" "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==" - "resolved" "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz" - "version" "1.1.2" + version "1.1.2" + resolved "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz" + integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== dependencies: - "defer-to-connect" "^1.0.1" + defer-to-connect "^1.0.1" "@trysound/sax@0.1.1": - "integrity" "sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow==" - "resolved" "https://registry.npmjs.org/@trysound/sax/-/sax-0.1.1.tgz" - "version" "0.1.1" + version "0.1.1" + resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.1.1.tgz" + integrity sha512-Z6DoceYb/1xSg5+e+ZlPZ9v0N16ZvZ+wYMraFue4HYrE4ttONKtsvruIRf6t9TBR0YvSOfi1hUU0fJfBLCDYow== "@types/eslint-scope@^3.7.0": - "integrity" "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==" - "resolved" "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz" - "version" "3.7.1" + version "3.7.1" + resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz" + integrity sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - "integrity" "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==" - "resolved" "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz" - "version" "7.28.0" + version "7.28.0" + resolved "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz" + integrity sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A== dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree@*", "@types/estree@^0.0.50": - "integrity" "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==" - "resolved" "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz" - "version" "0.0.50" + version "0.0.50" + resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz" + integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== "@types/github-slugger@^1.3.0": - "integrity" "sha512-J/rMZa7RqiH/rT29TEVZO4nBoDP9XJOjnbbIofg7GQKs4JIduEO3WLpte+6WeUz/TcrXKlY+bM7FYrp8yFB+3g==" - "resolved" "https://registry.npmjs.org/@types/github-slugger/-/github-slugger-1.3.0.tgz" - "version" "1.3.0" + version "1.3.0" + resolved "https://registry.npmjs.org/@types/github-slugger/-/github-slugger-1.3.0.tgz" + integrity sha512-J/rMZa7RqiH/rT29TEVZO4nBoDP9XJOjnbbIofg7GQKs4JIduEO3WLpte+6WeUz/TcrXKlY+bM7FYrp8yFB+3g== "@types/glob@^7.1.1": - "integrity" "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==" - "resolved" "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz" - "version" "7.1.4" + version "7.1.4" + resolved "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz" + integrity sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA== dependencies: "@types/minimatch" "*" "@types/node" "*" "@types/hast@^2.0.0": - "integrity" "sha512-Op5W7jYgZI7AWKY5wQ0/QNMzQM7dGQPyW1rXKNiymVCy5iTfdPuGu4HhYNOM2sIv8gUfIuIdcYlXmAepwaowow==" - "resolved" "https://registry.npmjs.org/@types/hast/-/hast-2.3.2.tgz" - "version" "2.3.2" + version "2.3.2" + resolved "https://registry.npmjs.org/@types/hast/-/hast-2.3.2.tgz" + integrity sha512-Op5W7jYgZI7AWKY5wQ0/QNMzQM7dGQPyW1rXKNiymVCy5iTfdPuGu4HhYNOM2sIv8gUfIuIdcYlXmAepwaowow== dependencies: "@types/unist" "*" "@types/html-minifier-terser@^5.0.0": - "integrity" "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==" - "resolved" "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz" - "version" "5.1.2" + version "5.1.2" + resolved "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz" + integrity sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w== "@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7": - "integrity" "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==" - "resolved" "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz" - "version" "7.0.8" + version "7.0.8" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz" + integrity sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg== "@types/mdast@^3.0.0": - "integrity" "sha512-gIdhbLDFlspL53xzol2hVzrXAbzt71erJHoOwQZWssjaiouOotf03lNtMmFm9VfFkvnLWccSVjUAZGQ5Kqw+jA==" - "resolved" "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.4.tgz" - "version" "3.0.4" + version "3.0.4" + resolved "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.4.tgz" + integrity sha512-gIdhbLDFlspL53xzol2hVzrXAbzt71erJHoOwQZWssjaiouOotf03lNtMmFm9VfFkvnLWccSVjUAZGQ5Kqw+jA== dependencies: "@types/unist" "*" "@types/minimatch@*": - "integrity" "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" - "resolved" "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz" - "version" "3.0.5" + version "3.0.5" + resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== "@types/node@*": - "integrity" "sha512-dsfE4BHJkLQW+reOS6b17xhZ/6FB1rB8eRRvO08nn5o+voxf3i74tuyFWNH6djdfgX7Sm5s6LD8t6mJug4dpDw==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-12.11.2.tgz" - "version" "12.11.2" + version "12.11.2" + resolved "https://registry.npmjs.org/@types/node/-/node-12.11.2.tgz" + integrity sha512-dsfE4BHJkLQW+reOS6b17xhZ/6FB1rB8eRRvO08nn5o+voxf3i74tuyFWNH6djdfgX7Sm5s6LD8t6mJug4dpDw== "@types/node@^15.0.1": - "integrity" "sha512-dvMUE/m2LbXPwlvVuzCyslTEtQ2ZwuuFClDrOQ6mp2CenCg971719PTILZ4I6bTP27xfFFc+o7x2TkLuun/MPw==" - "resolved" "https://registry.npmjs.org/@types/node/-/node-15.14.2.tgz" - "version" "15.14.2" + version "15.14.2" + resolved "https://registry.npmjs.org/@types/node/-/node-15.14.2.tgz" + integrity sha512-dvMUE/m2LbXPwlvVuzCyslTEtQ2ZwuuFClDrOQ6mp2CenCg971719PTILZ4I6bTP27xfFFc+o7x2TkLuun/MPw== "@types/parse-json@^4.0.0": - "integrity" "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" - "resolved" "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" - "version" "4.0.0" + version "4.0.0" + resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/parse5@^5.0.0": - "integrity" "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==" - "resolved" "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz" - "version" "5.0.3" + version "5.0.3" + resolved "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz" + integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== "@types/prop-types@*": - "integrity" "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==" - "resolved" "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz" - "version" "15.7.4" + version "15.7.4" + resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz" + integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== "@types/q@^1.5.1": - "integrity" "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" - "resolved" "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz" - "version" "1.5.5" + version "1.5.5" + resolved "https://registry.npmjs.org/@types/q/-/q-1.5.5.tgz" + integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== "@types/react@^16.14.11", "@types/react@>= 16.8.0 < 18.0.0": - "integrity" "sha512-Don0MtsZZ3fjwTJ2BsoqkyOy7e176KplEAKOpr/4XDdzinlyJBn9yfsKn5mcSgn4kh1B22+3tBnzBC1z63ybtQ==" - "resolved" "https://registry.npmjs.org/@types/react/-/react-16.14.11.tgz" - "version" "16.14.11" + version "16.14.11" + resolved "https://registry.npmjs.org/@types/react/-/react-16.14.11.tgz" + integrity sha512-Don0MtsZZ3fjwTJ2BsoqkyOy7e176KplEAKOpr/4XDdzinlyJBn9yfsKn5mcSgn4kh1B22+3tBnzBC1z63ybtQ== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" - "csstype" "^3.0.2" + csstype "^3.0.2" "@types/sax@^1.2.1": - "integrity" "sha512-nfnUx5UQ1R+/riXydS0UyYJiqtxgOeObr9Hw8xSTtpB4LNoHa1z31rsvGXN0JKz/7/kDXw0bT2Q/VQkXAbCYoA==" - "resolved" "https://registry.npmjs.org/@types/sax/-/sax-1.2.2.tgz" - "version" "1.2.2" + version "1.2.2" + resolved "https://registry.npmjs.org/@types/sax/-/sax-1.2.2.tgz" + integrity sha512-nfnUx5UQ1R+/riXydS0UyYJiqtxgOeObr9Hw8xSTtpB4LNoHa1z31rsvGXN0JKz/7/kDXw0bT2Q/VQkXAbCYoA== dependencies: "@types/node" "*" "@types/scheduler@*": - "integrity" "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" - "resolved" "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz" - "version" "0.16.2" + version "0.16.2" + resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz" + integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== "@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": - "integrity" "sha512-wnra4Vw9dopnuybR6HBywJ/URYpYrKLoepBTEtgfJup8Ahoi2zJECPP2cwiXp7btTvOT2CULv87aQRA4eZSP6g==" - "resolved" "https://registry.npmjs.org/@types/unist/-/unist-2.0.5.tgz" - "version" "2.0.5" + version "2.0.5" + resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.5.tgz" + integrity sha512-wnra4Vw9dopnuybR6HBywJ/URYpYrKLoepBTEtgfJup8Ahoi2zJECPP2cwiXp7btTvOT2CULv87aQRA4eZSP6g== "@webassemblyjs/ast@1.11.1": - "integrity" "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz" + integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== dependencies: "@webassemblyjs/helper-numbers" "1.11.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.1" "@webassemblyjs/floating-point-hex-parser@1.11.1": - "integrity" "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz" + integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== "@webassemblyjs/helper-api-error@1.11.1": - "integrity" "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz" + integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== "@webassemblyjs/helper-buffer@1.11.1": - "integrity" "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz" + integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== "@webassemblyjs/helper-numbers@1.11.1": - "integrity" "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz" + integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== dependencies: "@webassemblyjs/floating-point-hex-parser" "1.11.1" "@webassemblyjs/helper-api-error" "1.11.1" "@xtuc/long" "4.2.2" "@webassemblyjs/helper-wasm-bytecode@1.11.1": - "integrity" "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz" + integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== "@webassemblyjs/helper-wasm-section@1.11.1": - "integrity" "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz" + integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -1895,28 +1895,28 @@ "@webassemblyjs/wasm-gen" "1.11.1" "@webassemblyjs/ieee754@1.11.1": - "integrity" "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz" + integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== dependencies: "@xtuc/ieee754" "^1.2.0" "@webassemblyjs/leb128@1.11.1": - "integrity" "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz" + integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== dependencies: "@xtuc/long" "4.2.2" "@webassemblyjs/utf8@1.11.1": - "integrity" "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz" + integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== "@webassemblyjs/wasm-edit@1.11.1": - "integrity" "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz" + integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -1928,9 +1928,9 @@ "@webassemblyjs/wast-printer" "1.11.1" "@webassemblyjs/wasm-gen@1.11.1": - "integrity" "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz" + integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-wasm-bytecode" "1.11.1" @@ -1939,9 +1939,9 @@ "@webassemblyjs/utf8" "1.11.1" "@webassemblyjs/wasm-opt@1.11.1": - "integrity" "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz" + integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-buffer" "1.11.1" @@ -1949,9 +1949,9 @@ "@webassemblyjs/wasm-parser" "1.11.1" "@webassemblyjs/wasm-parser@1.11.1": - "integrity" "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz" + integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== dependencies: "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/helper-api-error" "1.11.1" @@ -1961,85 +1961,85 @@ "@webassemblyjs/utf8" "1.11.1" "@webassemblyjs/wast-printer@1.11.1": - "integrity" "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==" - "resolved" "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz" - "version" "1.11.1" + version "1.11.1" + resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz" + integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== dependencies: "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": - "integrity" "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" - "resolved" "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" - "version" "1.2.0" + version "1.2.0" + resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== "@xtuc/long@4.2.2": - "integrity" "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" - "resolved" "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" - "version" "4.2.2" - -"accepts@~1.3.4", "accepts@~1.3.5", "accepts@~1.3.7": - "integrity" "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==" - "resolved" "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz" - "version" "1.3.7" - dependencies: - "mime-types" "~2.1.24" - "negotiator" "0.6.2" - -"acorn-walk@^8.0.0": - "integrity" "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==" - "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz" - "version" "8.1.1" - -"acorn@^8.0.4", "acorn@^8.4.1": - "integrity" "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==" - "resolved" "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz" - "version" "8.4.1" - -"address@^1.0.1", "address@1.1.2": - "integrity" "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==" - "resolved" "https://registry.npmjs.org/address/-/address-1.1.2.tgz" - "version" "1.1.2" - -"aggregate-error@^3.0.0": - "integrity" "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==" - "resolved" "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "clean-stack" "^2.0.0" - "indent-string" "^4.0.0" - -"ajv-errors@^1.0.0": - "integrity" "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" - "resolved" "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz" - "version" "1.0.1" - -"ajv-keywords@^3.1.0", "ajv-keywords@^3.5.2": - "integrity" "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" - "resolved" "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - "version" "3.5.2" - -"ajv@^6.1.0", "ajv@^6.12.4", "ajv@^6.12.5", "ajv@^6.9.1", "ajv@>=5.0.0": - "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==" - "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - "version" "6.12.6" - 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" - -"algoliasearch-helper@^3.3.4": - "integrity" "sha512-t+FLhXYnPZiwjYe5ExyN962HQY8mi3KwRju3Lyf6OBgtRdx30d6mqvtClXf5NeBihH45Xzj6t4Y5YyvAI432XA==" - "resolved" "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.5.4.tgz" - "version" "3.5.4" - dependencies: - "events" "^1.1.1" - -"algoliasearch@^4.0.0", "algoliasearch@^4.8.4", "algoliasearch@^4.9.1", "algoliasearch@>= 3.1 < 5": - "integrity" "sha512-OLY0AWlPKGLbSaw14ivMB7BT5fPdp8VdzY4L8FtzZnqmLKsyes24cltGlf7/X96ACkYEcT390SReCDt/9SUIRg==" - "resolved" "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.10.3.tgz" - "version" "4.10.3" + version "4.2.2" + resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +acorn-walk@^8.0.0: + version "8.1.1" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz" + integrity sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w== + +acorn@^8.0.4, acorn@^8.4.1: + version "8.4.1" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz" + integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA== + +address@^1.0.1, address@1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/address/-/address-1.1.2.tgz" + integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz" + integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== + +ajv-keywords@^3.1.0, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.1.0, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1, ajv@>=5.0.0: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +algoliasearch-helper@^3.3.4: + version "3.5.4" + resolved "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.5.4.tgz" + integrity sha512-t+FLhXYnPZiwjYe5ExyN962HQY8mi3KwRju3Lyf6OBgtRdx30d6mqvtClXf5NeBihH45Xzj6t4Y5YyvAI432XA== + dependencies: + events "^1.1.1" + +algoliasearch@^4.0.0, algoliasearch@^4.8.4, algoliasearch@^4.9.1, "algoliasearch@>= 3.1 < 5": + version "4.10.3" + resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.10.3.tgz" + integrity sha512-OLY0AWlPKGLbSaw14ivMB7BT5fPdp8VdzY4L8FtzZnqmLKsyes24cltGlf7/X96ACkYEcT390SReCDt/9SUIRg== dependencies: "@algolia/cache-browser-local-storage" "4.10.3" "@algolia/cache-common" "4.10.3" @@ -2056,3168 +2056,3168 @@ "@algolia/requester-node-http" "4.10.3" "@algolia/transporter" "4.10.3" -"alphanum-sort@^1.0.2": - "integrity" "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" - "resolved" "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz" - "version" "1.0.2" +alphanum-sort@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= -"ansi-align@^3.0.0": - "integrity" "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==" - "resolved" "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz" - "version" "3.0.0" +ansi-align@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz" + integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== dependencies: - "string-width" "^3.0.0" - -"ansi-colors@^3.0.0": - "integrity" "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" - "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz" - "version" "3.2.4" - -"ansi-escapes@^4.3.1": - "integrity" "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==" - "resolved" "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" - "version" "4.3.2" - dependencies: - "type-fest" "^0.21.3" - -"ansi-html@0.0.7": - "integrity" "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" - "resolved" "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz" - "version" "0.0.7" - -"ansi-regex@^2.0.0": - "integrity" "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" - "version" "2.1.1" - -"ansi-regex@^4.1.0": - "integrity" "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz" - "version" "4.1.0" - -"ansi-regex@^5.0.0": - "integrity" "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz" - "version" "5.0.0" - -"ansi-styles@^3.2.0", "ansi-styles@^3.2.1": - "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - "version" "3.2.1" - dependencies: - "color-convert" "^1.9.0" - -"ansi-styles@^4.0.0": - "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "color-convert" "^2.0.1" - -"ansi-styles@^4.1.0": - "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "color-convert" "^2.0.1" - -"anymatch@^2.0.0": - "integrity" "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==" - "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "micromatch" "^3.1.4" - "normalize-path" "^2.1.1" - -"anymatch@~3.1.2": - "integrity" "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==" - "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "normalize-path" "^3.0.0" - "picomatch" "^2.0.4" - -"arg@^5.0.0": - "integrity" "sha512-4P8Zm2H+BRS+c/xX1LrHw0qKpEhdlZjLCgWy+d78T9vqa2Z2SiD2wMrYuWIAFy5IZUD7nnNXroRttz+0RzlrzQ==" - "resolved" "https://registry.npmjs.org/arg/-/arg-5.0.0.tgz" - "version" "5.0.0" - -"argparse@^1.0.7": - "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" - "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - "version" "1.0.10" - dependencies: - "sprintf-js" "~1.0.2" - -"argparse@^2.0.1": - "integrity" "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - "resolved" "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - "version" "2.0.1" - -"arr-diff@^4.0.0": - "integrity" "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - "resolved" "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" - "version" "4.0.0" - -"arr-flatten@^1.1.0": - "integrity" "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - "resolved" "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" - "version" "1.1.0" - -"arr-union@^3.1.0": - "integrity" "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - "resolved" "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" - "version" "3.1.0" - -"array-flatten@^2.1.0": - "integrity" "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" - "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" - "version" "2.1.2" - -"array-flatten@1.1.1": - "integrity" "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - "resolved" "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" - "version" "1.1.1" - -"array-union@^1.0.1": - "integrity" "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=" - "resolved" "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "array-uniq" "^1.0.1" - -"array-union@^2.1.0": - "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" - "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - "version" "2.1.0" - -"array-uniq@^1.0.1": - "integrity" "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" - "resolved" "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" - "version" "1.0.3" - -"array-unique@^0.3.2": - "integrity" "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - "resolved" "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" - "version" "0.3.2" - -"asap@~2.0.3": - "integrity" "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - "resolved" "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" - "version" "2.0.6" - -"assign-symbols@^1.0.0": - "integrity" "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - "resolved" "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" - "version" "1.0.0" - -"async-each@^1.0.1": - "integrity" "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" - "resolved" "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz" - "version" "1.0.3" - -"async-limiter@~1.0.0": - "integrity" "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - "resolved" "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz" - "version" "1.0.1" - -"async@^2.6.2": - "integrity" "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==" - "resolved" "https://registry.npmjs.org/async/-/async-2.6.3.tgz" - "version" "2.6.3" - dependencies: - "lodash" "^4.17.14" - -"atob@^2.1.2": - "integrity" "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - "resolved" "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" - "version" "2.1.2" - -"autoprefixer@^10.2.0", "autoprefixer@^10.2.5": - "integrity" "sha512-L8AmtKzdiRyYg7BUXJTzigmhbQRCXFKz6SA1Lqo0+AR2FBbQ4aTAPFSDlOutnFkjhiz8my4agGXog1xlMjPJ6A==" - "resolved" "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.1.tgz" - "version" "10.3.1" - dependencies: - "browserslist" "^4.16.6" - "caniuse-lite" "^1.0.30001243" - "colorette" "^1.2.2" - "fraction.js" "^4.1.1" - "normalize-range" "^0.1.2" - "postcss-value-parser" "^4.1.0" - -"axios@^0.21.1": - "integrity" "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==" - "resolved" "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz" - "version" "0.21.1" - dependencies: - "follow-redirects" "^1.10.0" - -"babel-loader@^8.2.2": - "integrity" "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==" - "resolved" "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz" - "version" "8.2.2" - dependencies: - "find-cache-dir" "^3.3.1" - "loader-utils" "^1.4.0" - "make-dir" "^3.1.0" - "schema-utils" "^2.6.5" - -"babel-plugin-apply-mdx-type-prop@1.6.22": - "integrity" "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz" - "version" "1.6.22" + string-width "^3.0.0" + +ansi-colors@^3.0.0: + version "3.2.4" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz" + integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== + +ansi-escapes@^4.3.1: + version "4.3.2" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" + +ansi-html@0.0.7: + version "0.0.7" + resolved "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz" + integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + 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" + +ansi-styles@^4.0.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/arg/-/arg-5.0.0.tgz" + integrity sha512-4P8Zm2H+BRS+c/xX1LrHw0qKpEhdlZjLCgWy+d78T9vqa2Z2SiD2wMrYuWIAFy5IZUD7nnNXroRttz+0RzlrzQ== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-flatten@^2.1.0: + version "2.1.2" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" + integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz" + integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz" + integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + +async@^2.6.2: + version "2.6.3" + resolved "https://registry.npmjs.org/async/-/async-2.6.3.tgz" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + +autoprefixer@^10.2.0, autoprefixer@^10.2.5: + version "10.3.1" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.1.tgz" + integrity sha512-L8AmtKzdiRyYg7BUXJTzigmhbQRCXFKz6SA1Lqo0+AR2FBbQ4aTAPFSDlOutnFkjhiz8my4agGXog1xlMjPJ6A== + dependencies: + browserslist "^4.16.6" + caniuse-lite "^1.0.30001243" + colorette "^1.2.2" + fraction.js "^4.1.1" + normalize-range "^0.1.2" + postcss-value-parser "^4.1.0" + +axios@^0.21.1: + version "0.21.1" + resolved "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz" + integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== + dependencies: + follow-redirects "^1.10.0" + +babel-loader@^8.2.2: + version "8.2.2" + resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz" + integrity sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^1.4.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-plugin-apply-mdx-type-prop@1.6.22: + version "1.6.22" + resolved "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz" + integrity sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ== dependencies: "@babel/helper-plugin-utils" "7.10.4" "@mdx-js/util" "1.6.22" -"babel-plugin-dynamic-import-node@^2.3.3": - "integrity" "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" - "version" "2.3.3" +babel-plugin-dynamic-import-node@^2.3.3: + 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== dependencies: - "object.assign" "^4.1.0" + object.assign "^4.1.0" -"babel-plugin-dynamic-import-node@2.3.0": - "integrity" "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz" - "version" "2.3.0" +babel-plugin-dynamic-import-node@2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz" + integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== dependencies: - "object.assign" "^4.1.0" + object.assign "^4.1.0" -"babel-plugin-extract-import-names@1.6.22": - "integrity" "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz" - "version" "1.6.22" +babel-plugin-extract-import-names@1.6.22: + version "1.6.22" + resolved "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz" + integrity sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ== dependencies: "@babel/helper-plugin-utils" "7.10.4" -"babel-plugin-polyfill-corejs2@^0.2.2": - "integrity" "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz" - "version" "0.2.2" +babel-plugin-polyfill-corejs2@^0.2.2: + version "0.2.2" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz" + integrity sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ== dependencies: "@babel/compat-data" "^7.13.11" "@babel/helper-define-polyfill-provider" "^0.2.2" - "semver" "^6.1.1" + semver "^6.1.1" -"babel-plugin-polyfill-corejs3@^0.2.2": - "integrity" "sha512-rCOFzEIJpJEAU14XCcV/erIf/wZQMmMT5l5vXOpL5uoznyOGfDIjPj6FVytMvtzaKSTSVKouOCTPJ5OMUZH30g==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.3.tgz" - "version" "0.2.3" +babel-plugin-polyfill-corejs3@^0.2.2: + version "0.2.3" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.3.tgz" + integrity sha512-rCOFzEIJpJEAU14XCcV/erIf/wZQMmMT5l5vXOpL5uoznyOGfDIjPj6FVytMvtzaKSTSVKouOCTPJ5OMUZH30g== dependencies: "@babel/helper-define-polyfill-provider" "^0.2.2" - "core-js-compat" "^3.14.0" + core-js-compat "^3.14.0" -"babel-plugin-polyfill-regenerator@^0.2.2": - "integrity" "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==" - "resolved" "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz" - "version" "0.2.2" +babel-plugin-polyfill-regenerator@^0.2.2: + version "0.2.2" + resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz" + integrity sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg== dependencies: "@babel/helper-define-polyfill-provider" "^0.2.2" -"bail@^1.0.0": - "integrity" "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" - "resolved" "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz" - "version" "1.0.5" - -"balanced-match@^1.0.0": - "integrity" "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - "version" "1.0.2" - -"base@^0.11.1": - "integrity" "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==" - "resolved" "https://registry.npmjs.org/base/-/base-0.11.2.tgz" - "version" "0.11.2" - dependencies: - "cache-base" "^1.0.1" - "class-utils" "^0.3.5" - "component-emitter" "^1.2.1" - "define-property" "^1.0.0" - "isobject" "^3.0.1" - "mixin-deep" "^1.2.0" - "pascalcase" "^0.1.1" - -"base16@^1.0.0": - "integrity" "sha1-4pf2DX7BAUp6lxo568ipjAtoHnA=" - "resolved" "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz" - "version" "1.0.0" - -"batch@0.6.1": - "integrity" "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" - "resolved" "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" - "version" "0.6.1" - -"big.js@^5.2.2": - "integrity" "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - "resolved" "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" - "version" "5.2.2" - -"binary-extensions@^1.0.0": - "integrity" "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" - "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz" - "version" "1.13.1" - -"binary-extensions@^2.0.0": - "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - "version" "2.2.0" - -"bindings@^1.5.0": - "integrity" "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==" - "resolved" "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" - "version" "1.5.0" - dependencies: - "file-uri-to-path" "1.0.0" - -"bluebird@^3.7.1": - "integrity" "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - "resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" - "version" "3.7.2" - -"body-parser@1.19.0": - "integrity" "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==" - "resolved" "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz" - "version" "1.19.0" - dependencies: - "bytes" "3.1.0" - "content-type" "~1.0.4" - "debug" "2.6.9" - "depd" "~1.1.2" - "http-errors" "1.7.2" - "iconv-lite" "0.4.24" - "on-finished" "~2.3.0" - "qs" "6.7.0" - "raw-body" "2.4.0" - "type-is" "~1.6.17" - -"bonjour@^3.5.0": - "integrity" "sha1-jokKGD2O6aI5OzhExpGkK897yfU=" - "resolved" "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz" - "version" "3.5.0" - dependencies: - "array-flatten" "^2.1.0" - "deep-equal" "^1.0.1" - "dns-equal" "^1.0.0" - "dns-txt" "^2.0.2" - "multicast-dns" "^6.0.1" - "multicast-dns-service-types" "^1.1.0" - -"boolbase@^1.0.0", "boolbase@~1.0.0": - "integrity" "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - "resolved" "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" - "version" "1.0.0" - -"boxen@^5.0.0", "boxen@^5.0.1": - "integrity" "sha512-49VBlw+PrWEF51aCmy7QIteYPIFZxSpvqBdP/2itCPPlJ49kj9zg/XPRFrdkne2W+CfwXUls8exMvu1RysZpKA==" - "resolved" "https://registry.npmjs.org/boxen/-/boxen-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "ansi-align" "^3.0.0" - "camelcase" "^6.2.0" - "chalk" "^4.1.0" - "cli-boxes" "^2.2.1" - "string-width" "^4.2.0" - "type-fest" "^0.20.2" - "widest-line" "^3.1.0" - "wrap-ansi" "^7.0.0" - -"brace-expansion@^1.1.7": - "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==" - "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - "version" "1.1.11" - dependencies: - "balanced-match" "^1.0.0" - "concat-map" "0.0.1" - -"braces@^2.3.1", "braces@^2.3.2": - "integrity" "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==" - "resolved" "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" - "version" "2.3.2" - dependencies: - "arr-flatten" "^1.1.0" - "array-unique" "^0.3.2" - "extend-shallow" "^2.0.1" - "fill-range" "^4.0.0" - "isobject" "^3.0.1" - "repeat-element" "^1.1.2" - "snapdragon" "^0.8.1" - "snapdragon-node" "^2.0.1" - "split-string" "^3.0.2" - "to-regex" "^3.0.1" - -"braces@^3.0.1", "braces@~3.0.2": - "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==" - "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "fill-range" "^7.0.1" - -"browser-tabs-lock@^1.3.0": - "integrity" "sha512-g6nHaobTiT0eMZ7jh16YpD2kcjAp+PInbiVq3M1x6KKaEIVhT4v9oURNIpZLOZ3LQbQ3XYfNhMAb/9hzNLIWrw==" - "resolved" "https://registry.npmjs.org/browser-tabs-lock/-/browser-tabs-lock-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "lodash" ">=4.17.21" - -"browserslist@^4.0.0", "browserslist@^4.14.5", "browserslist@^4.16.0", "browserslist@^4.16.6": - "integrity" "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==" - "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz" - "version" "4.16.6" - dependencies: - "caniuse-lite" "^1.0.30001219" - "colorette" "^1.2.2" - "electron-to-chromium" "^1.3.723" - "escalade" "^3.1.1" - "node-releases" "^1.1.71" - -"browserslist@4.14.2": - "integrity" "sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==" - "resolved" "https://registry.npmjs.org/browserslist/-/browserslist-4.14.2.tgz" - "version" "4.14.2" - dependencies: - "caniuse-lite" "^1.0.30001125" - "electron-to-chromium" "^1.3.564" - "escalade" "^3.0.2" - "node-releases" "^1.1.61" - -"buffer-from@^1.0.0": - "integrity" "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" - "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" - "version" "1.1.1" - -"buffer-indexof@^1.0.0": - "integrity" "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" - "resolved" "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz" - "version" "1.1.1" - -"bytes@3.0.0": - "integrity" "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" - "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" - "version" "3.0.0" - -"bytes@3.1.0": - "integrity" "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - "resolved" "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz" - "version" "3.1.0" - -"cache-base@^1.0.1": - "integrity" "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==" - "resolved" "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "collection-visit" "^1.0.0" - "component-emitter" "^1.2.1" - "get-value" "^2.0.6" - "has-value" "^1.0.0" - "isobject" "^3.0.1" - "set-value" "^2.0.0" - "to-object-path" "^0.3.0" - "union-value" "^1.0.0" - "unset-value" "^1.0.0" - -"cacheable-request@^6.0.0": - "integrity" "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==" - "resolved" "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "clone-response" "^1.0.2" - "get-stream" "^5.1.0" - "http-cache-semantics" "^4.0.0" - "keyv" "^3.0.0" - "lowercase-keys" "^2.0.0" - "normalize-url" "^4.1.0" - "responselike" "^1.0.2" - -"call-bind@^1.0.0", "call-bind@^1.0.2": - "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==" - "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "function-bind" "^1.1.1" - "get-intrinsic" "^1.0.2" - -"callsites@^3.0.0": - "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" - "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - "version" "3.1.0" - -"camel-case@^4.1.1": - "integrity" "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==" - "resolved" "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "pascal-case" "^3.1.2" - "tslib" "^2.0.3" - -"camelcase-css@2.0.1": - "integrity" "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" - "resolved" "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" - "version" "2.0.1" - -"camelcase@^5.0.0": - "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - "version" "5.3.1" - -"camelcase@^6.2.0": - "integrity" "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" - "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" - "version" "6.2.0" - -"caniuse-api@^3.0.0": - "integrity" "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==" - "resolved" "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "browserslist" "^4.0.0" - "caniuse-lite" "^1.0.0" - "lodash.memoize" "^4.1.2" - "lodash.uniq" "^4.5.0" - -"caniuse-lite@^1.0.0", "caniuse-lite@^1.0.30001125", "caniuse-lite@^1.0.30001219", "caniuse-lite@^1.0.30001243": - "integrity" "sha512-Wb4UFZPkPoJoKKVfELPWytRzpemjP/s0pe22NriANru1NoI+5bGNxzKtk7edYL8rmCWTfQO8eRiF0pn1Dqzx7Q==" - "resolved" "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001244.tgz" - "version" "1.0.30001244" - -"ccount@^1.0.0", "ccount@^1.0.3": - "integrity" "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==" - "resolved" "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz" - "version" "1.1.0" - -"chalk@^2.0.0": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^2.4.1": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"chalk@^4.1.0", "chalk@^4.1.1": - "integrity" "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz" - "version" "4.1.1" - dependencies: - "ansi-styles" "^4.1.0" - "supports-color" "^7.1.0" - -"chalk@2.4.2": - "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==" - "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "ansi-styles" "^3.2.1" - "escape-string-regexp" "^1.0.5" - "supports-color" "^5.3.0" - -"character-entities-legacy@^1.0.0": - "integrity" "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" - "resolved" "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz" - "version" "1.1.4" - -"character-entities@^1.0.0": - "integrity" "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" - "resolved" "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz" - "version" "1.2.4" - -"character-reference-invalid@^1.0.0": - "integrity" "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" - "resolved" "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz" - "version" "1.1.4" - -"cheerio@^0.22.0": - "integrity" "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=" - "resolved" "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz" - "version" "0.22.0" - dependencies: - "css-select" "~1.2.0" - "dom-serializer" "~0.1.0" - "entities" "~1.1.1" - "htmlparser2" "^3.9.1" - "lodash.assignin" "^4.0.9" - "lodash.bind" "^4.1.4" - "lodash.defaults" "^4.0.1" - "lodash.filter" "^4.4.0" - "lodash.flatten" "^4.2.0" - "lodash.foreach" "^4.3.0" - "lodash.map" "^4.4.0" - "lodash.merge" "^4.4.0" - "lodash.pick" "^4.2.1" - "lodash.reduce" "^4.4.0" - "lodash.reject" "^4.4.0" - "lodash.some" "^4.4.0" - -"chokidar@^2.1.8": - "integrity" "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==" - "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz" - "version" "2.1.8" - dependencies: - "anymatch" "^2.0.0" - "async-each" "^1.0.1" - "braces" "^2.3.2" - "glob-parent" "^3.1.0" - "inherits" "^2.0.3" - "is-binary-path" "^1.0.0" - "is-glob" "^4.0.0" - "normalize-path" "^3.0.0" - "path-is-absolute" "^1.0.0" - "readdirp" "^2.2.1" - "upath" "^1.1.1" +bail@^1.0.0: + version "1.0.5" + resolved "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz" + integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.npmjs.org/base/-/base-0.11.2.tgz" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +base16@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/base16/-/base16-1.0.0.tgz" + integrity sha1-4pf2DX7BAUp6lxo568ipjAtoHnA= + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz" + integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bluebird@^3.7.1: + version "3.7.2" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz" + integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz" + integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= + dependencies: + array-flatten "^2.1.0" + deep-equal "^1.0.1" + dns-equal "^1.0.0" + dns-txt "^2.0.2" + multicast-dns "^6.0.1" + multicast-dns-service-types "^1.1.0" + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +boxen@^5.0.0, boxen@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/boxen/-/boxen-5.0.1.tgz" + integrity sha512-49VBlw+PrWEF51aCmy7QIteYPIFZxSpvqBdP/2itCPPlJ49kj9zg/XPRFrdkne2W+CfwXUls8exMvu1RysZpKA== + dependencies: + ansi-align "^3.0.0" + camelcase "^6.2.0" + chalk "^4.1.0" + cli-boxes "^2.2.1" + string-width "^4.2.0" + type-fest "^0.20.2" + widest-line "^3.1.0" + wrap-ansi "^7.0.0" + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browser-tabs-lock@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/browser-tabs-lock/-/browser-tabs-lock-1.3.0.tgz" + integrity sha512-g6nHaobTiT0eMZ7jh16YpD2kcjAp+PInbiVq3M1x6KKaEIVhT4v9oURNIpZLOZ3LQbQ3XYfNhMAb/9hzNLIWrw== + dependencies: + lodash ">=4.17.21" + +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.0, browserslist@^4.16.6: + version "4.16.6" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz" + integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== + dependencies: + caniuse-lite "^1.0.30001219" + colorette "^1.2.2" + electron-to-chromium "^1.3.723" + escalade "^3.1.1" + node-releases "^1.1.71" + +browserslist@4.14.2: + version "4.14.2" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.14.2.tgz" + integrity sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw== + dependencies: + caniuse-lite "^1.0.30001125" + electron-to-chromium "^1.3.564" + escalade "^3.0.2" + node-releases "^1.1.61" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz" + integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +cacheable-request@^6.0.0: + version "6.1.0" + resolved "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz" + integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== + dependencies: + clone-response "^1.0.2" + get-stream "^5.1.0" + http-cache-semantics "^4.0.0" + keyv "^3.0.0" + lowercase-keys "^2.0.0" + normalize-url "^4.1.0" + responselike "^1.0.2" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@^4.1.1: + version "4.1.2" + resolved "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase-css@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +caniuse-api@^3.0.0: + 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== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001243: + version "1.0.30001244" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001244.tgz" + integrity sha512-Wb4UFZPkPoJoKKVfELPWytRzpemjP/s0pe22NriANru1NoI+5bGNxzKtk7edYL8rmCWTfQO8eRiF0pn1Dqzx7Q== + +ccount@^1.0.0, ccount@^1.0.3: + version "1.1.0" + resolved "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz" + integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== + +chalk@^2.0.0: + 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" + +chalk@^2.4.1: + 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" + +chalk@^4.1.0, chalk@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz" + integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@2.4.2: + 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" + +character-entities-legacy@^1.0.0: + version "1.1.4" + resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz" + integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== + +character-entities@^1.0.0: + version "1.2.4" + resolved "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz" + integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== + +character-reference-invalid@^1.0.0: + version "1.1.4" + resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz" + integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== + +cheerio@^0.22.0: + version "0.22.0" + resolved "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz" + integrity sha1-qbqoYKP5tZWmuBsahocxIe06Jp4= + dependencies: + css-select "~1.2.0" + dom-serializer "~0.1.0" + entities "~1.1.1" + htmlparser2 "^3.9.1" + lodash.assignin "^4.0.9" + lodash.bind "^4.1.4" + lodash.defaults "^4.0.1" + lodash.filter "^4.4.0" + lodash.flatten "^4.2.0" + lodash.foreach "^4.3.0" + lodash.map "^4.4.0" + lodash.merge "^4.4.0" + lodash.pick "^4.2.1" + lodash.reduce "^4.4.0" + lodash.reject "^4.4.0" + lodash.some "^4.4.0" + +chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" optionalDependencies: - "fsevents" "^1.2.7" - -"chokidar@^3.5.1": - "integrity" "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==" - "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz" - "version" "3.5.2" - dependencies: - "anymatch" "~3.1.2" - "braces" "~3.0.2" - "glob-parent" "~5.1.2" - "is-binary-path" "~2.1.0" - "is-glob" "~4.0.1" - "normalize-path" "~3.0.0" - "readdirp" "~3.6.0" + fsevents "^1.2.7" + +chokidar@^3.5.1: + version "3.5.2" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" optionalDependencies: - "fsevents" "~2.3.2" - -"chrome-trace-event@^1.0.2": - "integrity" "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==" - "resolved" "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" - "version" "1.0.3" - -"ci-info@^2.0.0": - "integrity" "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" - "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" - "version" "2.0.0" - -"ci-info@^3.0.0": - "integrity" "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==" - "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz" - "version" "3.2.0" - -"class-utils@^0.3.5": - "integrity" "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==" - "resolved" "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" - "version" "0.3.6" - dependencies: - "arr-union" "^3.1.0" - "define-property" "^0.2.5" - "isobject" "^3.0.0" - "static-extend" "^0.1.1" - -"clean-css@^4.2.3": - "integrity" "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==" - "resolved" "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz" - "version" "4.2.3" - dependencies: - "source-map" "~0.6.0" - -"clean-css@^5.1.2": - "integrity" "sha512-qGXzUCDpLwAlPx0kYeU4QXjzQIcIYZbJjD4FNm7NnSjoP0hYMVZhHOpUYJ6AwfkMX2cceLRq54MeCgHy/va1cA==" - "resolved" "https://registry.npmjs.org/clean-css/-/clean-css-5.1.3.tgz" - "version" "5.1.3" - dependencies: - "source-map" "~0.6.0" - -"clean-stack@^2.0.0": - "integrity" "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - "resolved" "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" - "version" "2.2.0" - -"cli-boxes@^2.2.1": - "integrity" "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==" - "resolved" "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz" - "version" "2.2.1" - -"cliui@^5.0.0": - "integrity" "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==" - "resolved" "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "string-width" "^3.1.0" - "strip-ansi" "^5.2.0" - "wrap-ansi" "^5.1.0" - -"clone-deep@^4.0.1": - "integrity" "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==" - "resolved" "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "is-plain-object" "^2.0.4" - "kind-of" "^6.0.2" - "shallow-clone" "^3.0.0" - -"clone-response@^1.0.2": - "integrity" "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=" - "resolved" "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "mimic-response" "^1.0.0" - -"clsx@^1.1.1": - "integrity" "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==" - "resolved" "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz" - "version" "1.1.1" - -"coa@^2.0.2": - "integrity" "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==" - "resolved" "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz" - "version" "2.0.2" + fsevents "~2.3.2" + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + +ci-info@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz" + integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +clean-css@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz" + integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== + dependencies: + source-map "~0.6.0" + +clean-css@^5.1.2: + version "5.1.3" + resolved "https://registry.npmjs.org/clean-css/-/clean-css-5.1.3.tgz" + integrity sha512-qGXzUCDpLwAlPx0kYeU4QXjzQIcIYZbJjD4FNm7NnSjoP0hYMVZhHOpUYJ6AwfkMX2cceLRq54MeCgHy/va1cA== + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-boxes@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz" + integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone-response@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz" + integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + dependencies: + mimic-response "^1.0.0" + +clsx@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz" + integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== + +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz" + integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== dependencies: "@types/q" "^1.5.1" - "chalk" "^2.4.1" - "q" "^1.1.2" - -"collapse-white-space@^1.0.2": - "integrity" "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" - "resolved" "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz" - "version" "1.0.6" - -"collection-visit@^1.0.0": - "integrity" "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=" - "resolved" "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "map-visit" "^1.0.0" - "object-visit" "^1.0.0" - -"color-convert@^1.9.0": - "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - "version" "1.9.3" - dependencies: - "color-name" "1.1.3" - -"color-convert@^2.0.1": - "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" - "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "color-name" "~1.1.4" - -"color-name@~1.1.4": - "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - "version" "1.1.4" - -"color-name@1.1.3": - "integrity" "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - "version" "1.1.3" - -"colord@^2.0.1": - "integrity" "sha512-H5sDP9XDk2uP+x/xSGkgB9SEFc1bojdI5DMKU0jmSXQtml2GIe48dj1DcSS0e53QQAHn+JKqUXbGeGX24xWD7w==" - "resolved" "https://registry.npmjs.org/colord/-/colord-2.1.0.tgz" - "version" "2.1.0" - -"colorette@^1.2.2": - "integrity" "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" - "resolved" "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz" - "version" "1.2.2" - -"combine-promises@^1.1.0": - "integrity" "sha512-ZI9jvcLDxqwaXEixOhArm3r7ReIivsXkpbyEWyeOhzz1QS0iSgBPnWvEqvIQtYyamGCYA88gFhmUrs9hrrQ0pg==" - "resolved" "https://registry.npmjs.org/combine-promises/-/combine-promises-1.1.0.tgz" - "version" "1.1.0" - -"comma-separated-tokens@^1.0.0": - "integrity" "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==" - "resolved" "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz" - "version" "1.0.8" - -"commander@^2.20.0": - "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - "version" "2.20.3" - -"commander@^4.1.1": - "integrity" "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" - "resolved" "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" - "version" "4.1.1" - -"commander@^5.1.0": - "integrity" "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" - "resolved" "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz" - "version" "5.1.0" - -"commander@^6.2.0": - "integrity" "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==" - "resolved" "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz" - "version" "6.2.1" - -"commander@^7.1.0": - "integrity" "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" - "resolved" "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" - "version" "7.2.0" - -"commondir@^1.0.1": - "integrity" "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" - "resolved" "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" - "version" "1.0.1" - -"component-emitter@^1.2.1": - "integrity" "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - "resolved" "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" - "version" "1.3.0" - -"compressible@~2.0.16": - "integrity" "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==" - "resolved" "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" - "version" "2.0.18" - dependencies: - "mime-db" ">= 1.43.0 < 2" - -"compression@^1.7.4": - "integrity" "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==" - "resolved" "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" - "version" "1.7.4" - dependencies: - "accepts" "~1.3.5" - "bytes" "3.0.0" - "compressible" "~2.0.16" - "debug" "2.6.9" - "on-headers" "~1.0.2" - "safe-buffer" "5.1.2" - "vary" "~1.1.2" - -"concat-map@0.0.1": - "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - "version" "0.0.1" - -"configstore@^5.0.1": - "integrity" "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==" - "resolved" "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "dot-prop" "^5.2.0" - "graceful-fs" "^4.1.2" - "make-dir" "^3.0.0" - "unique-string" "^2.0.0" - "write-file-atomic" "^3.0.0" - "xdg-basedir" "^4.0.0" - -"connect-history-api-fallback@^1.6.0": - "integrity" "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" - "resolved" "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz" - "version" "1.6.0" - -"consola@^2.15.0": - "integrity" "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" - "resolved" "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" - "version" "2.15.3" - -"content-disposition@0.5.2": - "integrity" "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" - "resolved" "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz" - "version" "0.5.2" - -"content-disposition@0.5.3": - "integrity" "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==" - "resolved" "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz" - "version" "0.5.3" - dependencies: - "safe-buffer" "5.1.2" - -"content-type@~1.0.4": - "integrity" "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - "resolved" "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" - "version" "1.0.4" - -"convert-source-map@^1.7.0": - "integrity" "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==" - "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" - "version" "1.8.0" - dependencies: - "safe-buffer" "~5.1.1" - -"cookie-signature@1.0.6": - "integrity" "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - "resolved" "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" - "version" "1.0.6" - -"cookie@0.4.0": - "integrity" "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - "resolved" "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz" - "version" "0.4.0" - -"copy-descriptor@^0.1.0": - "integrity" "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - "resolved" "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" - "version" "0.1.1" - -"copy-text-to-clipboard@^3.0.1": - "integrity" "sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q==" - "resolved" "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz" - "version" "3.0.1" - -"copy-webpack-plugin@^9.0.0": - "integrity" "sha512-14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw==" - "resolved" "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz" - "version" "9.0.1" - dependencies: - "fast-glob" "^3.2.5" - "glob-parent" "^6.0.0" - "globby" "^11.0.3" - "normalize-path" "^3.0.0" - "p-limit" "^3.1.0" - "schema-utils" "^3.0.0" - "serialize-javascript" "^6.0.0" - -"core-js-compat@^3.14.0", "core-js-compat@^3.15.0": - "integrity" "sha512-Wp+BJVvwopjI+A1EFqm2dwUmWYXrvucmtIB2LgXn/Rb+gWPKYxtmb4GKHGKG/KGF1eK9jfjzT38DITbTOCX/SQ==" - "resolved" "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.15.2.tgz" - "version" "3.15.2" - dependencies: - "browserslist" "^4.16.6" - "semver" "7.0.0" - -"core-js-pure@^3.15.0": - "integrity" "sha512-D42L7RYh1J2grW8ttxoY1+17Y4wXZeKe7uyplAI3FkNQyI5OgBIAjUfFiTPfL1rs0qLpxaabITNbjKl1Sp82tA==" - "resolved" "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.15.2.tgz" - "version" "3.15.2" - -"core-js@^3.9.1": - "integrity" "sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==" - "resolved" "https://registry.npmjs.org/core-js/-/core-js-3.15.2.tgz" - "version" "3.15.2" - -"core-util-is@~1.0.0": - "integrity" "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" - "version" "1.0.2" - -"cosmiconfig@^7.0.0": - "integrity" "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==" - "resolved" "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz" - "version" "7.0.0" + chalk "^2.4.1" + q "^1.1.2" + +collapse-white-space@^1.0.2: + version "1.0.6" + resolved "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz" + integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.9.0: + 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" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +colord@^2.0.1: + version "2.1.0" + resolved "https://registry.npmjs.org/colord/-/colord-2.1.0.tgz" + integrity sha512-H5sDP9XDk2uP+x/xSGkgB9SEFc1bojdI5DMKU0jmSXQtml2GIe48dj1DcSS0e53QQAHn+JKqUXbGeGX24xWD7w== + +colorette@^1.2.2: + version "1.2.2" + resolved "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz" + integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + +combine-promises@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/combine-promises/-/combine-promises-1.1.0.tgz" + integrity sha512-ZI9jvcLDxqwaXEixOhArm3r7ReIivsXkpbyEWyeOhzz1QS0iSgBPnWvEqvIQtYyamGCYA88gFhmUrs9hrrQ0pg== + +comma-separated-tokens@^1.0.0: + version "1.0.8" + resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz" + integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +commander@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz" + integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + +commander@^6.2.0: + version "6.2.1" + resolved "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + +commander@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +configstore@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz" + integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== + dependencies: + dot-prop "^5.2.0" + graceful-fs "^4.1.2" + make-dir "^3.0.0" + unique-string "^2.0.0" + write-file-atomic "^3.0.0" + xdg-basedir "^4.0.0" + +connect-history-api-fallback@^1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz" + integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== + +consola@^2.15.0: + version "2.15.3" + resolved "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz" + integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== + +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz" + integrity sha1-DPaLud318r55YcOoUXjLhdunjLQ= + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +copy-text-to-clipboard@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz" + integrity sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q== + +copy-webpack-plugin@^9.0.0: + version "9.0.1" + resolved "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz" + integrity sha512-14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw== + dependencies: + fast-glob "^3.2.5" + glob-parent "^6.0.0" + globby "^11.0.3" + normalize-path "^3.0.0" + p-limit "^3.1.0" + schema-utils "^3.0.0" + serialize-javascript "^6.0.0" + +core-js-compat@^3.14.0, core-js-compat@^3.15.0: + version "3.15.2" + resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.15.2.tgz" + integrity sha512-Wp+BJVvwopjI+A1EFqm2dwUmWYXrvucmtIB2LgXn/Rb+gWPKYxtmb4GKHGKG/KGF1eK9jfjzT38DITbTOCX/SQ== + dependencies: + browserslist "^4.16.6" + semver "7.0.0" + +core-js-pure@^3.15.0: + version "3.15.2" + resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.15.2.tgz" + integrity sha512-D42L7RYh1J2grW8ttxoY1+17Y4wXZeKe7uyplAI3FkNQyI5OgBIAjUfFiTPfL1rs0qLpxaabITNbjKl1Sp82tA== + +core-js@^3.9.1: + version "3.15.2" + resolved "https://registry.npmjs.org/core-js/-/core-js-3.15.2.tgz" + integrity sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q== + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz" + integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== dependencies: "@types/parse-json" "^4.0.0" - "import-fresh" "^3.2.1" - "parse-json" "^5.0.0" - "path-type" "^4.0.0" - "yaml" "^1.10.0" - -"cross-fetch@^3.0.4": - "integrity" "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==" - "resolved" "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz" - "version" "3.1.4" - dependencies: - "node-fetch" "2.6.1" - -"cross-spawn@^6.0.0": - "integrity" "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" - "version" "6.0.5" - dependencies: - "nice-try" "^1.0.4" - "path-key" "^2.0.1" - "semver" "^5.5.0" - "shebang-command" "^1.2.0" - "which" "^1.2.9" - -"cross-spawn@^7.0.3", "cross-spawn@7.0.3": - "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" - "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - "version" "7.0.3" - dependencies: - "path-key" "^3.1.0" - "shebang-command" "^2.0.0" - "which" "^2.0.1" - -"crypto-random-string@^2.0.0": - "integrity" "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==" - "resolved" "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" - "version" "2.0.0" - -"css-color-names@^0.0.4": - "integrity" "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" - "resolved" "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz" - "version" "0.0.4" - -"css-color-names@^1.0.1": - "integrity" "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==" - "resolved" "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz" - "version" "1.0.1" - -"css-declaration-sorter@^6.0.3": - "integrity" "sha512-52P95mvW1SMzuRZegvpluT6yEv0FqQusydKQPZsNN5Q7hh8EwQvN8E2nwuJ16BBvNN6LcoIZXu/Bk58DAhrrxw==" - "resolved" "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.0.3.tgz" - "version" "6.0.3" - dependencies: - "timsort" "^0.3.0" - -"css-loader@^5.1.1": - "integrity" "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==" - "resolved" "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz" - "version" "5.2.7" - dependencies: - "icss-utils" "^5.1.0" - "loader-utils" "^2.0.0" - "postcss" "^8.2.15" - "postcss-modules-extract-imports" "^3.0.0" - "postcss-modules-local-by-default" "^4.0.0" - "postcss-modules-scope" "^3.0.0" - "postcss-modules-values" "^4.0.0" - "postcss-value-parser" "^4.1.0" - "schema-utils" "^3.0.0" - "semver" "^7.3.5" - -"css-minimizer-webpack-plugin@^3.0.1": - "integrity" "sha512-B3I5e17RwvKPJwsxjjWcdgpU/zqylzK1bPVghcmpFHRL48DXiBgrtqz1BJsn68+t/zzaLp9kYAaEDvQ7GyanFQ==" - "resolved" "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "cssnano" "^5.0.6" - "jest-worker" "^27.0.2" - "p-limit" "^3.0.2" - "postcss" "^8.3.5" - "schema-utils" "^3.0.0" - "serialize-javascript" "^6.0.0" - "source-map" "^0.6.1" - -"css-select-base-adapter@^0.1.1": - "integrity" "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" - "resolved" "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz" - "version" "0.1.1" - -"css-select@^2.0.0": - "integrity" "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==" - "resolved" "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "boolbase" "^1.0.0" - "css-what" "^3.2.1" - "domutils" "^1.7.0" - "nth-check" "^1.0.2" - -"css-select@^4.1.3": - "integrity" "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==" - "resolved" "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz" - "version" "4.1.3" - dependencies: - "boolbase" "^1.0.0" - "css-what" "^5.0.0" - "domhandler" "^4.2.0" - "domutils" "^2.6.0" - "nth-check" "^2.0.0" - -"css-select@~1.2.0": - "integrity" "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=" - "resolved" "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "boolbase" "~1.0.0" - "css-what" "2.1" - "domutils" "1.5.1" - "nth-check" "~1.0.1" - -"css-tree@^1.1.2": - "integrity" "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==" - "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "mdn-data" "2.0.14" - "source-map" "^0.6.1" - -"css-tree@1.0.0-alpha.37": - "integrity" "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==" - "resolved" "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" - "version" "1.0.0-alpha.37" - dependencies: - "mdn-data" "2.0.4" - "source-map" "^0.6.1" - -"css-what@^3.2.1": - "integrity" "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" - "resolved" "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" - "version" "3.4.2" - -"css-what@^5.0.0": - "integrity" "sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==" - "resolved" "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz" - "version" "5.0.1" - -"css-what@2.1": - "integrity" "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" - "resolved" "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz" - "version" "2.1.3" - -"cssesc@^3.0.0": - "integrity" "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" - "resolved" "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" - "version" "3.0.0" - -"cssnano-preset-advanced@^5.1.1": - "integrity" "sha512-pS4+Q2Hoo/FevZs2JqA2BG8Vn5o5VeXgj+z6kGndKTq3RFYvlKeJ1ZPnLXo9zyYKwmSqWW0rWqtGxxmigIte0Q==" - "resolved" "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.1.3.tgz" - "version" "5.1.3" - dependencies: - "autoprefixer" "^10.2.0" - "cssnano-preset-default" "^5.1.3" - "postcss-discard-unused" "^5.0.1" - "postcss-merge-idents" "^5.0.1" - "postcss-reduce-idents" "^5.0.1" - "postcss-zindex" "^5.0.1" - -"cssnano-preset-default@^5.1.3": - "integrity" "sha512-qo9tX+t4yAAZ/yagVV3b+QBKeLklQbmgR3wI7mccrDcR+bEk9iHgZN1E7doX68y9ThznLya3RDmR+nc7l6/2WQ==" - "resolved" "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.3.tgz" - "version" "5.1.3" - dependencies: - "css-declaration-sorter" "^6.0.3" - "cssnano-utils" "^2.0.1" - "postcss-calc" "^8.0.0" - "postcss-colormin" "^5.2.0" - "postcss-convert-values" "^5.0.1" - "postcss-discard-comments" "^5.0.1" - "postcss-discard-duplicates" "^5.0.1" - "postcss-discard-empty" "^5.0.1" - "postcss-discard-overridden" "^5.0.1" - "postcss-merge-longhand" "^5.0.2" - "postcss-merge-rules" "^5.0.2" - "postcss-minify-font-values" "^5.0.1" - "postcss-minify-gradients" "^5.0.1" - "postcss-minify-params" "^5.0.1" - "postcss-minify-selectors" "^5.1.0" - "postcss-normalize-charset" "^5.0.1" - "postcss-normalize-display-values" "^5.0.1" - "postcss-normalize-positions" "^5.0.1" - "postcss-normalize-repeat-style" "^5.0.1" - "postcss-normalize-string" "^5.0.1" - "postcss-normalize-timing-functions" "^5.0.1" - "postcss-normalize-unicode" "^5.0.1" - "postcss-normalize-url" "^5.0.2" - "postcss-normalize-whitespace" "^5.0.1" - "postcss-ordered-values" "^5.0.2" - "postcss-reduce-initial" "^5.0.1" - "postcss-reduce-transforms" "^5.0.1" - "postcss-svgo" "^5.0.2" - "postcss-unique-selectors" "^5.0.1" - -"cssnano-utils@^2.0.1": - "integrity" "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==" - "resolved" "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz" - "version" "2.0.1" - -"cssnano@^5.0.4", "cssnano@^5.0.6": - "integrity" "sha512-NiaLH/7yqGksFGsFNvSRe2IV/qmEBAeDE64dYeD8OBrgp6lE8YoMeQJMtsv5ijo6MPyhuoOvFhI94reahBRDkw==" - "resolved" "https://registry.npmjs.org/cssnano/-/cssnano-5.0.6.tgz" - "version" "5.0.6" - dependencies: - "cosmiconfig" "^7.0.0" - "cssnano-preset-default" "^5.1.3" - "is-resolvable" "^1.1.0" - -"csso@^4.0.2", "csso@^4.2.0": - "integrity" "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==" - "resolved" "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "css-tree" "^1.1.2" - -"csstype@^3.0.2": - "integrity" "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==" - "resolved" "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz" - "version" "3.0.10" - -"debug@^2.2.0": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^2.3.3": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^2.6.0": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"debug@^3.1.1": - "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - "version" "3.2.7" - dependencies: - "ms" "^2.1.1" - -"debug@^3.2.6": - "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==" - "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - "version" "3.2.7" - dependencies: - "ms" "^2.1.1" - -"debug@^4.1.0", "debug@^4.1.1": - "integrity" "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==" - "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz" - "version" "4.3.2" - dependencies: - "ms" "2.1.2" - -"debug@2.6.9": - "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==" - "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - "version" "2.6.9" - dependencies: - "ms" "2.0.0" - -"decamelize@^1.2.0": - "integrity" "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - "resolved" "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - "version" "1.2.0" - -"decode-uri-component@^0.2.0": - "integrity" "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - "resolved" "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" - "version" "0.2.0" - -"decompress-response@^3.3.0": - "integrity" "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=" - "resolved" "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "mimic-response" "^1.0.0" - -"deep-equal@^1.0.1": - "integrity" "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==" - "resolved" "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz" - "version" "1.1.1" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +cross-fetch@^3.0.4: + version "3.1.4" + resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz" + integrity sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ== + dependencies: + node-fetch "2.6.1" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.3, cross-spawn@7.0.3: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-random-string@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" + integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== + +css-color-names@^0.0.4: + version "0.0.4" + resolved "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + +css-color-names@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz" + integrity sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA== + +css-declaration-sorter@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.0.3.tgz" + integrity sha512-52P95mvW1SMzuRZegvpluT6yEv0FqQusydKQPZsNN5Q7hh8EwQvN8E2nwuJ16BBvNN6LcoIZXu/Bk58DAhrrxw== + dependencies: + timsort "^0.3.0" + +css-loader@^5.1.1: + version "5.2.7" + resolved "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz" + integrity sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg== + dependencies: + icss-utils "^5.1.0" + loader-utils "^2.0.0" + postcss "^8.2.15" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.1.0" + schema-utils "^3.0.0" + semver "^7.3.5" + +css-minimizer-webpack-plugin@^3.0.1: + version "3.0.2" + resolved "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.0.2.tgz" + integrity sha512-B3I5e17RwvKPJwsxjjWcdgpU/zqylzK1bPVghcmpFHRL48DXiBgrtqz1BJsn68+t/zzaLp9kYAaEDvQ7GyanFQ== + dependencies: + cssnano "^5.0.6" + jest-worker "^27.0.2" + p-limit "^3.0.2" + postcss "^8.3.5" + schema-utils "^3.0.0" + serialize-javascript "^6.0.0" + source-map "^0.6.1" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz" + integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz" + integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-select@^4.1.3: + version "4.1.3" + resolved "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz" + integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== + dependencies: + boolbase "^1.0.0" + css-what "^5.0.0" + domhandler "^4.2.0" + domutils "^2.6.0" + nth-check "^2.0.0" + +css-select@~1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz" + integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= + dependencies: + boolbase "~1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "~1.0.1" + +css-tree@^1.1.2: + version "1.1.3" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" + integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-what@^3.2.1: + version "3.4.2" + resolved "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" + integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== + +css-what@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/css-what/-/css-what-5.0.1.tgz" + integrity sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg== + +css-what@2.1: + version "2.1.3" + resolved "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz" + integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-advanced@^5.1.1: + version "5.1.3" + resolved "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.1.3.tgz" + integrity sha512-pS4+Q2Hoo/FevZs2JqA2BG8Vn5o5VeXgj+z6kGndKTq3RFYvlKeJ1ZPnLXo9zyYKwmSqWW0rWqtGxxmigIte0Q== + dependencies: + autoprefixer "^10.2.0" + cssnano-preset-default "^5.1.3" + postcss-discard-unused "^5.0.1" + postcss-merge-idents "^5.0.1" + postcss-reduce-idents "^5.0.1" + postcss-zindex "^5.0.1" + +cssnano-preset-default@^5.1.3: + version "5.1.3" + resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.3.tgz" + integrity sha512-qo9tX+t4yAAZ/yagVV3b+QBKeLklQbmgR3wI7mccrDcR+bEk9iHgZN1E7doX68y9ThznLya3RDmR+nc7l6/2WQ== + dependencies: + css-declaration-sorter "^6.0.3" + cssnano-utils "^2.0.1" + postcss-calc "^8.0.0" + postcss-colormin "^5.2.0" + postcss-convert-values "^5.0.1" + postcss-discard-comments "^5.0.1" + postcss-discard-duplicates "^5.0.1" + postcss-discard-empty "^5.0.1" + postcss-discard-overridden "^5.0.1" + postcss-merge-longhand "^5.0.2" + postcss-merge-rules "^5.0.2" + postcss-minify-font-values "^5.0.1" + postcss-minify-gradients "^5.0.1" + postcss-minify-params "^5.0.1" + postcss-minify-selectors "^5.1.0" + postcss-normalize-charset "^5.0.1" + postcss-normalize-display-values "^5.0.1" + postcss-normalize-positions "^5.0.1" + postcss-normalize-repeat-style "^5.0.1" + postcss-normalize-string "^5.0.1" + postcss-normalize-timing-functions "^5.0.1" + postcss-normalize-unicode "^5.0.1" + postcss-normalize-url "^5.0.2" + postcss-normalize-whitespace "^5.0.1" + postcss-ordered-values "^5.0.2" + postcss-reduce-initial "^5.0.1" + postcss-reduce-transforms "^5.0.1" + postcss-svgo "^5.0.2" + postcss-unique-selectors "^5.0.1" + +cssnano-utils@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz" + integrity sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ== + +cssnano@^5.0.4, cssnano@^5.0.6: + version "5.0.6" + resolved "https://registry.npmjs.org/cssnano/-/cssnano-5.0.6.tgz" + integrity sha512-NiaLH/7yqGksFGsFNvSRe2IV/qmEBAeDE64dYeD8OBrgp6lE8YoMeQJMtsv5ijo6MPyhuoOvFhI94reahBRDkw== + dependencies: + cosmiconfig "^7.0.0" + cssnano-preset-default "^5.1.3" + is-resolvable "^1.1.0" + +csso@^4.0.2, csso@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +csstype@^3.0.2: + version "3.0.10" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz" + integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA== + +debug@^2.2.0: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^2.3.3: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^2.6.0: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.1.1: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^3.2.6: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.1.0, debug@^4.1.1: + version "4.3.2" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +decompress-response@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz" + integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + dependencies: + mimic-response "^1.0.0" + +deep-equal@^1.0.1: + version "1.1.1" + resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz" + integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== dependencies: - "is-arguments" "^1.0.4" - "is-date-object" "^1.0.1" - "is-regex" "^1.0.4" - "object-is" "^1.0.1" - "object-keys" "^1.1.1" - "regexp.prototype.flags" "^1.2.0" + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" -"deep-extend@^0.6.0": - "integrity" "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - "resolved" "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" - "version" "0.6.0" +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== -"deepmerge@^4.2.2": - "integrity" "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" - "version" "4.2.2" +deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== -"default-gateway@^4.2.0": - "integrity" "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==" - "resolved" "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz" - "version" "4.2.0" +default-gateway@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz" + integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== dependencies: - "execa" "^1.0.0" - "ip-regex" "^2.1.0" + execa "^1.0.0" + ip-regex "^2.1.0" -"defer-to-connect@^1.0.1": - "integrity" "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" - "resolved" "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz" - "version" "1.1.3" +defer-to-connect@^1.0.1: + version "1.1.3" + resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz" + integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== -"define-properties@^1.1.3": - "integrity" "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==" - "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" - "version" "1.1.3" +define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== dependencies: - "object-keys" "^1.0.12" + object-keys "^1.0.12" -"define-property@^0.2.5": - "integrity" "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=" - "resolved" "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" - "version" "0.2.5" +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= dependencies: - "is-descriptor" "^0.1.0" + is-descriptor "^0.1.0" -"define-property@^1.0.0": - "integrity" "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=" - "resolved" "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" - "version" "1.0.0" +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= dependencies: - "is-descriptor" "^1.0.0" + is-descriptor "^1.0.0" -"define-property@^2.0.2": - "integrity" "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==" - "resolved" "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" - "version" "2.0.2" +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== dependencies: - "is-descriptor" "^1.0.2" - "isobject" "^3.0.1" + is-descriptor "^1.0.2" + isobject "^3.0.1" -"del@^4.1.1": - "integrity" "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==" - "resolved" "https://registry.npmjs.org/del/-/del-4.1.1.tgz" - "version" "4.1.1" +del@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/del/-/del-4.1.1.tgz" + integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== dependencies: "@types/glob" "^7.1.1" - "globby" "^6.1.0" - "is-path-cwd" "^2.0.0" - "is-path-in-cwd" "^2.0.0" - "p-map" "^2.0.0" - "pify" "^4.0.1" - "rimraf" "^2.6.3" - -"del@^6.0.0": - "integrity" "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==" - "resolved" "https://registry.npmjs.org/del/-/del-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "globby" "^11.0.1" - "graceful-fs" "^4.2.4" - "is-glob" "^4.0.1" - "is-path-cwd" "^2.2.0" - "is-path-inside" "^3.0.2" - "p-map" "^4.0.0" - "rimraf" "^3.0.2" - "slash" "^3.0.0" - -"depd@~1.1.2": - "integrity" "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - "resolved" "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" - "version" "1.1.2" - -"destroy@~1.0.4": - "integrity" "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - "resolved" "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" - "version" "1.0.4" - -"detab@2.0.4": - "integrity" "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==" - "resolved" "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "repeat-string" "^1.5.4" - -"detect-node@^2.0.4": - "integrity" "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" - "resolved" "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" - "version" "2.1.0" - -"detect-port-alt@1.1.6": - "integrity" "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==" - "resolved" "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz" - "version" "1.1.6" - dependencies: - "address" "^1.0.1" - "debug" "^2.6.0" - -"detect-port@^1.3.0": - "integrity" "sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ==" - "resolved" "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "address" "^1.0.1" - "debug" "^2.6.0" - -"dir-glob@^3.0.1": - "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==" - "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "path-type" "^4.0.0" - -"dns-equal@^1.0.0": - "integrity" "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" - "resolved" "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz" - "version" "1.0.0" - -"dns-packet@^1.3.1": - "integrity" "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==" - "resolved" "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz" - "version" "1.3.4" - dependencies: - "ip" "^1.1.0" - "safe-buffer" "^5.0.1" - -"dns-txt@^2.0.2": - "integrity" "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=" - "resolved" "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "buffer-indexof" "^1.0.0" - -"dom-converter@^0.2.0": - "integrity" "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==" - "resolved" "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" - "version" "0.2.0" - dependencies: - "utila" "~0.4" - -"dom-serializer@^1.0.1": - "integrity" "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==" - "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "domelementtype" "^2.0.1" - "domhandler" "^4.2.0" - "entities" "^2.0.0" - -"dom-serializer@~0.1.0": - "integrity" "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==" - "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz" - "version" "0.1.1" - dependencies: - "domelementtype" "^1.3.0" - "entities" "^1.1.1" - -"dom-serializer@0": - "integrity" "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==" - "resolved" "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" - "version" "0.2.2" - dependencies: - "domelementtype" "^2.0.1" - "entities" "^2.0.0" - -"domelementtype@^1.3.0", "domelementtype@^1.3.1", "domelementtype@1": - "integrity" "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - "resolved" "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" - "version" "1.3.1" - -"domelementtype@^2.0.1", "domelementtype@^2.2.0": - "integrity" "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" - "resolved" "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz" - "version" "2.2.0" - -"domhandler@^2.3.0": - "integrity" "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==" - "resolved" "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz" - "version" "2.4.2" - dependencies: - "domelementtype" "1" + globby "^6.1.0" + is-path-cwd "^2.0.0" + is-path-in-cwd "^2.0.0" + p-map "^2.0.0" + pify "^4.0.1" + rimraf "^2.6.3" + +del@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/del/-/del-6.0.0.tgz" + integrity sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ== + dependencies: + globby "^11.0.1" + graceful-fs "^4.2.4" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.2" + p-map "^4.0.0" + rimraf "^3.0.2" + slash "^3.0.0" + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detab@2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz" + integrity sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g== + dependencies: + repeat-string "^1.5.4" + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +detect-port-alt@1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz" + integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== + dependencies: + address "^1.0.1" + debug "^2.6.0" + +detect-port@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/detect-port/-/detect-port-1.3.0.tgz" + integrity sha512-E+B1gzkl2gqxt1IhUzwjrxBKRqx1UzC3WLONHinn8S3T6lwV/agVCyitiFOsGJ/eYuEUBvD71MZHy3Pv1G9doQ== + dependencies: + address "^1.0.1" + debug "^2.6.0" + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz" + integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + +dns-packet@^1.3.1: + version "1.3.4" + resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz" + integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz" + integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + dependencies: + buffer-indexof "^1.0.0" + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-serializer@^1.0.1: + version "1.3.2" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz" + integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +dom-serializer@~0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz" + integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== + dependencies: + domelementtype "^1.3.0" + entities "^1.1.1" + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +domelementtype@^1.3.0, domelementtype@^1.3.1, domelementtype@1: + version "1.3.1" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz" + integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + dependencies: + domelementtype "1" -"domhandler@^4.0.0", "domhandler@^4.2.0": - "integrity" "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==" - "resolved" "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "domelementtype" "^2.2.0" +domhandler@^4.0.0, domhandler@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz" + integrity sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA== + dependencies: + domelementtype "^2.2.0" -"domutils@^1.5.1": - "integrity" "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==" - "resolved" "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" - "version" "1.7.0" +domutils@^1.5.1: + version "1.7.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== dependencies: - "dom-serializer" "0" - "domelementtype" "1" + dom-serializer "0" + domelementtype "1" -"domutils@^1.7.0": - "integrity" "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==" - "resolved" "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" - "version" "1.7.0" +domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== dependencies: - "dom-serializer" "0" - "domelementtype" "1" + dom-serializer "0" + domelementtype "1" -"domutils@^2.5.2", "domutils@^2.6.0": - "integrity" "sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==" - "resolved" "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz" - "version" "2.7.0" +domutils@^2.5.2, domutils@^2.6.0: + version "2.7.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-2.7.0.tgz" + integrity sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg== dependencies: - "dom-serializer" "^1.0.1" - "domelementtype" "^2.2.0" - "domhandler" "^4.2.0" - -"domutils@1.5.1": - "integrity" "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=" - "resolved" "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz" - "version" "1.5.1" - dependencies: - "dom-serializer" "0" - "domelementtype" "1" + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +domutils@1.5.1: + version "1.5.1" + resolved "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz" + integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= + dependencies: + dom-serializer "0" + domelementtype "1" -"dot-case@^3.0.4": - "integrity" "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==" - "resolved" "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "no-case" "^3.0.4" - "tslib" "^2.0.3" +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" -"dot-prop@^5.2.0": - "integrity" "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==" - "resolved" "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" - "version" "5.3.0" - dependencies: - "is-obj" "^2.0.0" +dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + dependencies: + is-obj "^2.0.0" -"duplexer@^0.1.1", "duplexer@^0.1.2": - "integrity" "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - "resolved" "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" - "version" "0.1.2" - -"duplexer3@^0.1.4": - "integrity" "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - "resolved" "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz" - "version" "0.1.4" - -"ee-first@1.1.1": - "integrity" "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - "resolved" "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" - "version" "1.1.1" - -"electron-to-chromium@^1.3.564", "electron-to-chromium@^1.3.723": - "integrity" "sha512-Fggh17Q1yyv1uMzq8Qn1Ci58P50qcRXMXd2MBcB9sxo6rJxjUutWcNw8uCm3gFWMdcblBO6mDT5HzX/RVRRECA==" - "resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.774.tgz" - "version" "1.3.774" +duplexer@^0.1.1, duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz" + integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +electron-to-chromium@^1.3.564, electron-to-chromium@^1.3.723: + version "1.3.774" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.774.tgz" + integrity sha512-Fggh17Q1yyv1uMzq8Qn1Ci58P50qcRXMXd2MBcB9sxo6rJxjUutWcNw8uCm3gFWMdcblBO6mDT5HzX/RVRRECA== -"emoji-regex@^7.0.1": - "integrity" "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" - "version" "7.0.3" +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== -"emoji-regex@^8.0.0": - "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - "version" "8.0.0" +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== "emoji-regex@>=6.0.0 <=6.1.1": - "integrity" "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4=" - "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz" - "version" "6.1.1" - -"emojis-list@^3.0.0": - "integrity" "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" - "resolved" "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" - "version" "3.0.0" - -"emoticon@^3.2.0": - "integrity" "sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg==" - "resolved" "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz" - "version" "3.2.0" - -"encodeurl@~1.0.2": - "integrity" "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - "resolved" "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" - "version" "1.0.2" - -"end-of-stream@^1.1.0": - "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" - "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - "version" "1.4.4" - dependencies: - "once" "^1.4.0" - -"enhanced-resolve@^5.8.0": - "integrity" "sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==" - "resolved" "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz" - "version" "5.8.2" - dependencies: - "graceful-fs" "^4.2.4" - "tapable" "^2.2.0" - -"entities@^1.1.1", "entities@~1.1.1": - "integrity" "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - "resolved" "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz" - "version" "1.1.2" - -"entities@^2.0.0": - "integrity" "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - "resolved" "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" - "version" "2.2.0" - -"errno@^0.1.3": - "integrity" "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==" - "resolved" "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz" - "version" "0.1.8" - dependencies: - "prr" "~1.0.1" - -"error-ex@^1.3.1": - "integrity" "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==" - "resolved" "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "is-arrayish" "^0.2.1" - -"es-abstract@^1.17.2", "es-abstract@^1.18.0-next.2", "es-abstract@^1.18.2": - "integrity" "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==" - "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz" - "version" "1.18.3" - dependencies: - "call-bind" "^1.0.2" - "es-to-primitive" "^1.2.1" - "function-bind" "^1.1.1" - "get-intrinsic" "^1.1.1" - "has" "^1.0.3" - "has-symbols" "^1.0.2" - "is-callable" "^1.2.3" - "is-negative-zero" "^2.0.1" - "is-regex" "^1.1.3" - "is-string" "^1.0.6" - "object-inspect" "^1.10.3" - "object-keys" "^1.1.1" - "object.assign" "^4.1.2" - "string.prototype.trimend" "^1.0.4" - "string.prototype.trimstart" "^1.0.4" - "unbox-primitive" "^1.0.1" - -"es-module-lexer@^0.7.1": - "integrity" "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==" - "resolved" "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz" - "version" "0.7.1" - -"es-to-primitive@^1.2.1": - "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==" - "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - "version" "1.2.1" - dependencies: - "is-callable" "^1.1.4" - "is-date-object" "^1.0.1" - "is-symbol" "^1.0.2" - -"escalade@^3.0.2", "escalade@^3.1.1": - "integrity" "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" - "resolved" "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - "version" "3.1.1" - -"escape-goat@^2.0.0": - "integrity" "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==" - "resolved" "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz" - "version" "2.1.1" - -"escape-html@^1.0.3", "escape-html@~1.0.3": - "integrity" "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - "resolved" "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" - "version" "1.0.3" - -"escape-string-regexp@^1.0.5": - "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - "version" "1.0.5" - -"escape-string-regexp@^4.0.0": - "integrity" "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - "version" "4.0.0" - -"escape-string-regexp@2.0.0": - "integrity" "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" - "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - "version" "2.0.0" - -"eslint-scope@5.1.1": - "integrity" "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==" - "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "esrecurse" "^4.3.0" - "estraverse" "^4.1.1" - -"esprima@^4.0.0": - "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - "version" "4.0.1" - -"esrecurse@^4.3.0": - "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==" - "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "estraverse" "^5.2.0" - -"estraverse@^4.1.1": - "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - "version" "4.3.0" - -"estraverse@^5.2.0": - "integrity" "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" - "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" - "version" "5.2.0" - -"esutils@^2.0.2": - "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" - "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - "version" "2.0.3" - -"eta@^1.12.1": - "integrity" "sha512-qHixwbDLtekO/d51Yr4glcaUJCIjGVJyTzuqV4GPlgZo1YpgOKG+avQynErZIYrfM6JIJdtiG2Kox8tbb+DoGg==" - "resolved" "https://registry.npmjs.org/eta/-/eta-1.12.3.tgz" - "version" "1.12.3" - -"etag@~1.8.1": - "integrity" "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - "resolved" "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" - "version" "1.8.1" - -"eval@^0.1.4": - "integrity" "sha512-o0XUw+5OGkXw4pJZzQoXUk+H87DHuC+7ZE//oSrRGtatTmr12oTnLfg6QOq9DyTt0c/p4TwzgmkKrBzWTSizyQ==" - "resolved" "https://registry.npmjs.org/eval/-/eval-0.1.6.tgz" - "version" "0.1.6" - dependencies: - "require-like" ">= 0.1.1" - -"eventemitter3@^4.0.0": - "integrity" "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - "resolved" "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" - "version" "4.0.7" - -"events@^1.1.1": - "integrity" "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" - "resolved" "https://registry.npmjs.org/events/-/events-1.1.1.tgz" - "version" "1.1.1" - -"events@^3.2.0": - "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" - "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - "version" "3.3.0" - -"eventsource@^1.0.7": - "integrity" "sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==" - "resolved" "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "original" "^1.0.0" - -"execa@^1.0.0": - "integrity" "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==" - "resolved" "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "cross-spawn" "^6.0.0" - "get-stream" "^4.0.0" - "is-stream" "^1.1.0" - "npm-run-path" "^2.0.0" - "p-finally" "^1.0.0" - "signal-exit" "^3.0.0" - "strip-eof" "^1.0.0" - -"execa@^5.0.0": - "integrity" "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==" - "resolved" "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "cross-spawn" "^7.0.3" - "get-stream" "^6.0.0" - "human-signals" "^2.1.0" - "is-stream" "^2.0.0" - "merge-stream" "^2.0.0" - "npm-run-path" "^4.0.1" - "onetime" "^5.1.2" - "signal-exit" "^3.0.3" - "strip-final-newline" "^2.0.0" - -"expand-brackets@^2.1.4": - "integrity" "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=" - "resolved" "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" - "version" "2.1.4" - dependencies: - "debug" "^2.3.3" - "define-property" "^0.2.5" - "extend-shallow" "^2.0.1" - "posix-character-classes" "^0.1.0" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.1" - -"express@^4.17.1": - "integrity" "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==" - "resolved" "https://registry.npmjs.org/express/-/express-4.17.1.tgz" - "version" "4.17.1" - dependencies: - "accepts" "~1.3.7" - "array-flatten" "1.1.1" - "body-parser" "1.19.0" - "content-disposition" "0.5.3" - "content-type" "~1.0.4" - "cookie" "0.4.0" - "cookie-signature" "1.0.6" - "debug" "2.6.9" - "depd" "~1.1.2" - "encodeurl" "~1.0.2" - "escape-html" "~1.0.3" - "etag" "~1.8.1" - "finalhandler" "~1.1.2" - "fresh" "0.5.2" - "merge-descriptors" "1.0.1" - "methods" "~1.1.2" - "on-finished" "~2.3.0" - "parseurl" "~1.3.3" - "path-to-regexp" "0.1.7" - "proxy-addr" "~2.0.5" - "qs" "6.7.0" - "range-parser" "~1.2.1" - "safe-buffer" "5.1.2" - "send" "0.17.1" - "serve-static" "1.14.1" - "setprototypeof" "1.1.1" - "statuses" "~1.5.0" - "type-is" "~1.6.18" - "utils-merge" "1.0.1" - "vary" "~1.1.2" - -"extend-shallow@^2.0.1": - "integrity" "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=" - "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "is-extendable" "^0.1.0" - -"extend-shallow@^3.0.0": - "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=" - "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "assign-symbols" "^1.0.0" - "is-extendable" "^1.0.1" - -"extend-shallow@^3.0.2": - "integrity" "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=" - "resolved" "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "assign-symbols" "^1.0.0" - "is-extendable" "^1.0.1" - -"extend@^3.0.0": - "integrity" "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - "resolved" "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" - "version" "3.0.2" - -"extglob@^2.0.4": - "integrity" "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==" - "resolved" "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "array-unique" "^0.3.2" - "define-property" "^1.0.0" - "expand-brackets" "^2.1.4" - "extend-shallow" "^2.0.1" - "fragment-cache" "^0.2.1" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.1" - -"fast-deep-equal@^3.1.1": - "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" - "version" "3.1.3" - -"fast-glob@^3.1.1", "fast-glob@^3.2.5": - "integrity" "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==" - "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz" - "version" "3.2.7" + version "6.1.1" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz" + integrity sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4= + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +emoticon@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/emoticon/-/emoticon-3.2.0.tgz" + integrity sha512-SNujglcLTTg+lDAcApPNgEdudaqQFiAbJCqzjNxJkvN9vAwCGi0uu8IUVvx+f16h+V44KCY6Y2yboroc9pilHg== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^5.8.0: + version "5.8.2" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz" + integrity sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +entities@^1.1.1, entities@~1.1.1: + version "1.1.2" + resolved "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz" + integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +errno@^0.1.3: + version "0.1.8" + resolved "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.17.2, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: + version "1.18.3" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz" + integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.2" + is-callable "^1.2.3" + is-negative-zero "^2.0.1" + is-regex "^1.1.3" + is-string "^1.0.6" + object-inspect "^1.10.3" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + +es-module-lexer@^0.7.1: + version "0.7.1" + resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz" + integrity sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw== + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +escalade@^3.0.2, escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-goat@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz" + integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== + +escape-html@^1.0.3, escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +eta@^1.12.1: + version "1.12.3" + resolved "https://registry.npmjs.org/eta/-/eta-1.12.3.tgz" + integrity sha512-qHixwbDLtekO/d51Yr4glcaUJCIjGVJyTzuqV4GPlgZo1YpgOKG+avQynErZIYrfM6JIJdtiG2Kox8tbb+DoGg== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +eval@^0.1.4: + version "0.1.6" + resolved "https://registry.npmjs.org/eval/-/eval-0.1.6.tgz" + integrity sha512-o0XUw+5OGkXw4pJZzQoXUk+H87DHuC+7ZE//oSrRGtatTmr12oTnLfg6QOq9DyTt0c/p4TwzgmkKrBzWTSizyQ== + dependencies: + require-like ">= 0.1.1" + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/events/-/events-1.1.1.tgz" + integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +eventsource@^1.0.7: + version "1.1.0" + resolved "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz" + integrity sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg== + dependencies: + original "^1.0.0" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +express@^4.17.1: + version "4.17.1" + resolved "https://registry.npmjs.org/express/-/express-4.17.1.tgz" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.1.1, fast-glob@^3.2.5: + version "3.2.7" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - "glob-parent" "^5.1.2" - "merge2" "^1.3.0" - "micromatch" "^4.0.4" - -"fast-json-stable-stringify@^2.0.0": - "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" - "version" "2.1.0" - -"fast-url-parser@1.1.3": - "integrity" "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=" - "resolved" "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "punycode" "^1.3.2" - -"fastq@^1.6.0": - "integrity" "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==" - "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz" - "version" "1.11.1" - dependencies: - "reusify" "^1.0.4" - -"faye-websocket@^0.11.3": - "integrity" "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==" - "resolved" "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" - "version" "0.11.4" - dependencies: - "websocket-driver" ">=0.5.1" - -"fbemitter@^3.0.0": - "integrity" "sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==" - "resolved" "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "fbjs" "^3.0.0" - -"fbjs-css-vars@^1.0.0": - "integrity" "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" - "resolved" "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz" - "version" "1.0.2" - -"fbjs@^3.0.0": - "integrity" "sha512-dJd4PiDOFuhe7vk4F80Mba83Vr2QuK86FoxtgPmzBqEJahncp+13YCmfoa53KHCo6OnlXLG7eeMWPfB5CrpVKg==" - "resolved" "https://registry.npmjs.org/fbjs/-/fbjs-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "cross-fetch" "^3.0.4" - "fbjs-css-vars" "^1.0.0" - "loose-envify" "^1.0.0" - "object-assign" "^4.1.0" - "promise" "^7.1.1" - "setimmediate" "^1.0.5" - "ua-parser-js" "^0.7.18" - -"feed@^4.2.2": - "integrity" "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==" - "resolved" "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz" - "version" "4.2.2" - dependencies: - "xml-js" "^1.6.11" - -"figures@^3.2.0": - "integrity" "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" - "resolved" "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" - "version" "3.2.0" - dependencies: - "escape-string-regexp" "^1.0.5" - -"file-loader@*", "file-loader@^6.2.0": - "integrity" "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==" - "resolved" "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" - "version" "6.2.0" - dependencies: - "loader-utils" "^2.0.0" - "schema-utils" "^3.0.0" - -"file-uri-to-path@1.0.0": - "integrity" "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - "resolved" "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" - "version" "1.0.0" - -"filesize@6.1.0": - "integrity" "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==" - "resolved" "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz" - "version" "6.1.0" - -"fill-range@^4.0.0": - "integrity" "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=" - "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "extend-shallow" "^2.0.1" - "is-number" "^3.0.0" - "repeat-string" "^1.6.1" - "to-regex-range" "^2.1.0" - -"fill-range@^7.0.1": - "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==" - "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - "version" "7.0.1" - dependencies: - "to-regex-range" "^5.0.1" - -"finalhandler@~1.1.2": - "integrity" "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==" - "resolved" "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz" - "version" "1.1.2" - dependencies: - "debug" "2.6.9" - "encodeurl" "~1.0.2" - "escape-html" "~1.0.3" - "on-finished" "~2.3.0" - "parseurl" "~1.3.3" - "statuses" "~1.5.0" - "unpipe" "~1.0.0" - -"find-cache-dir@^3.3.1": - "integrity" "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==" - "resolved" "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz" - "version" "3.3.1" - dependencies: - "commondir" "^1.0.1" - "make-dir" "^3.0.2" - "pkg-dir" "^4.1.0" - -"find-up@^3.0.0": - "integrity" "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "locate-path" "^3.0.0" - -"find-up@^4.0.0", "find-up@4.1.0": - "integrity" "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "locate-path" "^5.0.0" - "path-exists" "^4.0.0" - -"find-up@^5.0.0": - "integrity" "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==" - "resolved" "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "locate-path" "^6.0.0" - "path-exists" "^4.0.0" - -"flux@^4.0.1": - "integrity" "sha512-emk4RCvJ8RzNP2lNpphKnG7r18q8elDYNAPx7xn+bDeOIo9FFfxEfIQ2y6YbQNmnsGD3nH1noxtLE64Puz1bRQ==" - "resolved" "https://registry.npmjs.org/flux/-/flux-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "fbemitter" "^3.0.0" - "fbjs" "^3.0.0" - -"follow-redirects@^1.0.0", "follow-redirects@^1.10.0": - "integrity" "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==" - "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz" - "version" "1.14.1" - -"for-in@^1.0.2": - "integrity" "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - "resolved" "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" - "version" "1.0.2" - -"fork-ts-checker-webpack-plugin@4.1.6": - "integrity" "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==" - "resolved" "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz" - "version" "4.1.6" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-url-parser@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz" + integrity sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0= + dependencies: + punycode "^1.3.2" + +fastq@^1.6.0: + version "1.11.1" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz" + integrity sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw== + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +fbemitter@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/fbemitter/-/fbemitter-3.0.0.tgz" + integrity sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw== + dependencies: + fbjs "^3.0.0" + +fbjs-css-vars@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz" + integrity sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ== + +fbjs@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/fbjs/-/fbjs-3.0.0.tgz" + integrity sha512-dJd4PiDOFuhe7vk4F80Mba83Vr2QuK86FoxtgPmzBqEJahncp+13YCmfoa53KHCo6OnlXLG7eeMWPfB5CrpVKg== + dependencies: + cross-fetch "^3.0.4" + fbjs-css-vars "^1.0.0" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.18" + +feed@^4.2.2: + version "4.2.2" + resolved "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz" + integrity sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ== + dependencies: + xml-js "^1.6.11" + +figures@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" + integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + dependencies: + escape-string-regexp "^1.0.5" + +file-loader@*, file-loader@^6.2.0: + version "6.2.0" + resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" + integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +filesize@6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz" + integrity sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg== + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-cache-dir@^3.3.1: + version "3.3.1" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz" + integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0, find-up@4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flux@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/flux/-/flux-4.0.1.tgz" + integrity sha512-emk4RCvJ8RzNP2lNpphKnG7r18q8elDYNAPx7xn+bDeOIo9FFfxEfIQ2y6YbQNmnsGD3nH1noxtLE64Puz1bRQ== + dependencies: + fbemitter "^3.0.0" + fbjs "^3.0.0" + +follow-redirects@^1.0.0, follow-redirects@^1.10.0: + version "1.14.1" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz" + integrity sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg== + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +fork-ts-checker-webpack-plugin@4.1.6: + version "4.1.6" + resolved "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz" + integrity sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw== dependencies: "@babel/code-frame" "^7.5.5" - "chalk" "^2.4.1" - "micromatch" "^3.1.10" - "minimatch" "^3.0.4" - "semver" "^5.6.0" - "tapable" "^1.0.0" - "worker-rpc" "^0.1.0" - -"forwarded@0.2.0": - "integrity" "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - "resolved" "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" - "version" "0.2.0" - -"fraction.js@^4.1.1": - "integrity" "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==" - "resolved" "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz" - "version" "4.1.1" - -"fragment-cache@^0.2.1": - "integrity" "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=" - "resolved" "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" - "version" "0.2.1" - dependencies: - "map-cache" "^0.2.2" - -"fresh@0.5.2": - "integrity" "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - "resolved" "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" - "version" "0.5.2" - -"fs-extra@^10.0.0": - "integrity" "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==" - "resolved" "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz" - "version" "10.0.0" - dependencies: - "graceful-fs" "^4.2.0" - "jsonfile" "^6.0.1" - "universalify" "^2.0.0" - -"fs.realpath@^1.0.0": - "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - "version" "1.0.0" - -"fsevents@^1.2.7": - "integrity" "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==" - "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz" - "version" "1.2.13" - dependencies: - "bindings" "^1.5.0" - "nan" "^2.12.1" - -"fsevents@~2.3.2": - "integrity" "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==" - "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" - "version" "2.3.2" - -"function-bind@^1.1.1": - "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - "version" "1.1.1" - -"gensync@^1.0.0-beta.1", "gensync@^1.0.0-beta.2": - "integrity" "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" - "resolved" "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" - "version" "1.0.0-beta.2" - -"get-caller-file@^2.0.1": - "integrity" "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - "resolved" "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - "version" "2.0.5" - -"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.1": - "integrity" "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==" - "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "function-bind" "^1.1.1" - "has" "^1.0.3" - "has-symbols" "^1.0.1" - -"get-own-enumerable-property-symbols@^3.0.0": - "integrity" "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" - "resolved" "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" - "version" "3.0.2" - -"get-stream@^4.0.0", "get-stream@^4.1.0": - "integrity" "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "pump" "^3.0.0" - -"get-stream@^5.1.0": - "integrity" "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "pump" "^3.0.0" - -"get-stream@^6.0.0": - "integrity" "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - "version" "6.0.1" - -"get-value@^2.0.3", "get-value@^2.0.6": - "integrity" "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - "resolved" "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" - "version" "2.0.6" - -"github-slugger@^1.3.0": - "integrity" "sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q==" - "resolved" "https://registry.npmjs.org/github-slugger/-/github-slugger-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "emoji-regex" ">=6.0.0 <=6.1.1" - -"glob-parent@^3.1.0": - "integrity" "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "is-glob" "^3.1.0" - "path-dirname" "^1.0.0" - -"glob-parent@^5.1.2", "glob-parent@~5.1.2": - "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "is-glob" "^4.0.1" - -"glob-parent@^6.0.0": - "integrity" "sha512-Hdd4287VEJcZXUwv1l8a+vXC1GjOQqXe+VS30w/ypihpcnu9M1n3xeYeJu5CBpeEQj2nAab2xxz28GuA3vp4Ww==" - "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "is-glob" "^4.0.1" - -"glob-to-regexp@^0.4.1": - "integrity" "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" - "resolved" "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" - "version" "0.4.1" - -"glob@^7.0.0", "glob@^7.0.3", "glob@^7.1.3": - "integrity" "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==" - "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" - "version" "7.1.7" - dependencies: - "fs.realpath" "^1.0.0" - "inflight" "^1.0.4" - "inherits" "2" - "minimatch" "^3.0.4" - "once" "^1.3.0" - "path-is-absolute" "^1.0.0" - -"global-dirs@^3.0.0": - "integrity" "sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA==" - "resolved" "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "ini" "2.0.0" - -"global-modules@2.0.0": - "integrity" "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==" - "resolved" "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "global-prefix" "^3.0.0" - -"global-prefix@^3.0.0": - "integrity" "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==" - "resolved" "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "ini" "^1.3.5" - "kind-of" "^6.0.2" - "which" "^1.3.1" - -"globals@^11.1.0": - "integrity" "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - "resolved" "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - "version" "11.12.0" - -"globby@^11.0.1", "globby@^11.0.2", "globby@^11.0.3": - "integrity" "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==" - "resolved" "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz" - "version" "11.0.4" - dependencies: - "array-union" "^2.1.0" - "dir-glob" "^3.0.1" - "fast-glob" "^3.1.1" - "ignore" "^5.1.4" - "merge2" "^1.3.0" - "slash" "^3.0.0" - -"globby@^6.1.0": - "integrity" "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=" - "resolved" "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "array-union" "^1.0.1" - "glob" "^7.0.3" - "object-assign" "^4.0.1" - "pify" "^2.0.0" - "pinkie-promise" "^2.0.0" - -"globby@11.0.1": - "integrity" "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==" - "resolved" "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz" - "version" "11.0.1" - dependencies: - "array-union" "^2.1.0" - "dir-glob" "^3.0.1" - "fast-glob" "^3.1.1" - "ignore" "^5.1.4" - "merge2" "^1.3.0" - "slash" "^3.0.0" - -"got@^9.6.0": - "integrity" "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==" - "resolved" "https://registry.npmjs.org/got/-/got-9.6.0.tgz" - "version" "9.6.0" + chalk "^2.4.1" + micromatch "^3.1.10" + minimatch "^3.0.4" + semver "^5.6.0" + tapable "^1.0.0" + worker-rpc "^0.1.0" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fraction.js@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz" + integrity sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg== + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +fs-extra@^10.0.0: + version "10.0.0" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz" + integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz" + integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-own-enumerable-property-symbols@^3.0.0: + version "3.0.2" + resolved "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + +get-stream@^4.0.0, get-stream@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^5.1.0: + version "5.2.0" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" + integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +github-slugger@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-1.3.0.tgz" + integrity sha512-gwJScWVNhFYSRDvURk/8yhcFBee6aFjye2a7Lhb2bUyRulpIoek9p0I9Kt7PT67d/nUlZbFu8L9RLiA0woQN8Q== + dependencies: + emoji-regex ">=6.0.0 <=6.1.1" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.0.tgz" + integrity sha512-Hdd4287VEJcZXUwv1l8a+vXC1GjOQqXe+VS30w/ypihpcnu9M1n3xeYeJu5CBpeEQj2nAab2xxz28GuA3vp4Ww== + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.4.1: + 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== + +glob@^7.0.0, glob@^7.0.3, glob@^7.1.3: + version "7.1.7" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-dirs@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.0.tgz" + integrity sha512-v8ho2DS5RiCjftj1nD9NmnfaOzTdud7RRnVd9kFNOjqZbISlx5DQ+OrTkywgd0dIt7oFCvKetZSHoHcP3sDdiA== + dependencies: + ini "2.0.0" + +global-modules@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globby@^11.0.1, globby@^11.0.2, globby@^11.0.3: + version "11.0.4" + resolved "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz" + integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globby@11.0.1: + version "11.0.1" + resolved "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz" + integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +got@^9.6.0: + version "9.6.0" + resolved "https://registry.npmjs.org/got/-/got-9.6.0.tgz" + integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== dependencies: "@sindresorhus/is" "^0.14.0" "@szmarczak/http-timer" "^1.1.2" - "cacheable-request" "^6.0.0" - "decompress-response" "^3.3.0" - "duplexer3" "^0.1.4" - "get-stream" "^4.1.0" - "lowercase-keys" "^1.0.1" - "mimic-response" "^1.0.1" - "p-cancelable" "^1.0.0" - "to-readable-stream" "^1.0.0" - "url-parse-lax" "^3.0.0" - -"graceful-fs@^4.1.11", "graceful-fs@^4.1.2", "graceful-fs@^4.1.6", "graceful-fs@^4.2.0", "graceful-fs@^4.2.4": - "integrity" "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" - "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz" - "version" "4.2.6" - -"gray-matter@^4.0.3": - "integrity" "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==" - "resolved" "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" - "version" "4.0.3" - dependencies: - "js-yaml" "^3.13.1" - "kind-of" "^6.0.2" - "section-matter" "^1.0.0" - "strip-bom-string" "^1.0.0" - -"gzip-size@^6.0.0": - "integrity" "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==" - "resolved" "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "duplexer" "^0.1.2" - -"gzip-size@5.1.1": - "integrity" "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==" - "resolved" "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "duplexer" "^0.1.1" - "pify" "^4.0.1" - -"handle-thing@^2.0.0": - "integrity" "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" - "resolved" "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" - "version" "2.0.1" - -"has-bigints@^1.0.1": - "integrity" "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" - "resolved" "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz" - "version" "1.0.1" - -"has-flag@^3.0.0": - "integrity" "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - "version" "3.0.0" - -"has-flag@^4.0.0": - "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - "version" "4.0.0" - -"has-symbols@^1.0.1", "has-symbols@^1.0.2": - "integrity" "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" - "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz" - "version" "1.0.2" - -"has-value@^0.3.1": - "integrity" "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=" - "resolved" "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" - "version" "0.3.1" - dependencies: - "get-value" "^2.0.3" - "has-values" "^0.1.4" - "isobject" "^2.0.0" - -"has-value@^1.0.0": - "integrity" "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=" - "resolved" "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "get-value" "^2.0.6" - "has-values" "^1.0.0" - "isobject" "^3.0.0" - -"has-values@^0.1.4": - "integrity" "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - "resolved" "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" - "version" "0.1.4" - -"has-values@^1.0.0": - "integrity" "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=" - "resolved" "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "is-number" "^3.0.0" - "kind-of" "^4.0.0" - -"has-yarn@^2.1.0": - "integrity" "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==" - "resolved" "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz" - "version" "2.1.0" - -"has@^1.0.3": - "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==" - "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - "version" "1.0.3" - dependencies: - "function-bind" "^1.1.1" - -"hast-to-hyperscript@^9.0.0": - "integrity" "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==" - "resolved" "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz" - "version" "9.0.1" + cacheable-request "^6.0.0" + decompress-response "^3.3.0" + duplexer3 "^0.1.4" + get-stream "^4.1.0" + lowercase-keys "^1.0.1" + mimic-response "^1.0.1" + p-cancelable "^1.0.0" + to-readable-stream "^1.0.0" + url-parse-lax "^3.0.0" + +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: + version "4.2.6" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz" + integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + +gray-matter@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" + integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== + dependencies: + js-yaml "^3.13.1" + kind-of "^6.0.2" + section-matter "^1.0.0" + strip-bom-string "^1.0.0" + +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + +gzip-size@5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz" + integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== + dependencies: + duplexer "^0.1.1" + pify "^4.0.1" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz" + integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has-yarn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz" + integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hast-to-hyperscript@^9.0.0: + version "9.0.1" + resolved "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz" + integrity sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA== dependencies: "@types/unist" "^2.0.3" - "comma-separated-tokens" "^1.0.0" - "property-information" "^5.3.0" - "space-separated-tokens" "^1.0.0" - "style-to-object" "^0.3.0" - "unist-util-is" "^4.0.0" - "web-namespaces" "^1.0.0" - -"hast-util-from-parse5@^5.0.0": - "integrity" "sha512-gOc8UB99F6eWVWFtM9jUikjN7QkWxB3nY0df5Z0Zq1/Nkwl5V4hAAsl0tmwlgWl/1shlTF8DnNYLO8X6wRV9pA==" - "resolved" "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-5.0.3.tgz" - "version" "5.0.3" - dependencies: - "ccount" "^1.0.3" - "hastscript" "^5.0.0" - "property-information" "^5.0.0" - "web-namespaces" "^1.1.2" - "xtend" "^4.0.1" - -"hast-util-from-parse5@^6.0.0": - "integrity" "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==" - "resolved" "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz" - "version" "6.0.1" + comma-separated-tokens "^1.0.0" + property-information "^5.3.0" + space-separated-tokens "^1.0.0" + style-to-object "^0.3.0" + unist-util-is "^4.0.0" + web-namespaces "^1.0.0" + +hast-util-from-parse5@^5.0.0: + version "5.0.3" + resolved "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-5.0.3.tgz" + integrity sha512-gOc8UB99F6eWVWFtM9jUikjN7QkWxB3nY0df5Z0Zq1/Nkwl5V4hAAsl0tmwlgWl/1shlTF8DnNYLO8X6wRV9pA== + dependencies: + ccount "^1.0.3" + hastscript "^5.0.0" + property-information "^5.0.0" + web-namespaces "^1.1.2" + xtend "^4.0.1" + +hast-util-from-parse5@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz" + integrity sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA== dependencies: "@types/parse5" "^5.0.0" - "hastscript" "^6.0.0" - "property-information" "^5.0.0" - "vfile" "^4.0.0" - "vfile-location" "^3.2.0" - "web-namespaces" "^1.0.0" - -"hast-util-parse-selector@^2.0.0": - "integrity" "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==" - "resolved" "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz" - "version" "2.2.5" - -"hast-util-raw@6.0.1": - "integrity" "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==" - "resolved" "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz" - "version" "6.0.1" + hastscript "^6.0.0" + property-information "^5.0.0" + vfile "^4.0.0" + vfile-location "^3.2.0" + web-namespaces "^1.0.0" + +hast-util-parse-selector@^2.0.0: + version "2.2.5" + resolved "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz" + integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ== + +hast-util-raw@6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz" + integrity sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig== dependencies: "@types/hast" "^2.0.0" - "hast-util-from-parse5" "^6.0.0" - "hast-util-to-parse5" "^6.0.0" - "html-void-elements" "^1.0.0" - "parse5" "^6.0.0" - "unist-util-position" "^3.0.0" - "vfile" "^4.0.0" - "web-namespaces" "^1.0.0" - "xtend" "^4.0.0" - "zwitch" "^1.0.0" - -"hast-util-to-parse5@^6.0.0": - "integrity" "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==" - "resolved" "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "hast-to-hyperscript" "^9.0.0" - "property-information" "^5.0.0" - "web-namespaces" "^1.0.0" - "xtend" "^4.0.0" - "zwitch" "^1.0.0" - -"hastscript@^5.0.0": - "integrity" "sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==" - "resolved" "https://registry.npmjs.org/hastscript/-/hastscript-5.1.2.tgz" - "version" "5.1.2" - dependencies: - "comma-separated-tokens" "^1.0.0" - "hast-util-parse-selector" "^2.0.0" - "property-information" "^5.0.0" - "space-separated-tokens" "^1.0.0" - -"hastscript@^6.0.0": - "integrity" "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==" - "resolved" "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz" - "version" "6.0.0" + hast-util-from-parse5 "^6.0.0" + hast-util-to-parse5 "^6.0.0" + html-void-elements "^1.0.0" + parse5 "^6.0.0" + unist-util-position "^3.0.0" + vfile "^4.0.0" + web-namespaces "^1.0.0" + xtend "^4.0.0" + zwitch "^1.0.0" + +hast-util-to-parse5@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz" + integrity sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ== + dependencies: + hast-to-hyperscript "^9.0.0" + property-information "^5.0.0" + web-namespaces "^1.0.0" + xtend "^4.0.0" + zwitch "^1.0.0" + +hastscript@^5.0.0: + version "5.1.2" + resolved "https://registry.npmjs.org/hastscript/-/hastscript-5.1.2.tgz" + integrity sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ== + dependencies: + comma-separated-tokens "^1.0.0" + hast-util-parse-selector "^2.0.0" + property-information "^5.0.0" + space-separated-tokens "^1.0.0" + +hastscript@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz" + integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w== dependencies: "@types/hast" "^2.0.0" - "comma-separated-tokens" "^1.0.0" - "hast-util-parse-selector" "^2.0.0" - "property-information" "^5.0.0" - "space-separated-tokens" "^1.0.0" - -"he@^1.2.0": - "integrity" "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - "resolved" "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - "version" "1.2.0" - -"hex-color-regex@^1.1.0": - "integrity" "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" - "resolved" "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz" - "version" "1.1.0" - -"history@^4.9.0": - "integrity" "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==" - "resolved" "https://registry.npmjs.org/history/-/history-4.10.1.tgz" - "version" "4.10.1" + comma-separated-tokens "^1.0.0" + hast-util-parse-selector "^2.0.0" + property-information "^5.0.0" + space-separated-tokens "^1.0.0" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz" + integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== + +history@^4.9.0: + version "4.10.1" + resolved "https://registry.npmjs.org/history/-/history-4.10.1.tgz" + integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== dependencies: "@babel/runtime" "^7.1.2" - "loose-envify" "^1.2.0" - "resolve-pathname" "^3.0.0" - "tiny-invariant" "^1.0.2" - "tiny-warning" "^1.0.0" - "value-equal" "^1.0.1" - -"hoist-non-react-statics@^3.1.0": - "integrity" "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==" - "resolved" "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" - "version" "3.3.2" - dependencies: - "react-is" "^16.7.0" - -"hpack.js@^2.1.6": - "integrity" "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=" - "resolved" "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" - "version" "2.1.6" - dependencies: - "inherits" "^2.0.1" - "obuf" "^1.0.0" - "readable-stream" "^2.0.1" - "wbuf" "^1.1.0" - -"hsl-regex@^1.0.0": - "integrity" "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" - "resolved" "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz" - "version" "1.0.0" - -"hsla-regex@^1.0.0": - "integrity" "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" - "resolved" "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz" - "version" "1.0.0" - -"html-entities@^1.3.1": - "integrity" "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" - "resolved" "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz" - "version" "1.4.0" - -"html-minifier-terser@^5.0.1", "html-minifier-terser@^5.1.1": - "integrity" "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==" - "resolved" "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz" - "version" "5.1.1" - dependencies: - "camel-case" "^4.1.1" - "clean-css" "^4.2.3" - "commander" "^4.1.1" - "he" "^1.2.0" - "param-case" "^3.0.3" - "relateurl" "^0.2.7" - "terser" "^4.6.3" - -"html-tags@^3.1.0": - "integrity" "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==" - "resolved" "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz" - "version" "3.1.0" - -"html-void-elements@^1.0.0": - "integrity" "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==" - "resolved" "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz" - "version" "1.0.5" - -"html-webpack-plugin@^5.3.2": - "integrity" "sha512-HvB33boVNCz2lTyBsSiMffsJ+m0YLIQ+pskblXgN9fnjS1BgEcuAfdInfXfGrkdXV406k9FiDi86eVCDBgJOyQ==" - "resolved" "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.3.2.tgz" - "version" "5.3.2" + loose-envify "^1.2.0" + resolve-pathname "^3.0.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + value-equal "^1.0.1" + +hoist-non-react-statics@^3.1.0: + version "3.3.2" + resolved "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz" + integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + +html-entities@^1.3.1: + version "1.4.0" + resolved "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz" + integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== + +html-minifier-terser@^5.0.1, html-minifier-terser@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz" + integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== + dependencies: + camel-case "^4.1.1" + clean-css "^4.2.3" + commander "^4.1.1" + he "^1.2.0" + param-case "^3.0.3" + relateurl "^0.2.7" + terser "^4.6.3" + +html-tags@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz" + integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== + +html-void-elements@^1.0.0: + version "1.0.5" + resolved "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz" + integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w== + +html-webpack-plugin@^5.3.2: + version "5.3.2" + resolved "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.3.2.tgz" + integrity sha512-HvB33boVNCz2lTyBsSiMffsJ+m0YLIQ+pskblXgN9fnjS1BgEcuAfdInfXfGrkdXV406k9FiDi86eVCDBgJOyQ== dependencies: "@types/html-minifier-terser" "^5.0.0" - "html-minifier-terser" "^5.0.1" - "lodash" "^4.17.21" - "pretty-error" "^3.0.4" - "tapable" "^2.0.0" - -"htmlparser2@^3.9.1": - "integrity" "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==" - "resolved" "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz" - "version" "3.10.1" - dependencies: - "domelementtype" "^1.3.1" - "domhandler" "^2.3.0" - "domutils" "^1.5.1" - "entities" "^1.1.1" - "inherits" "^2.0.1" - "readable-stream" "^3.1.1" - -"htmlparser2@^6.1.0": - "integrity" "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==" - "resolved" "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "domelementtype" "^2.0.1" - "domhandler" "^4.0.0" - "domutils" "^2.5.2" - "entities" "^2.0.0" - -"http-cache-semantics@^4.0.0": - "integrity" "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" - "resolved" "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz" - "version" "4.1.0" - -"http-deceiver@^1.2.7": - "integrity" "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" - "resolved" "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" - "version" "1.2.7" - -"http-errors@~1.6.2": - "integrity" "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=" - "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - "version" "1.6.3" - dependencies: - "depd" "~1.1.2" - "inherits" "2.0.3" - "setprototypeof" "1.1.0" - "statuses" ">= 1.4.0 < 2" - -"http-errors@~1.7.2", "http-errors@1.7.2": - "integrity" "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==" - "resolved" "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz" - "version" "1.7.2" - dependencies: - "depd" "~1.1.2" - "inherits" "2.0.3" - "setprototypeof" "1.1.1" - "statuses" ">= 1.5.0 < 2" - "toidentifier" "1.0.0" - -"http-parser-js@>=0.5.1": - "integrity" "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==" - "resolved" "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz" - "version" "0.5.3" - -"http-proxy-middleware@0.19.1": - "integrity" "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==" - "resolved" "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz" - "version" "0.19.1" - dependencies: - "http-proxy" "^1.17.0" - "is-glob" "^4.0.0" - "lodash" "^4.17.11" - "micromatch" "^3.1.10" - -"http-proxy@^1.17.0": - "integrity" "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==" - "resolved" "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" - "version" "1.18.1" - dependencies: - "eventemitter3" "^4.0.0" - "follow-redirects" "^1.0.0" - "requires-port" "^1.0.0" - -"human-signals@^2.1.0": - "integrity" "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==" - "resolved" "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" - "version" "2.1.0" - -"iconv-lite@0.4.24": - "integrity" "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==" - "resolved" "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - "version" "0.4.24" - dependencies: - "safer-buffer" ">= 2.1.2 < 3" - -"icss-utils@^5.0.0", "icss-utils@^5.1.0": - "integrity" "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==" - "resolved" "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" - "version" "5.1.0" - -"ignore@^5.1.4": - "integrity" "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" - "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz" - "version" "5.1.8" - -"immer@8.0.1": - "integrity" "sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==" - "resolved" "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz" - "version" "8.0.1" - -"import-fresh@^3.2.1", "import-fresh@^3.2.2", "import-fresh@^3.3.0": - "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==" - "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "parent-module" "^1.0.0" - "resolve-from" "^4.0.0" - -"import-lazy@^2.1.0": - "integrity" "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" - "resolved" "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz" - "version" "2.1.0" - -"import-local@^2.0.0": - "integrity" "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==" - "resolved" "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "pkg-dir" "^3.0.0" - "resolve-cwd" "^2.0.0" - -"imurmurhash@^0.1.4": - "integrity" "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - "version" "0.1.4" - -"indent-string@^4.0.0": - "integrity" "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - "resolved" "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - "version" "4.0.0" - -"infima@0.2.0-alpha.26": - "integrity" "sha512-0/Dt+89mf8xW+9/hKGmynK+WOAsiy0QydVJL0qie6WK57yGIQv+SjJrhMybKndnmkZBQ+Vlt0tWPnTakx8X2Qw==" - "resolved" "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.26.tgz" - "version" "0.2.0-alpha.26" - -"inflight@^1.0.4": - "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=" - "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - "version" "1.0.6" - dependencies: - "once" "^1.3.0" - "wrappy" "1" - -"inherits@^2.0.0", "inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.3", "inherits@2": - "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - "version" "2.0.4" - -"inherits@2.0.3": - "integrity" "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" - "version" "2.0.3" - -"ini@^1.3.5", "ini@~1.3.0": - "integrity" "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - "version" "1.3.8" - -"ini@2.0.0": - "integrity" "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==" - "resolved" "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" - "version" "2.0.0" - -"inline-style-parser@0.1.1": - "integrity" "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" - "resolved" "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" - "version" "0.1.1" - -"internal-ip@^4.3.0": - "integrity" "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==" - "resolved" "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz" - "version" "4.3.0" - dependencies: - "default-gateway" "^4.2.0" - "ipaddr.js" "^1.9.0" - -"interpret@^1.0.0": - "integrity" "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" - "resolved" "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" - "version" "1.4.0" - -"ip-regex@^2.1.0": - "integrity" "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" - "resolved" "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz" - "version" "2.1.0" - -"ip@^1.1.0", "ip@^1.1.5": - "integrity" "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" - "resolved" "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz" - "version" "1.1.5" - -"ipaddr.js@^1.9.0", "ipaddr.js@1.9.1": - "integrity" "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - "resolved" "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - "version" "1.9.1" - -"is-absolute-url@^3.0.3": - "integrity" "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==" - "resolved" "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz" - "version" "3.0.3" - -"is-accessor-descriptor@^0.1.6": - "integrity" "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=" - "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" - "version" "0.1.6" - dependencies: - "kind-of" "^3.0.2" - -"is-accessor-descriptor@^1.0.0": - "integrity" "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==" - "resolved" "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "kind-of" "^6.0.0" - -"is-alphabetical@^1.0.0", "is-alphabetical@1.0.4": - "integrity" "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" - "resolved" "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz" - "version" "1.0.4" - -"is-alphanumerical@^1.0.0": - "integrity" "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==" - "resolved" "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "is-alphabetical" "^1.0.0" - "is-decimal" "^1.0.0" - -"is-arguments@^1.0.4": - "integrity" "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==" - "resolved" "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "call-bind" "^1.0.0" - -"is-arrayish@^0.2.1": - "integrity" "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - "resolved" "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - "version" "0.2.1" - -"is-bigint@^1.0.1": - "integrity" "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==" - "resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz" - "version" "1.0.2" - -"is-binary-path@^1.0.0": - "integrity" "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=" - "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "binary-extensions" "^1.0.0" - -"is-binary-path@~2.1.0": - "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==" - "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "binary-extensions" "^2.0.0" - -"is-boolean-object@^1.1.0": - "integrity" "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==" - "resolved" "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "call-bind" "^1.0.2" - -"is-buffer@^1.1.5": - "integrity" "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" - "version" "1.1.6" - -"is-buffer@^2.0.0": - "integrity" "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" - "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" - "version" "2.0.5" - -"is-callable@^1.1.4", "is-callable@^1.2.3": - "integrity" "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" - "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz" - "version" "1.2.3" - -"is-ci@^2.0.0": - "integrity" "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==" - "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "ci-info" "^2.0.0" - -"is-color-stop@^1.1.0": - "integrity" "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=" - "resolved" "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "css-color-names" "^0.0.4" - "hex-color-regex" "^1.1.0" - "hsl-regex" "^1.0.0" - "hsla-regex" "^1.0.0" - "rgb-regex" "^1.0.1" - "rgba-regex" "^1.0.0" - -"is-core-module@^2.2.0": - "integrity" "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==" - "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz" - "version" "2.5.0" - dependencies: - "has" "^1.0.3" - -"is-data-descriptor@^0.1.4": - "integrity" "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=" - "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" - "version" "0.1.4" - dependencies: - "kind-of" "^3.0.2" - -"is-data-descriptor@^1.0.0": - "integrity" "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==" - "resolved" "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "kind-of" "^6.0.0" - -"is-date-object@^1.0.1": - "integrity" "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==" - "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz" - "version" "1.0.4" - -"is-decimal@^1.0.0": - "integrity" "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" - "resolved" "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz" - "version" "1.0.4" - -"is-descriptor@^0.1.0": - "integrity" "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==" - "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" - "version" "0.1.6" - dependencies: - "is-accessor-descriptor" "^0.1.6" - "is-data-descriptor" "^0.1.4" - "kind-of" "^5.0.0" - -"is-descriptor@^1.0.0": - "integrity" "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==" - "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "is-accessor-descriptor" "^1.0.0" - "is-data-descriptor" "^1.0.0" - "kind-of" "^6.0.2" - -"is-descriptor@^1.0.2": - "integrity" "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==" - "resolved" "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "is-accessor-descriptor" "^1.0.0" - "is-data-descriptor" "^1.0.0" - "kind-of" "^6.0.2" - -"is-docker@^2.0.0": - "integrity" "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - "resolved" "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" - "version" "2.2.1" - -"is-extendable@^0.1.0", "is-extendable@^0.1.1": - "integrity" "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" - "version" "0.1.1" - -"is-extendable@^1.0.1": - "integrity" "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==" - "resolved" "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "is-plain-object" "^2.0.4" - -"is-extglob@^2.1.0", "is-extglob@^2.1.1": - "integrity" "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - "version" "2.1.1" - -"is-fullwidth-code-point@^2.0.0": - "integrity" "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" - "version" "2.0.0" - -"is-fullwidth-code-point@^3.0.0": - "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - "version" "3.0.0" - -"is-glob@^3.1.0": - "integrity" "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=" - "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "is-extglob" "^2.1.0" - -"is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@~4.0.1": - "integrity" "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==" - "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "is-extglob" "^2.1.1" - -"is-hexadecimal@^1.0.0": - "integrity" "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" - "resolved" "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz" - "version" "1.0.4" - -"is-installed-globally@^0.4.0": - "integrity" "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==" - "resolved" "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz" - "version" "0.4.0" - dependencies: - "global-dirs" "^3.0.0" - "is-path-inside" "^3.0.2" - -"is-negative-zero@^2.0.1": - "integrity" "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" - "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz" - "version" "2.0.1" - -"is-npm@^5.0.0": - "integrity" "sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==" - "resolved" "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz" - "version" "5.0.0" - -"is-number-object@^1.0.4": - "integrity" "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==" - "resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz" - "version" "1.0.5" - -"is-number@^3.0.0": - "integrity" "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=" - "resolved" "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "kind-of" "^3.0.2" - -"is-number@^7.0.0": - "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - "version" "7.0.0" - -"is-obj@^1.0.1": - "integrity" "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" - "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" - "version" "1.0.1" - -"is-obj@^2.0.0": - "integrity" "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==" - "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" - "version" "2.0.0" - -"is-path-cwd@^2.0.0", "is-path-cwd@^2.2.0": - "integrity" "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==" - "resolved" "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" - "version" "2.2.0" - -"is-path-in-cwd@^2.0.0": - "integrity" "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==" - "resolved" "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "is-path-inside" "^2.1.0" - -"is-path-inside@^2.1.0": - "integrity" "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==" - "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "path-is-inside" "^1.0.2" - -"is-path-inside@^3.0.2": - "integrity" "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" - "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" - "version" "3.0.3" - -"is-plain-obj@^2.0.0": - "integrity" "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" - "resolved" "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" - "version" "2.1.0" - -"is-plain-object@^2.0.3", "is-plain-object@^2.0.4": - "integrity" "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==" - "resolved" "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" - "version" "2.0.4" - dependencies: - "isobject" "^3.0.1" - -"is-regex@^1.0.4", "is-regex@^1.1.3": - "integrity" "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==" - "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "call-bind" "^1.0.2" - "has-symbols" "^1.0.2" - -"is-regexp@^1.0.0": - "integrity" "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" - "resolved" "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" - "version" "1.0.0" - -"is-resolvable@^1.1.0": - "integrity" "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" - "resolved" "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz" - "version" "1.1.0" - -"is-root@^2.1.0", "is-root@2.1.0": - "integrity" "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" - "resolved" "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz" - "version" "2.1.0" - -"is-stream@^1.1.0": - "integrity" "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" - "version" "1.1.0" - -"is-stream@^2.0.0": - "integrity" "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" - "resolved" "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz" - "version" "2.0.0" - -"is-string@^1.0.5", "is-string@^1.0.6": - "integrity" "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==" - "resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz" - "version" "1.0.6" - -"is-symbol@^1.0.2", "is-symbol@^1.0.3": - "integrity" "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==" - "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "has-symbols" "^1.0.2" - -"is-typedarray@^1.0.0": - "integrity" "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" - "version" "1.0.0" - -"is-whitespace-character@^1.0.0": - "integrity" "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" - "resolved" "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz" - "version" "1.0.4" - -"is-windows@^1.0.2": - "integrity" "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - "resolved" "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" - "version" "1.0.2" - -"is-word-character@^1.0.0": - "integrity" "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==" - "resolved" "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz" - "version" "1.0.4" - -"is-wsl@^1.1.0": - "integrity" "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" - "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz" - "version" "1.1.0" - -"is-wsl@^2.1.1": - "integrity" "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" - "resolved" "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "is-docker" "^2.0.0" - -"is-yarn-global@^0.3.0": - "integrity" "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==" - "resolved" "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz" - "version" "0.3.0" - -"isarray@~1.0.0", "isarray@1.0.0": - "integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - "version" "1.0.0" - -"isarray@0.0.1": - "integrity" "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - "resolved" "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - "version" "0.0.1" - -"isexe@^2.0.0": - "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - "version" "2.0.0" - -"isobject@^2.0.0": - "integrity" "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=" - "resolved" "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "isarray" "1.0.0" - -"isobject@^3.0.0", "isobject@^3.0.1": - "integrity" "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - "resolved" "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" - "version" "3.0.1" - -"jest-worker@^27.0.2": - "integrity" "sha512-qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA==" - "resolved" "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.6.tgz" - "version" "27.0.6" + html-minifier-terser "^5.0.1" + lodash "^4.17.21" + pretty-error "^3.0.4" + tapable "^2.0.0" + +htmlparser2@^3.9.1: + version "3.10.1" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz" + integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== + dependencies: + domelementtype "^1.3.1" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^3.1.1" + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-cache-semantics@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz" + integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" + integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-errors@~1.7.2, http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-parser-js@>=0.5.1: + version "0.5.3" + resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz" + integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg== + +http-proxy-middleware@0.19.1: + version "0.19.1" + resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz" + integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== + dependencies: + http-proxy "^1.17.0" + is-glob "^4.0.0" + lodash "^4.17.11" + micromatch "^3.1.10" + +http-proxy@^1.17.0: + version "1.18.1" + resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + +immer@8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz" + integrity sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA== + +import-fresh@^3.2.1, import-fresh@^3.2.2, import-fresh@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz" + integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz" + integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +infima@0.2.0-alpha.26: + version "0.2.0-alpha.26" + resolved "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.26.tgz" + integrity sha512-0/Dt+89mf8xW+9/hKGmynK+WOAsiy0QydVJL0qie6WK57yGIQv+SjJrhMybKndnmkZBQ+Vlt0tWPnTakx8X2Qw== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@2: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +ini@^1.3.5, ini@~1.3.0: + version "1.3.8" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +ini@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + +inline-style-parser@0.1.1: + 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== + +internal-ip@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz" + integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== + dependencies: + default-gateway "^4.2.0" + ipaddr.js "^1.9.0" + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +ip@^1.1.0, ip@^1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + +ipaddr.js@^1.9.0, ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-absolute-url@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz" + integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + +is-alphabetical@^1.0.0, is-alphabetical@1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz" + integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== + +is-alphanumerical@^1.0.0: + version "1.0.4" + resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz" + integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== + dependencies: + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + +is-arguments@^1.0.4: + version "1.1.0" + resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz" + integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== + dependencies: + call-bind "^1.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-bigint@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz" + integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz" + integrity sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng== + dependencies: + call-bind "^1.0.2" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-buffer@^2.0.0: + version "2.0.5" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" + integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== + +is-callable@^1.1.4, is-callable@^1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz" + integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + +is-color-stop@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz" + integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= + dependencies: + css-color-names "^0.0.4" + hex-color-regex "^1.1.0" + hsl-regex "^1.0.0" + hsla-regex "^1.0.0" + rgb-regex "^1.0.1" + rgba-regex "^1.0.0" + +is-core-module@^2.2.0: + version "2.5.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz" + integrity sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg== + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.4" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz" + integrity sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A== + +is-decimal@^1.0.0: + version "1.0.4" + resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz" + integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-hexadecimal@^1.0.0: + version "1.0.4" + resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz" + integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== + +is-installed-globally@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + +is-negative-zero@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz" + integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + +is-npm@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/is-npm/-/is-npm-5.0.0.tgz" + integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== + +is-number-object@^1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz" + integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" + integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" + integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + +is-path-cwd@^2.0.0, is-path-cwd@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + +is-path-in-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz" + integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== + dependencies: + is-path-inside "^2.1.0" + +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz" + integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== + dependencies: + path-is-inside "^1.0.2" + +is-path-inside@^3.0.2: + version "3.0.3" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-regex@^1.0.4, is-regex@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz" + integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== + dependencies: + call-bind "^1.0.2" + has-symbols "^1.0.2" + +is-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" + integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + +is-resolvable@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz" + integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + +is-root@^2.1.0, is-root@2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz" + integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + +is-string@^1.0.5, is-string@^1.0.6: + version "1.0.6" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz" + integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + +is-typedarray@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-whitespace-character@^1.0.0: + version "1.0.4" + resolved "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz" + integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + +is-word-character@^1.0.0: + version "1.0.4" + resolved "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz" + integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +is-wsl@^2.1.1: + version "2.2.0" + resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +is-yarn-global@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz" + integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== + +isarray@~1.0.0, isarray@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +jest-worker@^27.0.2: + version "27.0.6" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.6.tgz" + integrity sha512-qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA== dependencies: "@types/node" "*" - "merge-stream" "^2.0.0" - "supports-color" "^8.0.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" -"joi@^17.3.0", "joi@^17.4.0": - "integrity" "sha512-gDPOwQ5sr+BUxXuPDGrC1pSNcVR/yGGcTI0aCnjYxZEa3za60K/iCQ+OFIkEHWZGVCUcUlXlFKvMmrlmxrG6UQ==" - "resolved" "https://registry.npmjs.org/joi/-/joi-17.4.1.tgz" - "version" "17.4.1" +joi@^17.3.0, joi@^17.4.0: + version "17.4.1" + resolved "https://registry.npmjs.org/joi/-/joi-17.4.1.tgz" + integrity sha512-gDPOwQ5sr+BUxXuPDGrC1pSNcVR/yGGcTI0aCnjYxZEa3za60K/iCQ+OFIkEHWZGVCUcUlXlFKvMmrlmxrG6UQ== dependencies: "@hapi/hoek" "^9.0.0" "@hapi/topo" "^5.0.0" @@ -5225,3776 +5225,3776 @@ "@sideway/formula" "^3.0.0" "@sideway/pinpoint" "^2.0.0" -"js-tokens@^3.0.0 || ^4.0.0", "js-tokens@^4.0.0": - "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - "version" "4.0.0" - -"js-yaml@^3.13.1": - "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - "version" "3.14.1" - dependencies: - "argparse" "^1.0.7" - "esprima" "^4.0.0" - -"js-yaml@^4.0.0": - "integrity" "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" - "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - "version" "4.1.0" - dependencies: - "argparse" "^2.0.1" - -"jsesc@^2.5.1": - "integrity" "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - "version" "2.5.2" - -"jsesc@~0.5.0": - "integrity" "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - "resolved" "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - "version" "0.5.0" - -"json-buffer@3.0.0": - "integrity" "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" - "resolved" "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" - "version" "3.0.0" - -"json-parse-better-errors@^1.0.2": - "integrity" "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" - "resolved" "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" - "version" "1.0.2" - -"json-parse-even-better-errors@^2.3.0": - "integrity" "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" - "resolved" "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" - "version" "2.3.1" - -"json-schema-traverse@^0.4.1": - "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" - "version" "0.4.1" - -"json3@^3.3.3": - "integrity" "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" - "resolved" "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz" - "version" "3.3.3" - -"json5@^1.0.1": - "integrity" "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==" - "resolved" "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "minimist" "^1.2.0" - -"json5@^2.1.2": - "integrity" "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==" - "resolved" "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "minimist" "^1.2.5" - -"jsonfile@^6.0.1": - "integrity" "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" - "resolved" "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "universalify" "^2.0.0" +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-buffer@3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz" + integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + +json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + 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== + +json3@^3.3.3: + version "3.3.3" + resolved "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz" + integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2: + version "2.2.0" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + dependencies: + minimist "^1.2.5" + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" optionalDependencies: - "graceful-fs" "^4.1.6" + graceful-fs "^4.1.6" -"keyv@^3.0.0": - "integrity" "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==" - "resolved" "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" - "version" "3.1.0" +keyv@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" + integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== dependencies: - "json-buffer" "3.0.0" - -"killable@^1.0.1": - "integrity" "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" - "resolved" "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz" - "version" "1.0.1" - -"kind-of@^3.0.2": - "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - "version" "3.2.2" + json-buffer "3.0.0" + +killable@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz" + integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== + +kind-of@^3.0.2: + version "3.2.2" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= dependencies: - "is-buffer" "^1.1.5" - -"kind-of@^3.0.3": - "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - "version" "3.2.2" + is-buffer "^1.1.5" + +kind-of@^3.0.3: + version "3.2.2" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= dependencies: - "is-buffer" "^1.1.5" - -"kind-of@^3.2.0": - "integrity" "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" - "version" "3.2.2" + is-buffer "^1.1.5" + +kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= dependencies: - "is-buffer" "^1.1.5" + is-buffer "^1.1.5" -"kind-of@^4.0.0": - "integrity" "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "is-buffer" "^1.1.5" - -"kind-of@^5.0.0": - "integrity" "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" - "version" "5.1.0" - -"kind-of@^6.0.0", "kind-of@^6.0.2": - "integrity" "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" - "resolved" "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - "version" "6.0.3" - -"kleur@^3.0.3": - "integrity" "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" - "resolved" "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" - "version" "3.0.3" - -"klona@^2.0.4": - "integrity" "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==" - "resolved" "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz" - "version" "2.0.4" - -"latest-version@^5.1.0": - "integrity" "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==" - "resolved" "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "package-json" "^6.3.0" - -"leven@^3.1.0": - "integrity" "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" - "resolved" "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" - "version" "3.1.0" - -"lines-and-columns@^1.1.6": - "integrity" "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" - "resolved" "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" - "version" "1.1.6" - -"loader-runner@^4.2.0": - "integrity" "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==" - "resolved" "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz" - "version" "4.2.0" - -"loader-utils@^1.2.3": - "integrity" "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==" - "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "big.js" "^5.2.2" - "emojis-list" "^3.0.0" - "json5" "^1.0.1" - -"loader-utils@^1.4.0": - "integrity" "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==" - "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "big.js" "^5.2.2" - "emojis-list" "^3.0.0" - "json5" "^1.0.1" - -"loader-utils@^2.0.0", "loader-utils@2.0.0": - "integrity" "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==" - "resolved" "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "big.js" "^5.2.2" - "emojis-list" "^3.0.0" - "json5" "^2.1.2" - -"locate-path@^3.0.0": - "integrity" "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "p-locate" "^3.0.0" - "path-exists" "^3.0.0" - -"locate-path@^5.0.0": - "integrity" "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - "version" "5.0.0" - dependencies: - "p-locate" "^4.1.0" - -"locate-path@^6.0.0": - "integrity" "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==" - "resolved" "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "p-locate" "^5.0.0" - -"lodash.assignin@^4.0.9": - "integrity" "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" - "resolved" "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz" - "version" "4.2.0" - -"lodash.bind@^4.1.4": - "integrity" "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" - "resolved" "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz" - "version" "4.2.1" - -"lodash.curry@^4.0.1": - "integrity" "sha1-JI42By7ekGUB11lmIAqG2riyMXA=" - "resolved" "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz" - "version" "4.1.1" - -"lodash.debounce@^4.0.8": - "integrity" "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" - "resolved" "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" - "version" "4.0.8" - -"lodash.defaults@^4.0.1": - "integrity" "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" - "resolved" "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz" - "version" "4.2.0" - -"lodash.filter@^4.4.0": - "integrity" "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" - "resolved" "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz" - "version" "4.6.0" - -"lodash.flatten@^4.2.0": - "integrity" "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" - "resolved" "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz" - "version" "4.4.0" - -"lodash.flow@^3.3.0": - "integrity" "sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o=" - "resolved" "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz" - "version" "3.5.0" - -"lodash.foreach@^4.3.0": - "integrity" "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" - "resolved" "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz" - "version" "4.5.0" - -"lodash.map@^4.4.0": - "integrity" "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" - "resolved" "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz" - "version" "4.6.0" - -"lodash.memoize@^4.1.2": - "integrity" "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" - "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" - "version" "4.1.2" - -"lodash.merge@^4.4.0": - "integrity" "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" - "resolved" "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - "version" "4.6.2" - -"lodash.pick@^4.2.1": - "integrity" "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" - "resolved" "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz" - "version" "4.4.0" - -"lodash.reduce@^4.4.0": - "integrity" "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" - "resolved" "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz" - "version" "4.6.0" - -"lodash.reject@^4.4.0": - "integrity" "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" - "resolved" "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz" - "version" "4.6.0" - -"lodash.some@^4.4.0": - "integrity" "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" - "resolved" "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz" - "version" "4.6.0" - -"lodash.toarray@^4.4.0": - "integrity" "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" - "resolved" "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz" - "version" "4.4.0" - -"lodash.uniq@^4.5.0", "lodash.uniq@4.5.0": - "integrity" "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" - "resolved" "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" - "version" "4.5.0" - -"lodash@^4.17.11", "lodash@^4.17.14", "lodash@^4.17.19", "lodash@^4.17.20", "lodash@^4.17.21", "lodash@>=4.17.21": - "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - "version" "4.17.21" - -"loglevel@^1.6.8": - "integrity" "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==" - "resolved" "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz" - "version" "1.7.1" - -"loose-envify@^1.0.0", "loose-envify@^1.1.0", "loose-envify@^1.2.0", "loose-envify@^1.3.1", "loose-envify@^1.4.0": - "integrity" "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==" - "resolved" "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" - "version" "1.4.0" - dependencies: - "js-tokens" "^3.0.0 || ^4.0.0" - -"lower-case@^2.0.2": - "integrity" "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==" - "resolved" "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "tslib" "^2.0.3" - -"lowercase-keys@^1.0.0", "lowercase-keys@^1.0.1": - "integrity" "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" - "version" "1.0.1" - -"lowercase-keys@^2.0.0": - "integrity" "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" - "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" - "version" "2.0.0" - -"lru-cache@^6.0.0": - "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" - "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "yallist" "^4.0.0" - -"make-dir@^3.0.0", "make-dir@^3.0.2", "make-dir@^3.1.0": - "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==" - "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "semver" "^6.0.0" - -"map-cache@^0.2.2": - "integrity" "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - "resolved" "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" - "version" "0.2.2" - -"map-visit@^1.0.0": - "integrity" "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=" - "resolved" "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "object-visit" "^1.0.0" - -"markdown-escapes@^1.0.0": - "integrity" "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" - "resolved" "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz" - "version" "1.0.4" - -"mdast-squeeze-paragraphs@^4.0.0": - "integrity" "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==" - "resolved" "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz" - "version" "4.0.0" +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +klona@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz" + integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== + +latest-version@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz" + integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== + dependencies: + package-json "^6.3.0" + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +loader-runner@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz" + integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== + +loader-utils@^1.2.3: + version "1.4.0" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz" + integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0, loader-utils@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz" + integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.assignin@^4.0.9: + version "4.2.0" + resolved "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz" + integrity sha1-uo31+4QesKPoBEIysOJjqNxqKKI= + +lodash.bind@^4.1.4: + version "4.2.1" + resolved "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz" + integrity sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU= + +lodash.curry@^4.0.1: + version "4.1.1" + resolved "https://registry.npmjs.org/lodash.curry/-/lodash.curry-4.1.1.tgz" + integrity sha1-JI42By7ekGUB11lmIAqG2riyMXA= + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + +lodash.defaults@^4.0.1: + version "4.2.0" + resolved "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz" + integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= + +lodash.filter@^4.4.0: + version "4.6.0" + resolved "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz" + integrity sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4= + +lodash.flatten@^4.2.0: + version "4.4.0" + resolved "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz" + integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= + +lodash.flow@^3.3.0: + version "3.5.0" + resolved "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz" + integrity sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o= + +lodash.foreach@^4.3.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz" + integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= + +lodash.map@^4.4.0: + version "4.6.0" + resolved "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz" + integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.merge@^4.4.0: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.pick@^4.2.1: + version "4.4.0" + resolved "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz" + integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= + +lodash.reduce@^4.4.0: + version "4.6.0" + resolved "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz" + integrity sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs= + +lodash.reject@^4.4.0: + version "4.6.0" + resolved "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz" + integrity sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU= + +lodash.some@^4.4.0: + version "4.6.0" + resolved "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz" + integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0= + +lodash.toarray@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz" + integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE= + +lodash.uniq@^4.5.0, lodash.uniq@4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@>=4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +loglevel@^1.6.8: + version "1.7.1" + resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz" + integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== + +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + +lowercase-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz" + integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +markdown-escapes@^1.0.0: + version "1.0.4" + resolved "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz" + integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== + +mdast-squeeze-paragraphs@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz" + integrity sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ== dependencies: - "unist-util-remove" "^2.0.0" - -"mdast-util-definitions@^4.0.0": - "integrity" "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==" - "resolved" "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "unist-util-visit" "^2.0.0" + unist-util-remove "^2.0.0" + +mdast-util-definitions@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz" + integrity sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ== + dependencies: + unist-util-visit "^2.0.0" -"mdast-util-to-hast@10.0.1": - "integrity" "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==" - "resolved" "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz" - "version" "10.0.1" +mdast-util-to-hast@10.0.1: + version "10.0.1" + resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz" + integrity sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA== dependencies: "@types/mdast" "^3.0.0" "@types/unist" "^2.0.0" - "mdast-util-definitions" "^4.0.0" - "mdurl" "^1.0.0" - "unist-builder" "^2.0.0" - "unist-util-generated" "^1.0.0" - "unist-util-position" "^3.0.0" - "unist-util-visit" "^2.0.0" - -"mdast-util-to-string@^2.0.0": - "integrity" "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==" - "resolved" "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz" - "version" "2.0.0" - -"mdn-data@2.0.14": - "integrity" "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - "resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" - "version" "2.0.14" - -"mdn-data@2.0.4": - "integrity" "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" - "resolved" "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz" - "version" "2.0.4" - -"mdurl@^1.0.0": - "integrity" "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" - "resolved" "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" - "version" "1.0.1" - -"media-typer@0.3.0": - "integrity" "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - "resolved" "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - "version" "0.3.0" - -"memory-fs@^0.4.1": - "integrity" "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=" - "resolved" "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz" - "version" "0.4.1" - dependencies: - "errno" "^0.1.3" - "readable-stream" "^2.0.1" - -"merge-descriptors@1.0.1": - "integrity" "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - "resolved" "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" - "version" "1.0.1" - -"merge-stream@^2.0.0": - "integrity" "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - "resolved" "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - "version" "2.0.0" - -"merge2@^1.3.0": - "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" - "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - "version" "1.4.1" - -"methods@~1.1.2": - "integrity" "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - "resolved" "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" - "version" "1.1.2" - -"microevent.ts@~0.1.1": - "integrity" "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" - "resolved" "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz" - "version" "0.1.1" - -"micromatch@^3.1.10", "micromatch@^3.1.4": - "integrity" "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==" - "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" - "version" "3.1.10" - dependencies: - "arr-diff" "^4.0.0" - "array-unique" "^0.3.2" - "braces" "^2.3.1" - "define-property" "^2.0.2" - "extend-shallow" "^3.0.2" - "extglob" "^2.0.4" - "fragment-cache" "^0.2.1" - "kind-of" "^6.0.2" - "nanomatch" "^1.2.9" - "object.pick" "^1.3.0" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.2" - -"micromatch@^4.0.4": - "integrity" "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==" - "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" - "version" "4.0.4" - dependencies: - "braces" "^3.0.1" - "picomatch" "^2.2.3" - -"mime-db@>= 1.43.0 < 2", "mime-db@1.48.0": - "integrity" "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==" - "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz" - "version" "1.48.0" - -"mime-db@~1.33.0": - "integrity" "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" - "resolved" "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz" - "version" "1.33.0" - -"mime-types@^2.1.27", "mime-types@~2.1.17", "mime-types@~2.1.24": - "integrity" "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz" - "version" "2.1.31" - dependencies: - "mime-db" "1.48.0" - -"mime-types@2.1.18": - "integrity" "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==" - "resolved" "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" - "version" "2.1.18" - dependencies: - "mime-db" "~1.33.0" - -"mime@^2.3.1": - "integrity" "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" - "resolved" "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz" - "version" "2.5.2" - -"mime@^2.4.4": - "integrity" "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" - "resolved" "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz" - "version" "2.5.2" - -"mime@1.6.0": - "integrity" "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - "resolved" "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" - "version" "1.6.0" - -"mimic-fn@^2.1.0": - "integrity" "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - "resolved" "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - "version" "2.1.0" - -"mimic-response@^1.0.0", "mimic-response@^1.0.1": - "integrity" "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" - "resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" - "version" "1.0.1" - -"mini-create-react-context@^0.4.0": - "integrity" "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==" - "resolved" "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz" - "version" "0.4.1" + mdast-util-definitions "^4.0.0" + mdurl "^1.0.0" + unist-builder "^2.0.0" + unist-util-generated "^1.0.0" + unist-util-position "^3.0.0" + unist-util-visit "^2.0.0" + +mdast-util-to-string@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz" + integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz" + integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + +mdurl@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" + integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +memory-fs@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +microevent.ts@~0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz" + integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== + +micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.4: + version "4.0.4" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" + integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +"mime-db@>= 1.43.0 < 2", mime-db@1.48.0: + version "1.48.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz" + integrity sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ== + +mime-db@~1.33.0: + 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== + +mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.24: + version "2.1.31" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz" + integrity sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg== + dependencies: + mime-db "1.48.0" + +mime-types@2.1.18: + 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== + dependencies: + mime-db "~1.33.0" + +mime@^2.3.1: + version "2.5.2" + resolved "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz" + integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== + +mime@^2.4.4: + version "2.5.2" + resolved "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz" + integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mimic-response@^1.0.0, mimic-response@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz" + integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + +mini-create-react-context@^0.4.0: + version "0.4.1" + resolved "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz" + integrity sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ== dependencies: "@babel/runtime" "^7.12.1" - "tiny-warning" "^1.0.3" - -"mini-css-extract-plugin@^1.6.0": - "integrity" "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==" - "resolved" "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz" - "version" "1.6.2" - dependencies: - "loader-utils" "^2.0.0" - "schema-utils" "^3.0.0" - "webpack-sources" "^1.1.0" - -"minimalistic-assert@^1.0.0": - "integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - "resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" - "version" "1.0.1" - -"minimatch@^3.0.4", "minimatch@3.0.4": - "integrity" "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==" - "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "brace-expansion" "^1.1.7" - -"minimist@^1.2.0", "minimist@^1.2.5": - "integrity" "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" - "version" "1.2.5" - -"mixin-deep@^1.2.0": - "integrity" "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==" - "resolved" "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "for-in" "^1.0.2" - "is-extendable" "^1.0.1" - -"mkdirp@^0.5.1", "mkdirp@^0.5.5", "mkdirp@~0.5.1": - "integrity" "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" - "version" "0.5.5" - dependencies: - "minimist" "^1.2.5" - -"mkdirp@^1.0.4": - "integrity" "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - "resolved" "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" - "version" "1.0.4" - -"module-alias@^2.2.2": - "integrity" "sha512-A/78XjoX2EmNvppVWEhM2oGk3x4lLxnkEA4jTbaK97QKSDjkIoOsKQlfylt/d3kKKi596Qy3NP5XrXJ6fZIC9Q==" - "resolved" "https://registry.npmjs.org/module-alias/-/module-alias-2.2.2.tgz" - "version" "2.2.2" - -"ms@^2.1.1", "ms@2.1.2": - "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - "version" "2.1.2" - -"ms@2.0.0": - "integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - "version" "2.0.0" - -"ms@2.1.1": - "integrity" "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz" - "version" "2.1.1" - -"multicast-dns-service-types@^1.1.0": - "integrity" "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" - "resolved" "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz" - "version" "1.1.0" - -"multicast-dns@^6.0.1": - "integrity" "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==" - "resolved" "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz" - "version" "6.2.3" - dependencies: - "dns-packet" "^1.3.1" - "thunky" "^1.0.2" - -"nan@^2.12.1": - "integrity" "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==" - "resolved" "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz" - "version" "2.14.2" - -"nanoid@^3.1.23": - "integrity" "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==" - "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz" - "version" "3.1.23" - -"nanomatch@^1.2.9": - "integrity" "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==" - "resolved" "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" - "version" "1.2.13" - dependencies: - "arr-diff" "^4.0.0" - "array-unique" "^0.3.2" - "define-property" "^2.0.2" - "extend-shallow" "^3.0.2" - "fragment-cache" "^0.2.1" - "is-windows" "^1.0.2" - "kind-of" "^6.0.2" - "object.pick" "^1.3.0" - "regex-not" "^1.0.0" - "snapdragon" "^0.8.1" - "to-regex" "^3.0.1" - -"negotiator@0.6.2": - "integrity" "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" - "resolved" "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz" - "version" "0.6.2" - -"neo-async@^2.6.2": - "integrity" "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - "resolved" "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - "version" "2.6.2" - -"nice-try@^1.0.4": - "integrity" "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - "resolved" "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" - "version" "1.0.5" - -"no-case@^3.0.4": - "integrity" "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==" - "resolved" "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "lower-case" "^2.0.2" - "tslib" "^2.0.3" - -"node-emoji@^1.10.0": - "integrity" "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==" - "resolved" "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz" - "version" "1.10.0" - dependencies: - "lodash.toarray" "^4.4.0" - -"node-fetch@2.6.1": - "integrity" "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" - "resolved" "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz" - "version" "2.6.1" - -"node-forge@^0.10.0": - "integrity" "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" - "resolved" "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz" - "version" "0.10.0" - -"node-releases@^1.1.61", "node-releases@^1.1.71": - "integrity" "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==" - "resolved" "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz" - "version" "1.1.73" - -"normalize-path@^2.1.1": - "integrity" "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=" - "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "remove-trailing-separator" "^1.0.1" - -"normalize-path@^3.0.0", "normalize-path@~3.0.0": - "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - "version" "3.0.0" - -"normalize-range@^0.1.2": - "integrity" "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" - "resolved" "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" - "version" "0.1.2" - -"normalize-url@^4.1.0": - "integrity" "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==" - "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz" - "version" "4.5.1" - -"normalize-url@^6.0.1": - "integrity" "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" - "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" - "version" "6.1.0" - -"npm-run-path@^2.0.0": - "integrity" "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=" - "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "path-key" "^2.0.0" - -"npm-run-path@^4.0.1": - "integrity" "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" - "resolved" "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - "version" "4.0.1" - dependencies: - "path-key" "^3.0.0" - -"nprogress@^0.2.0": - "integrity" "sha1-y480xTIT2JVyP8urkH6UIq28r7E=" - "resolved" "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" - "version" "0.2.0" - -"nth-check@^1.0.2": - "integrity" "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==" - "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "boolbase" "~1.0.0" - -"nth-check@^2.0.0": - "integrity" "sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==" - "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "boolbase" "^1.0.0" - -"nth-check@~1.0.1": - "integrity" "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==" - "resolved" "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "boolbase" "~1.0.0" - -"object-assign@^4.0.1", "object-assign@^4.1.0", "object-assign@^4.1.1": - "integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - "version" "4.1.1" - -"object-copy@^0.1.0": - "integrity" "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=" - "resolved" "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" - "version" "0.1.0" - dependencies: - "copy-descriptor" "^0.1.0" - "define-property" "^0.2.5" - "kind-of" "^3.0.3" - -"object-inspect@^1.10.3": - "integrity" "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==" - "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz" - "version" "1.11.0" - -"object-is@^1.0.1": - "integrity" "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==" - "resolved" "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" - "version" "1.1.5" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - -"object-keys@^1.0.12", "object-keys@^1.1.1": - "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - "version" "1.1.1" + tiny-warning "^1.0.3" + +mini-css-extract-plugin@^1.6.0: + version "1.6.2" + resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz" + integrity sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q== + dependencies: + loader-utils "^2.0.0" + schema-utils "^3.0.0" + webpack-sources "^1.1.0" + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimatch@^3.0.4, minimatch@3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.1: + version "0.5.5" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +module-alias@^2.2.2: + version "2.2.2" + resolved "https://registry.npmjs.org/module-alias/-/module-alias-2.2.2.tgz" + integrity sha512-A/78XjoX2EmNvppVWEhM2oGk3x4lLxnkEA4jTbaK97QKSDjkIoOsKQlfylt/d3kKKi596Qy3NP5XrXJ6fZIC9Q== + +ms@^2.1.1, ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz" + integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + +multicast-dns@^6.0.1: + version "6.2.3" + resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz" + integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + +nan@^2.12.1: + version "2.14.2" + resolved "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz" + integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== + +nanoid@^3.1.23: + version "3.1.23" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz" + integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-emoji@^1.10.0: + version "1.10.0" + resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz" + integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== + dependencies: + lodash.toarray "^4.4.0" + +node-fetch@2.6.1: + version "2.6.1" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz" + integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + +node-forge@^0.10.0: + version "0.10.0" + resolved "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz" + integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== + +node-releases@^1.1.61, node-releases@^1.1.71: + version "1.1.73" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz" + integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg== + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + +normalize-url@^4.1.0: + version "4.5.1" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz" + integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nprogress@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" + integrity sha1-y480xTIT2JVyP8urkH6UIq28r7E= + +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + +nth-check@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.0.0.tgz" + integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q== + dependencies: + boolbase "^1.0.0" + +nth-check@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-inspect@^1.10.3: + version "1.11.0" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz" + integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== + +object-is@^1.0.1: + version "1.1.5" + resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -"object-visit@^1.0.0": - "integrity" "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=" - "resolved" "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" - "version" "1.0.1" +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= dependencies: - "isobject" "^3.0.0" - -"object.assign@^4.1.0", "object.assign@^4.1.2": - "integrity" "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==" - "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" - "version" "4.1.2" - dependencies: - "call-bind" "^1.0.0" - "define-properties" "^1.1.3" - "has-symbols" "^1.0.1" - "object-keys" "^1.1.1" + isobject "^3.0.0" + +object.assign@^4.1.0, object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" + integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" -"object.getownpropertydescriptors@^2.1.0": - "integrity" "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==" - "resolved" "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz" - "version" "2.1.2" +object.getownpropertydescriptors@^2.1.0: + version "2.1.2" + resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz" + integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.18.0-next.2" + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" -"object.pick@^1.3.0": - "integrity" "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=" - "resolved" "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" - "version" "1.3.0" +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= dependencies: - "isobject" "^3.0.1" + isobject "^3.0.1" -"object.values@^1.1.0": - "integrity" "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==" - "resolved" "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz" - "version" "1.1.4" +object.values@^1.1.0: + version "1.1.4" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz" + integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - "es-abstract" "^1.18.2" + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.2" -"obuf@^1.0.0", "obuf@^1.1.2": - "integrity" "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - "resolved" "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" - "version" "1.1.2" +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== -"on-finished@~2.3.0": - "integrity" "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=" - "resolved" "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" - "version" "2.3.0" +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= dependencies: - "ee-first" "1.1.1" + ee-first "1.1.1" -"on-headers@~1.0.2": - "integrity" "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - "resolved" "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" - "version" "1.0.2" +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== -"once@^1.3.0", "once@^1.3.1", "once@^1.4.0": - "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=" - "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - "version" "1.4.0" +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: - "wrappy" "1" + wrappy "1" -"onetime@^5.1.2": - "integrity" "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" - "resolved" "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - "version" "5.1.2" +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: - "mimic-fn" "^2.1.0" + mimic-fn "^2.1.0" -"open@^7.0.2": - "integrity" "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==" - "resolved" "https://registry.npmjs.org/open/-/open-7.4.2.tgz" - "version" "7.4.2" +open@^7.0.2: + version "7.4.2" + resolved "https://registry.npmjs.org/open/-/open-7.4.2.tgz" + integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== dependencies: - "is-docker" "^2.0.0" - "is-wsl" "^2.1.1" + is-docker "^2.0.0" + is-wsl "^2.1.1" -"opener@^1.5.2": - "integrity" "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==" - "resolved" "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" - "version" "1.5.2" +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== -"opn@^5.5.0": - "integrity" "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==" - "resolved" "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz" - "version" "5.5.0" +opn@^5.5.0: + version "5.5.0" + resolved "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz" + integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== dependencies: - "is-wsl" "^1.1.0" + is-wsl "^1.1.0" -"original@^1.0.0": - "integrity" "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==" - "resolved" "https://registry.npmjs.org/original/-/original-1.0.2.tgz" - "version" "1.0.2" +original@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/original/-/original-1.0.2.tgz" + integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== dependencies: - "url-parse" "^1.4.3" + url-parse "^1.4.3" -"p-cancelable@^1.0.0": - "integrity" "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" - "resolved" "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" - "version" "1.1.0" +p-cancelable@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" + integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== -"p-finally@^1.0.0": - "integrity" "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - "resolved" "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" - "version" "1.0.0" +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= -"p-limit@^2.0.0": - "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - "version" "2.3.0" +p-limit@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: - "p-try" "^2.0.0" + p-try "^2.0.0" -"p-limit@^2.2.0": - "integrity" "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - "version" "2.3.0" +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: - "p-try" "^2.0.0" + p-try "^2.0.0" -"p-limit@^3.0.2", "p-limit@^3.1.0": - "integrity" "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==" - "resolved" "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - "version" "3.1.0" +p-limit@^3.0.2, p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== dependencies: - "yocto-queue" "^0.1.0" + yocto-queue "^0.1.0" -"p-locate@^3.0.0": - "integrity" "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" - "version" "3.0.0" +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: - "p-limit" "^2.0.0" + p-limit "^2.0.0" -"p-locate@^4.1.0": - "integrity" "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - "version" "4.1.0" +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== dependencies: - "p-limit" "^2.2.0" + p-limit "^2.2.0" -"p-locate@^5.0.0": - "integrity" "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==" - "resolved" "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - "version" "5.0.0" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== dependencies: - "p-limit" "^3.0.2" + p-limit "^3.0.2" -"p-map@^2.0.0": - "integrity" "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" - "resolved" "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz" - "version" "2.1.0" +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz" + integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== -"p-map@^4.0.0": - "integrity" "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==" - "resolved" "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" - "version" "4.0.0" +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== dependencies: - "aggregate-error" "^3.0.0" + aggregate-error "^3.0.0" -"p-retry@^3.0.1": - "integrity" "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==" - "resolved" "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz" - "version" "3.0.1" +p-retry@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz" + integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== dependencies: - "retry" "^0.12.0" + retry "^0.12.0" -"p-try@^2.0.0": - "integrity" "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - "resolved" "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" - "version" "2.2.0" +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -"package-json@^6.3.0": - "integrity" "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==" - "resolved" "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz" - "version" "6.5.0" +package-json@^6.3.0: + version "6.5.0" + resolved "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz" + integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== dependencies: - "got" "^9.6.0" - "registry-auth-token" "^4.0.0" - "registry-url" "^5.0.0" - "semver" "^6.2.0" + got "^9.6.0" + registry-auth-token "^4.0.0" + registry-url "^5.0.0" + semver "^6.2.0" -"param-case@^3.0.3": - "integrity" "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==" - "resolved" "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" - "version" "3.0.4" +param-case@^3.0.3: + version "3.0.4" + resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== dependencies: - "dot-case" "^3.0.4" - "tslib" "^2.0.3" + dot-case "^3.0.4" + tslib "^2.0.3" -"parent-module@^1.0.0": - "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==" - "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" - "version" "1.0.1" +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: - "callsites" "^3.0.0" + callsites "^3.0.0" -"parse-entities@^2.0.0": - "integrity" "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==" - "resolved" "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz" - "version" "2.0.0" +parse-entities@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz" + integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== dependencies: - "character-entities" "^1.0.0" - "character-entities-legacy" "^1.0.0" - "character-reference-invalid" "^1.0.0" - "is-alphanumerical" "^1.0.0" - "is-decimal" "^1.0.0" - "is-hexadecimal" "^1.0.0" + character-entities "^1.0.0" + character-entities-legacy "^1.0.0" + character-reference-invalid "^1.0.0" + is-alphanumerical "^1.0.0" + is-decimal "^1.0.0" + is-hexadecimal "^1.0.0" -"parse-json@^5.0.0": - "integrity" "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==" - "resolved" "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - "version" "5.2.0" +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" - "error-ex" "^1.3.1" - "json-parse-even-better-errors" "^2.3.0" - "lines-and-columns" "^1.1.6" - -"parse-numeric-range@^1.2.0": - "integrity" "sha512-1q2tXpAOplPxcl8vrIGPWz1dJxxfmdRkCFcpxxMBerDnGuuHalOWF/xj9L8Nn5XoTUoB/6F0CeQBp2fMgkOYFg==" - "resolved" "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.2.0.tgz" - "version" "1.2.0" - -"parse5@^5.0.0": - "integrity" "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" - "resolved" "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz" - "version" "5.1.1" - -"parse5@^6.0.0": - "integrity" "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - "resolved" "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" - "version" "6.0.1" - -"parseurl@~1.3.2", "parseurl@~1.3.3": - "integrity" "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - "resolved" "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" - "version" "1.3.3" - -"pascal-case@^3.1.2": - "integrity" "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==" - "resolved" "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" - "version" "3.1.2" - dependencies: - "no-case" "^3.0.4" - "tslib" "^2.0.3" - -"pascalcase@^0.1.1": - "integrity" "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - "resolved" "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" - "version" "0.1.1" - -"path-dirname@^1.0.0": - "integrity" "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - "resolved" "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz" - "version" "1.0.2" - -"path-exists@^3.0.0": - "integrity" "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - "version" "3.0.0" - -"path-exists@^4.0.0": - "integrity" "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - "resolved" "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - "version" "4.0.0" - -"path-is-absolute@^1.0.0": - "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - "version" "1.0.1" - -"path-is-inside@^1.0.2", "path-is-inside@1.0.2": - "integrity" "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" - "resolved" "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" - "version" "1.0.2" - -"path-key@^2.0.0": - "integrity" "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" - "version" "2.0.1" - -"path-key@^2.0.1": - "integrity" "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" - "version" "2.0.1" - -"path-key@^3.0.0", "path-key@^3.1.0": - "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - "version" "3.1.1" - -"path-parse@^1.0.6": - "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - "version" "1.0.7" - -"path-to-regexp@^1.7.0": - "integrity" "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==" - "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" - "version" "1.8.0" - dependencies: - "isarray" "0.0.1" - -"path-to-regexp@0.1.7": - "integrity" "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" - "version" "0.1.7" - -"path-to-regexp@2.2.1": - "integrity" "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" - "resolved" "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz" - "version" "2.2.1" - -"path-type@^4.0.0": - "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" - "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - "version" "4.0.0" - -"picomatch@^2.0.4", "picomatch@^2.2.1", "picomatch@^2.2.3": - "integrity" "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" - "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz" - "version" "2.3.0" - -"pify@^2.0.0": - "integrity" "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - "resolved" "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - "version" "2.3.0" - -"pify@^4.0.1": - "integrity" "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" - "resolved" "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" - "version" "4.0.1" - -"pinkie-promise@^2.0.0": - "integrity" "sha1-ITXW36ejWMBprJsXh3YogihFD/o=" - "resolved" "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "pinkie" "^2.0.0" - -"pinkie@^2.0.0": - "integrity" "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - "resolved" "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" - "version" "2.0.4" - -"pkg-dir@^3.0.0": - "integrity" "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==" - "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "find-up" "^3.0.0" - -"pkg-dir@^4.1.0": - "integrity" "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==" - "resolved" "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" - "version" "4.2.0" - dependencies: - "find-up" "^4.0.0" - -"pkg-up@3.1.0": - "integrity" "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==" - "resolved" "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "find-up" "^3.0.0" - -"portfinder@^1.0.26": - "integrity" "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==" - "resolved" "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz" - "version" "1.0.28" - dependencies: - "async" "^2.6.2" - "debug" "^3.1.1" - "mkdirp" "^0.5.5" - -"posix-character-classes@^0.1.0": - "integrity" "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - "resolved" "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" - "version" "0.1.1" - -"postcss-calc@^8.0.0": - "integrity" "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==" - "resolved" "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz" - "version" "8.0.0" - dependencies: - "postcss-selector-parser" "^6.0.2" - "postcss-value-parser" "^4.0.2" - -"postcss-colormin@^5.2.0": - "integrity" "sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw==" - "resolved" "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.0.tgz" - "version" "5.2.0" - dependencies: - "browserslist" "^4.16.6" - "caniuse-api" "^3.0.0" - "colord" "^2.0.1" - "postcss-value-parser" "^4.1.0" - -"postcss-convert-values@^5.0.1": - "integrity" "sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg==" - "resolved" "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "postcss-value-parser" "^4.1.0" - -"postcss-discard-comments@^5.0.1": - "integrity" "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==" - "resolved" "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz" - "version" "5.0.1" - -"postcss-discard-duplicates@^5.0.1": - "integrity" "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==" - "resolved" "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz" - "version" "5.0.1" - -"postcss-discard-empty@^5.0.1": - "integrity" "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==" - "resolved" "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz" - "version" "5.0.1" - -"postcss-discard-overridden@^5.0.1": - "integrity" "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==" - "resolved" "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz" - "version" "5.0.1" - -"postcss-discard-unused@^5.0.1": - "integrity" "sha512-tD6xR/xyZTwfhKYRw0ylfCY8wbfhrjpKAMnDKRTLMy2fNW5hl0hoV6ap5vo2JdCkuHkP3CHw72beO4Y8pzFdww==" - "resolved" "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "postcss-selector-parser" "^6.0.5" - -"postcss-loader@^5.3.0": - "integrity" "sha512-/+Z1RAmssdiSLgIZwnJHwBMnlABPgF7giYzTN2NOfr9D21IJZ4mQC1R2miwp80zno9M4zMD/umGI8cR+2EL5zw==" - "resolved" "https://registry.npmjs.org/postcss-loader/-/postcss-loader-5.3.0.tgz" - "version" "5.3.0" - dependencies: - "cosmiconfig" "^7.0.0" - "klona" "^2.0.4" - "semver" "^7.3.4" - -"postcss-merge-idents@^5.0.1": - "integrity" "sha512-xu8ueVU0RszbI2gKkxR6mluupsOSSLvt8q4gA2fcKFkA+x6SlH3cb4cFHpDvcRCNFbUmCR/VUub+Y6zPOjPx+Q==" - "resolved" "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "cssnano-utils" "^2.0.1" - "postcss-value-parser" "^4.1.0" - -"postcss-merge-longhand@^5.0.2": - "integrity" "sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw==" - "resolved" "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz" - "version" "5.0.2" - dependencies: - "css-color-names" "^1.0.1" - "postcss-value-parser" "^4.1.0" - "stylehacks" "^5.0.1" - -"postcss-merge-rules@^5.0.2": - "integrity" "sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==" - "resolved" "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz" - "version" "5.0.2" - dependencies: - "browserslist" "^4.16.6" - "caniuse-api" "^3.0.0" - "cssnano-utils" "^2.0.1" - "postcss-selector-parser" "^6.0.5" - "vendors" "^1.0.3" - -"postcss-minify-font-values@^5.0.1": - "integrity" "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==" - "resolved" "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "postcss-value-parser" "^4.1.0" - -"postcss-minify-gradients@^5.0.1": - "integrity" "sha512-odOwBFAIn2wIv+XYRpoN2hUV3pPQlgbJ10XeXPq8UY2N+9ZG42xu45lTn/g9zZ+d70NKSQD6EOi6UiCMu3FN7g==" - "resolved" "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "cssnano-utils" "^2.0.1" - "is-color-stop" "^1.1.0" - "postcss-value-parser" "^4.1.0" - -"postcss-minify-params@^5.0.1": - "integrity" "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==" - "resolved" "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "alphanum-sort" "^1.0.2" - "browserslist" "^4.16.0" - "cssnano-utils" "^2.0.1" - "postcss-value-parser" "^4.1.0" - "uniqs" "^2.0.0" - -"postcss-minify-selectors@^5.1.0": - "integrity" "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==" - "resolved" "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "alphanum-sort" "^1.0.2" - "postcss-selector-parser" "^6.0.5" - -"postcss-modules-extract-imports@^3.0.0": - "integrity" "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==" - "resolved" "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz" - "version" "3.0.0" - -"postcss-modules-local-by-default@^4.0.0": - "integrity" "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==" - "resolved" "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "icss-utils" "^5.0.0" - "postcss-selector-parser" "^6.0.2" - "postcss-value-parser" "^4.1.0" - -"postcss-modules-scope@^3.0.0": - "integrity" "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==" - "resolved" "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "postcss-selector-parser" "^6.0.4" - -"postcss-modules-values@^4.0.0": - "integrity" "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==" - "resolved" "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" - "version" "4.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse-numeric-range@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.2.0.tgz" + integrity sha512-1q2tXpAOplPxcl8vrIGPWz1dJxxfmdRkCFcpxxMBerDnGuuHalOWF/xj9L8Nn5XoTUoB/6F0CeQBp2fMgkOYFg== + +parse5@^5.0.0: + version "5.1.1" + resolved "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + +parse5@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.2, path-is-inside@1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@^1.7.0: + version "1.8.0" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + dependencies: + isarray "0.0.1" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +path-to-regexp@2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz" + integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz" + integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +pkg-up@3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" + integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== + dependencies: + find-up "^3.0.0" + +portfinder@^1.0.26: + version "1.0.28" + resolved "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz" + integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.5" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss-calc@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz" + integrity sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g== + dependencies: + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-colormin@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.0.tgz" + integrity sha512-+HC6GfWU3upe5/mqmxuqYZ9B2Wl4lcoUUNkoaX59nEWV4EtADCMiBqui111Bu8R8IvaZTmqmxrqOAqjbHIwXPw== + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" + colord "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-convert-values@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.1.tgz" + integrity sha512-C3zR1Do2BkKkCgC0g3sF8TS0koF2G+mN8xxayZx3f10cIRmTaAnpgpRQZjNekTZxM2ciSPoh2IWJm0VZx8NoQg== + dependencies: + postcss-value-parser "^4.1.0" + +postcss-discard-comments@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz" + integrity sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg== + +postcss-discard-duplicates@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz" + integrity sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA== + +postcss-discard-empty@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz" + integrity sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw== + +postcss-discard-overridden@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz" + integrity sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q== + +postcss-discard-unused@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.0.1.tgz" + integrity sha512-tD6xR/xyZTwfhKYRw0ylfCY8wbfhrjpKAMnDKRTLMy2fNW5hl0hoV6ap5vo2JdCkuHkP3CHw72beO4Y8pzFdww== + dependencies: + postcss-selector-parser "^6.0.5" + +postcss-loader@^5.3.0: + version "5.3.0" + resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-5.3.0.tgz" + integrity sha512-/+Z1RAmssdiSLgIZwnJHwBMnlABPgF7giYzTN2NOfr9D21IJZ4mQC1R2miwp80zno9M4zMD/umGI8cR+2EL5zw== + dependencies: + cosmiconfig "^7.0.0" + klona "^2.0.4" + semver "^7.3.4" + +postcss-merge-idents@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.0.1.tgz" + integrity sha512-xu8ueVU0RszbI2gKkxR6mluupsOSSLvt8q4gA2fcKFkA+x6SlH3cb4cFHpDvcRCNFbUmCR/VUub+Y6zPOjPx+Q== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-merge-longhand@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.2.tgz" + integrity sha512-BMlg9AXSI5G9TBT0Lo/H3PfUy63P84rVz3BjCFE9e9Y9RXQZD3+h3YO1kgTNsNJy7bBc1YQp8DmSnwLIW5VPcw== + dependencies: + css-color-names "^1.0.1" + postcss-value-parser "^4.1.0" + stylehacks "^5.0.1" + +postcss-merge-rules@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz" + integrity sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg== + dependencies: + browserslist "^4.16.6" + caniuse-api "^3.0.0" + cssnano-utils "^2.0.1" + postcss-selector-parser "^6.0.5" + vendors "^1.0.3" + +postcss-minify-font-values@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz" + integrity sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA== + dependencies: + postcss-value-parser "^4.1.0" + +postcss-minify-gradients@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.1.tgz" + integrity sha512-odOwBFAIn2wIv+XYRpoN2hUV3pPQlgbJ10XeXPq8UY2N+9ZG42xu45lTn/g9zZ+d70NKSQD6EOi6UiCMu3FN7g== + dependencies: + cssnano-utils "^2.0.1" + is-color-stop "^1.1.0" + postcss-value-parser "^4.1.0" + +postcss-minify-params@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz" + integrity sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw== + dependencies: + alphanum-sort "^1.0.2" + browserslist "^4.16.0" + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + uniqs "^2.0.0" + +postcss-minify-selectors@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz" + integrity sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og== + dependencies: + alphanum-sort "^1.0.2" + postcss-selector-parser "^6.0.5" + +postcss-modules-extract-imports@^3.0.0: + 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== + +postcss-modules-local-by-default@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz" + integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz" + integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== dependencies: - "icss-utils" "^5.0.0" - -"postcss-normalize-charset@^5.0.1": - "integrity" "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==" - "resolved" "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz" - "version" "5.0.1" - -"postcss-normalize-display-values@^5.0.1": - "integrity" "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==" - "resolved" "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "cssnano-utils" "^2.0.1" - "postcss-value-parser" "^4.1.0" + icss-utils "^5.0.0" + +postcss-normalize-charset@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz" + integrity sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg== + +postcss-normalize-display-values@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz" + integrity sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" -"postcss-normalize-positions@^5.0.1": - "integrity" "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==" - "resolved" "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "postcss-value-parser" "^4.1.0" - -"postcss-normalize-repeat-style@^5.0.1": - "integrity" "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==" - "resolved" "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "cssnano-utils" "^2.0.1" - "postcss-value-parser" "^4.1.0" - -"postcss-normalize-string@^5.0.1": - "integrity" "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==" - "resolved" "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "postcss-value-parser" "^4.1.0" +postcss-normalize-positions@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz" + integrity sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg== + dependencies: + postcss-value-parser "^4.1.0" + +postcss-normalize-repeat-style@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz" + integrity sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-normalize-string@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz" + integrity sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA== + dependencies: + postcss-value-parser "^4.1.0" -"postcss-normalize-timing-functions@^5.0.1": - "integrity" "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==" - "resolved" "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz" - "version" "5.0.1" +postcss-normalize-timing-functions@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz" + integrity sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q== dependencies: - "cssnano-utils" "^2.0.1" - "postcss-value-parser" "^4.1.0" - -"postcss-normalize-unicode@^5.0.1": - "integrity" "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==" - "resolved" "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "browserslist" "^4.16.0" - "postcss-value-parser" "^4.1.0" - -"postcss-normalize-url@^5.0.2": - "integrity" "sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==" - "resolved" "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz" - "version" "5.0.2" - dependencies: - "is-absolute-url" "^3.0.3" - "normalize-url" "^6.0.1" - "postcss-value-parser" "^4.1.0" - -"postcss-normalize-whitespace@^5.0.1": - "integrity" "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==" - "resolved" "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "postcss-value-parser" "^4.1.0" + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-normalize-unicode@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz" + integrity sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA== + dependencies: + browserslist "^4.16.0" + postcss-value-parser "^4.1.0" + +postcss-normalize-url@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz" + integrity sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ== + dependencies: + is-absolute-url "^3.0.3" + normalize-url "^6.0.1" + postcss-value-parser "^4.1.0" + +postcss-normalize-whitespace@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz" + integrity sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA== + dependencies: + postcss-value-parser "^4.1.0" -"postcss-ordered-values@^5.0.2": - "integrity" "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==" - "resolved" "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz" - "version" "5.0.2" +postcss-ordered-values@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz" + integrity sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ== dependencies: - "cssnano-utils" "^2.0.1" - "postcss-value-parser" "^4.1.0" - -"postcss-reduce-idents@^5.0.1": - "integrity" "sha512-6Rw8iIVFbqtaZExgWK1rpVgP7DPFRPh0DDFZxJ/ADNqPiH10sPCoq5tgo6kLiTyfh9sxjKYjXdc8udLEcPOezg==" - "resolved" "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "postcss-value-parser" "^4.1.0" + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" + +postcss-reduce-idents@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.0.1.tgz" + integrity sha512-6Rw8iIVFbqtaZExgWK1rpVgP7DPFRPh0DDFZxJ/ADNqPiH10sPCoq5tgo6kLiTyfh9sxjKYjXdc8udLEcPOezg== + dependencies: + postcss-value-parser "^4.1.0" -"postcss-reduce-initial@^5.0.1": - "integrity" "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==" - "resolved" "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "browserslist" "^4.16.0" - "caniuse-api" "^3.0.0" +postcss-reduce-initial@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz" + integrity sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw== + dependencies: + browserslist "^4.16.0" + caniuse-api "^3.0.0" -"postcss-reduce-transforms@^5.0.1": - "integrity" "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==" - "resolved" "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "cssnano-utils" "^2.0.1" - "postcss-value-parser" "^4.1.0" +postcss-reduce-transforms@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz" + integrity sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA== + dependencies: + cssnano-utils "^2.0.1" + postcss-value-parser "^4.1.0" -"postcss-selector-parser@^6.0.2", "postcss-selector-parser@^6.0.4", "postcss-selector-parser@^6.0.5": - "integrity" "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==" - "resolved" "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz" - "version" "6.0.6" - dependencies: - "cssesc" "^3.0.0" - "util-deprecate" "^1.0.2" - -"postcss-sort-media-queries@^3.10.11": - "integrity" "sha512-PNhEOWR/btZ0bNNRqqdW4TWxBPQ1mu2I6/Zpco80vBUDSyEjtduUAorY0Vm68rvDlGea3+sgEnQ36iQ1A/gG8Q==" - "resolved" "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-3.11.12.tgz" - "version" "3.11.12" - dependencies: - "sort-css-media-queries" "1.5.4" - -"postcss-svgo@^5.0.2": - "integrity" "sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A==" - "resolved" "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.2.tgz" - "version" "5.0.2" - dependencies: - "postcss-value-parser" "^4.1.0" - "svgo" "^2.3.0" - -"postcss-unique-selectors@^5.0.1": - "integrity" "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==" - "resolved" "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "alphanum-sort" "^1.0.2" - "postcss-selector-parser" "^6.0.5" - "uniqs" "^2.0.0" - -"postcss-value-parser@^4.0.2", "postcss-value-parser@^4.1.0": - "integrity" "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" - "resolved" "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz" - "version" "4.1.0" - -"postcss-zindex@^5.0.1": - "integrity" "sha512-nwgtJJys+XmmSGoYCcgkf/VczP8Mp/0OfSv3v0+fw0uABY4yxw+eFs0Xp9nAZHIKnS5j+e9ywQ+RD+ONyvl5pA==" - "resolved" "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.0.1.tgz" - "version" "5.0.1" - -"postcss@^7.0.0 || ^8.0.1", "postcss@^8.0.9", "postcss@^8.1.0", "postcss@^8.2.15", "postcss@^8.2.2", "postcss@^8.2.4", "postcss@^8.3.1", "postcss@^8.3.5": - "integrity" "sha512-NxTuJocUhYGsMiMFHDUkmjSKT3EdH4/WbGF6GCi1NDGk+vbcUTun4fpbOqaPtD8IIsztA2ilZm2DhYCuyN58gA==" - "resolved" "https://registry.npmjs.org/postcss/-/postcss-8.3.5.tgz" - "version" "8.3.5" - dependencies: - "colorette" "^1.2.2" - "nanoid" "^3.1.23" - "source-map-js" "^0.6.2" - -"prepend-http@^2.0.0": - "integrity" "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" - "resolved" "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" - "version" "2.0.0" - -"pretty-error@^3.0.4": - "integrity" "sha512-ytLFLfv1So4AO1UkoBF6GXQgJRaKbiSiGFICaOPNwQ3CMvBvXpLRubeQWyPGnsbV/t9ml9qto6IeCsho0aEvwQ==" - "resolved" "https://registry.npmjs.org/pretty-error/-/pretty-error-3.0.4.tgz" - "version" "3.0.4" - dependencies: - "lodash" "^4.17.20" - "renderkid" "^2.0.6" - -"pretty-time@^1.1.0": - "integrity" "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==" - "resolved" "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz" - "version" "1.1.0" - -"prism-react-renderer@^1.2.1": - "integrity" "sha512-w23ch4f75V1Tnz8DajsYKvY5lF7H1+WvzvLUcF0paFxkTHSp42RS0H5CttdN2Q8RR3DRGZ9v5xD/h3n8C8kGmg==" - "resolved" "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.2.1.tgz" - "version" "1.2.1" - -"prismjs@^1.23.0": - "integrity" "sha512-mNPsedLuk90RVJioIky8ANZEwYm5w9LcvCXrxHlwf4fNVSn8jEipMybMkWUyyF0JhnC+C4VcOVSBuHRKs1L5Ow==" - "resolved" "https://registry.npmjs.org/prismjs/-/prismjs-1.24.1.tgz" - "version" "1.24.1" - -"process-nextick-args@~2.0.0": - "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - "version" "2.0.1" - -"promise@^7.1.1": - "integrity" "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==" - "resolved" "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" - "version" "7.3.1" - dependencies: - "asap" "~2.0.3" - -"prompts@^2.4.1": - "integrity" "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==" - "resolved" "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz" - "version" "2.4.1" - dependencies: - "kleur" "^3.0.3" - "sisteransi" "^1.0.5" - -"prompts@2.4.0": - "integrity" "sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==" - "resolved" "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz" - "version" "2.4.0" - dependencies: - "kleur" "^3.0.3" - "sisteransi" "^1.0.5" - -"prop-types@^15.0.0", "prop-types@^15.5.0", "prop-types@^15.6.2", "prop-types@^15.7.2": - "integrity" "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==" - "resolved" "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz" - "version" "15.7.2" - dependencies: - "loose-envify" "^1.4.0" - "object-assign" "^4.1.1" - "react-is" "^16.8.1" - -"property-information@^5.0.0", "property-information@^5.3.0": - "integrity" "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==" - "resolved" "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz" - "version" "5.6.0" - dependencies: - "xtend" "^4.0.0" - -"proxy-addr@~2.0.5": - "integrity" "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==" - "resolved" "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" - "version" "2.0.7" - dependencies: - "forwarded" "0.2.0" - "ipaddr.js" "1.9.1" - -"prr@~1.0.1": - "integrity" "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" - "resolved" "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" - "version" "1.0.1" - -"pump@^3.0.0": - "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==" - "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "end-of-stream" "^1.1.0" - "once" "^1.3.1" - -"punycode@^1.3.2": - "integrity" "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" - "version" "1.4.1" - -"punycode@^2.1.0": - "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - "version" "2.1.1" - -"punycode@1.3.2": - "integrity" "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" - "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" - "version" "1.3.2" - -"pupa@^2.1.1": - "integrity" "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==" - "resolved" "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "escape-goat" "^2.0.0" - -"pure-color@^1.2.0": - "integrity" "sha1-H+Bk+wrIUfDeYTIKi/eWg2Qi8z4=" - "resolved" "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz" - "version" "1.3.0" - -"q@^1.1.2": - "integrity" "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" - "resolved" "https://registry.npmjs.org/q/-/q-1.5.1.tgz" - "version" "1.5.1" - -"qs@6.7.0": - "integrity" "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - "resolved" "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz" - "version" "6.7.0" - -"querystring@0.2.0": - "integrity" "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" - "resolved" "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" - "version" "0.2.0" - -"querystringify@^2.1.1": - "integrity" "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - "resolved" "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" - "version" "2.2.0" - -"queue-microtask@^1.2.2": - "integrity" "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" - "resolved" "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - "version" "1.2.3" - -"randombytes@^2.1.0": - "integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==" - "resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "safe-buffer" "^5.1.0" - -"range-parser@^1.2.1", "range-parser@~1.2.1": - "integrity" "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" - "version" "1.2.1" - -"range-parser@1.2.0": - "integrity" "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" - "resolved" "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" - "version" "1.2.0" - -"raw-body@2.4.0": - "integrity" "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==" - "resolved" "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz" - "version" "2.4.0" - dependencies: - "bytes" "3.1.0" - "http-errors" "1.7.2" - "iconv-lite" "0.4.24" - "unpipe" "1.0.0" - -"rc@^1.2.8": - "integrity" "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==" - "resolved" "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" - "version" "1.2.8" - dependencies: - "deep-extend" "^0.6.0" - "ini" "~1.3.0" - "minimist" "^1.2.0" - "strip-json-comments" "~2.0.1" - -"react-base16-styling@^0.6.0": - "integrity" "sha1-7yFW1mz0E5aVyKFniGy2nqZgeSw=" - "resolved" "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz" - "version" "0.6.0" - dependencies: - "base16" "^1.0.0" - "lodash.curry" "^4.0.1" - "lodash.flow" "^3.3.0" - "pure-color" "^1.2.0" - -"react-dev-utils@^11.0.1": - "integrity" "sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==" - "resolved" "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.4.tgz" - "version" "11.0.4" +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5: + version "6.0.6" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz" + integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-sort-media-queries@^3.10.11: + version "3.11.12" + resolved "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-3.11.12.tgz" + integrity sha512-PNhEOWR/btZ0bNNRqqdW4TWxBPQ1mu2I6/Zpco80vBUDSyEjtduUAorY0Vm68rvDlGea3+sgEnQ36iQ1A/gG8Q== + dependencies: + sort-css-media-queries "1.5.4" + +postcss-svgo@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.2.tgz" + integrity sha512-YzQuFLZu3U3aheizD+B1joQ94vzPfE6BNUcSYuceNxlVnKKsOtdo6hL9/zyC168Q8EwfLSgaDSalsUGa9f2C0A== + dependencies: + postcss-value-parser "^4.1.0" + svgo "^2.3.0" + +postcss-unique-selectors@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz" + integrity sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w== + dependencies: + alphanum-sort "^1.0.2" + postcss-selector-parser "^6.0.5" + uniqs "^2.0.0" + +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz" + integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + +postcss-zindex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.0.1.tgz" + integrity sha512-nwgtJJys+XmmSGoYCcgkf/VczP8Mp/0OfSv3v0+fw0uABY4yxw+eFs0Xp9nAZHIKnS5j+e9ywQ+RD+ONyvl5pA== + +"postcss@^7.0.0 || ^8.0.1", postcss@^8.0.9, postcss@^8.1.0, postcss@^8.2.15, postcss@^8.2.2, postcss@^8.2.4, postcss@^8.3.1, postcss@^8.3.5: + version "8.3.5" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.3.5.tgz" + integrity sha512-NxTuJocUhYGsMiMFHDUkmjSKT3EdH4/WbGF6GCi1NDGk+vbcUTun4fpbOqaPtD8IIsztA2ilZm2DhYCuyN58gA== + dependencies: + colorette "^1.2.2" + nanoid "^3.1.23" + source-map-js "^0.6.2" + +prepend-http@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" + integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + +pretty-error@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/pretty-error/-/pretty-error-3.0.4.tgz" + integrity sha512-ytLFLfv1So4AO1UkoBF6GXQgJRaKbiSiGFICaOPNwQ3CMvBvXpLRubeQWyPGnsbV/t9ml9qto6IeCsho0aEvwQ== + dependencies: + lodash "^4.17.20" + renderkid "^2.0.6" + +pretty-time@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz" + integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== + +prism-react-renderer@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.2.1.tgz" + integrity sha512-w23ch4f75V1Tnz8DajsYKvY5lF7H1+WvzvLUcF0paFxkTHSp42RS0H5CttdN2Q8RR3DRGZ9v5xD/h3n8C8kGmg== + +prismjs@^1.23.0: + version "1.24.1" + resolved "https://registry.npmjs.org/prismjs/-/prismjs-1.24.1.tgz" + integrity sha512-mNPsedLuk90RVJioIky8ANZEwYm5w9LcvCXrxHlwf4fNVSn8jEipMybMkWUyyF0JhnC+C4VcOVSBuHRKs1L5Ow== + +process-nextick-args@~2.0.0: + 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== + +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz" + integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== + dependencies: + asap "~2.0.3" + +prompts@^2.4.1: + version "2.4.1" + resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz" + integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prompts@2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz" + integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + +prop-types@^15.0.0, prop-types@^15.5.0, prop-types@^15.6.2, prop-types@^15.7.2: + version "15.7.2" + resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz" + integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.8.1" + +property-information@^5.0.0, property-information@^5.3.0: + version "5.6.0" + resolved "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz" + integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA== + dependencies: + xtend "^4.0.0" + +proxy-addr@~2.0.5: + 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== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^1.3.2: + version "1.4.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +pupa@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz" + integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== + dependencies: + escape-goat "^2.0.0" + +pure-color@^1.2.0: + version "1.3.0" + resolved "https://registry.npmjs.org/pure-color/-/pure-color-1.3.0.tgz" + integrity sha1-H+Bk+wrIUfDeYTIKi/eWg2Qi8z4= + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +range-parser@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" + integrity sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4= + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz" + integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +rc@^1.2.8: + version "1.2.8" + resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +react-base16-styling@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/react-base16-styling/-/react-base16-styling-0.6.0.tgz" + integrity sha1-7yFW1mz0E5aVyKFniGy2nqZgeSw= + dependencies: + base16 "^1.0.0" + lodash.curry "^4.0.1" + lodash.flow "^3.3.0" + pure-color "^1.2.0" + +react-dev-utils@^11.0.1: + version "11.0.4" + resolved "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.4.tgz" + integrity sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A== dependencies: "@babel/code-frame" "7.10.4" - "address" "1.1.2" - "browserslist" "4.14.2" - "chalk" "2.4.2" - "cross-spawn" "7.0.3" - "detect-port-alt" "1.1.6" - "escape-string-regexp" "2.0.0" - "filesize" "6.1.0" - "find-up" "4.1.0" - "fork-ts-checker-webpack-plugin" "4.1.6" - "global-modules" "2.0.0" - "globby" "11.0.1" - "gzip-size" "5.1.1" - "immer" "8.0.1" - "is-root" "2.1.0" - "loader-utils" "2.0.0" - "open" "^7.0.2" - "pkg-up" "3.1.0" - "prompts" "2.4.0" - "react-error-overlay" "^6.0.9" - "recursive-readdir" "2.2.2" - "shell-quote" "1.7.2" - "strip-ansi" "6.0.0" - "text-table" "0.2.0" - -"react-device-detect@^1.17.0": - "integrity" "sha512-bBblIStwpHmoS281JFIVqeimcN3LhpoP5YKDWzxQdBIUP8S2xPvHDgizLDhUq2ScguLfVPmwfF5y268EEQR60w==" - "resolved" "https://registry.npmjs.org/react-device-detect/-/react-device-detect-1.17.0.tgz" - "version" "1.17.0" - dependencies: - "ua-parser-js" "^0.7.24" - -"react-dom@^16.8.4 || ^17.0.0", "react-dom@^17.0.0 || ^16.3.0 || ^15.5.4", "react-dom@^17.0.1", "react-dom@>= 0.14.0 < 18.0.0", "react-dom@>= 16.8.0 < 18.0.0": - "integrity" "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==" - "resolved" "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" - "version" "17.0.2" - dependencies: - "loose-envify" "^1.1.0" - "object-assign" "^4.1.1" - "scheduler" "^0.20.2" - -"react-error-overlay@^6.0.9": - "integrity" "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==" - "resolved" "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz" - "version" "6.0.9" - -"react-fast-compare@^3.1.1": - "integrity" "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" - "resolved" "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz" - "version" "3.2.0" - -"react-helmet@^6.1.0": - "integrity" "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==" - "resolved" "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "object-assign" "^4.1.1" - "prop-types" "^15.7.2" - "react-fast-compare" "^3.1.1" - "react-side-effect" "^2.1.0" - -"react-is@^16.6.0", "react-is@^16.7.0", "react-is@^16.8.1": - "integrity" "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - "resolved" "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" - "version" "16.13.1" - -"react-json-view@^1.21.3": - "integrity" "sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw==" - "resolved" "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz" - "version" "1.21.3" - dependencies: - "flux" "^4.0.1" - "react-base16-styling" "^0.6.0" - "react-lifecycles-compat" "^3.0.4" - "react-textarea-autosize" "^8.3.2" - -"react-lifecycles-compat@^3.0.4": - "integrity" "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - "resolved" "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz" - "version" "3.0.4" - -"react-loadable-ssr-addon-v5-slorber@^1.0.1": - "integrity" "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==" - "resolved" "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz" - "version" "1.0.1" + address "1.1.2" + browserslist "4.14.2" + chalk "2.4.2" + cross-spawn "7.0.3" + detect-port-alt "1.1.6" + escape-string-regexp "2.0.0" + filesize "6.1.0" + find-up "4.1.0" + fork-ts-checker-webpack-plugin "4.1.6" + global-modules "2.0.0" + globby "11.0.1" + gzip-size "5.1.1" + immer "8.0.1" + is-root "2.1.0" + loader-utils "2.0.0" + open "^7.0.2" + pkg-up "3.1.0" + prompts "2.4.0" + react-error-overlay "^6.0.9" + recursive-readdir "2.2.2" + shell-quote "1.7.2" + strip-ansi "6.0.0" + text-table "0.2.0" + +react-device-detect@^1.17.0: + version "1.17.0" + resolved "https://registry.npmjs.org/react-device-detect/-/react-device-detect-1.17.0.tgz" + integrity sha512-bBblIStwpHmoS281JFIVqeimcN3LhpoP5YKDWzxQdBIUP8S2xPvHDgizLDhUq2ScguLfVPmwfF5y268EEQR60w== + dependencies: + ua-parser-js "^0.7.24" + +"react-dom@^16.8.4 || ^17.0.0", "react-dom@^17.0.0 || ^16.3.0 || ^15.5.4", react-dom@^17.0.1, "react-dom@>= 0.14.0 < 18.0.0", "react-dom@>= 16.8.0 < 18.0.0": + version "17.0.2" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz" + integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + scheduler "^0.20.2" + +react-error-overlay@^6.0.9: + version "6.0.9" + resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz" + integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== + +react-fast-compare@^3.1.1: + version "3.2.0" + resolved "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz" + integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA== + +react-helmet@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz" + integrity sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw== + dependencies: + object-assign "^4.1.1" + prop-types "^15.7.2" + react-fast-compare "^3.1.1" + react-side-effect "^2.1.0" + +react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1: + version "16.13.1" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" + integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + +react-json-view@^1.21.3: + version "1.21.3" + resolved "https://registry.npmjs.org/react-json-view/-/react-json-view-1.21.3.tgz" + integrity sha512-13p8IREj9/x/Ye4WI/JpjhoIwuzEgUAtgJZNBJckfzJt1qyh24BdTm6UQNGnyTq9dapQdrqvquZTo3dz1X6Cjw== + dependencies: + flux "^4.0.1" + react-base16-styling "^0.6.0" + react-lifecycles-compat "^3.0.4" + react-textarea-autosize "^8.3.2" + +react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz" + integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== + +react-loadable-ssr-addon-v5-slorber@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz" + integrity sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A== dependencies: "@babel/runtime" "^7.10.3" -"react-loadable@*", "react-loadable@^5.5.0": - "integrity" "sha512-C8Aui0ZpMd4KokxRdVAm2bQtI03k2RMRNzOB+IipV3yxFTSVICv7WoUr5L9ALB5BmKO1iHgZtWM8EvYG83otdg==" - "resolved" "https://registry.npmjs.org/react-loadable/-/react-loadable-5.5.0.tgz" - "version" "5.5.0" +react-loadable@*, react-loadable@^5.5.0: + version "5.5.0" + resolved "https://registry.npmjs.org/react-loadable/-/react-loadable-5.5.0.tgz" + integrity sha512-C8Aui0ZpMd4KokxRdVAm2bQtI03k2RMRNzOB+IipV3yxFTSVICv7WoUr5L9ALB5BmKO1iHgZtWM8EvYG83otdg== dependencies: - "prop-types" "^15.5.0" + prop-types "^15.5.0" -"react-router-config@^5.1.1": - "integrity" "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==" - "resolved" "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz" - "version" "5.1.1" +react-router-config@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz" + integrity sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg== dependencies: "@babel/runtime" "^7.1.2" -"react-router-dom@^5.2.0": - "integrity" "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==" - "resolved" "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz" - "version" "5.2.0" +react-router-dom@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz" + integrity sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA== dependencies: "@babel/runtime" "^7.1.2" - "history" "^4.9.0" - "loose-envify" "^1.3.1" - "prop-types" "^15.6.2" - "react-router" "5.2.0" - "tiny-invariant" "^1.0.2" - "tiny-warning" "^1.0.0" - -"react-router@^5.2.0", "react-router@>=5", "react-router@5.2.0": - "integrity" "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==" - "resolved" "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz" - "version" "5.2.0" + history "^4.9.0" + loose-envify "^1.3.1" + prop-types "^15.6.2" + react-router "5.2.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-router@^5.2.0, react-router@>=5, react-router@5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz" + integrity sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw== dependencies: "@babel/runtime" "^7.1.2" - "history" "^4.9.0" - "hoist-non-react-statics" "^3.1.0" - "loose-envify" "^1.3.1" - "mini-create-react-context" "^0.4.0" - "path-to-regexp" "^1.7.0" - "prop-types" "^15.6.2" - "react-is" "^16.6.0" - "tiny-invariant" "^1.0.2" - "tiny-warning" "^1.0.0" - -"react-side-effect@^2.1.0": - "integrity" "sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ==" - "resolved" "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.1.tgz" - "version" "2.1.1" - -"react-textarea-autosize@^8.3.2": - "integrity" "sha512-2XlHXK2TDxS6vbQaoPbMOfQ8GK7+irc2fVK6QFIcC8GOnH3zI/v481n+j1L0WaPVvKxwesnY93fEfH++sus2rQ==" - "resolved" "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.3.tgz" - "version" "8.3.3" + history "^4.9.0" + hoist-non-react-statics "^3.1.0" + loose-envify "^1.3.1" + mini-create-react-context "^0.4.0" + path-to-regexp "^1.7.0" + prop-types "^15.6.2" + react-is "^16.6.0" + tiny-invariant "^1.0.2" + tiny-warning "^1.0.0" + +react-side-effect@^2.1.0: + version "2.1.1" + resolved "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.1.tgz" + integrity sha512-2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ== + +react-textarea-autosize@^8.3.2: + version "8.3.3" + resolved "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.3.tgz" + integrity sha512-2XlHXK2TDxS6vbQaoPbMOfQ8GK7+irc2fVK6QFIcC8GOnH3zI/v481n+j1L0WaPVvKxwesnY93fEfH++sus2rQ== dependencies: "@babel/runtime" "^7.10.2" - "use-composed-ref" "^1.0.0" - "use-latest" "^1.0.0" - -"react@*", "react@^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0", "react@^15.0.2 || ^16.0.0 || ^17.0.0", "react@^16.13.1 || ^17.0.0", "react@^16.3.0 || ^17.0.0", "react@^16.8.0 || ^17.0.0", "react@^16.8.4 || ^17.0.0", "react@^17.0.0 || ^16.3.0 || ^15.5.4", "react@^17.0.1", "react@>= 0.14.0 < 18.0.0", "react@>= 16.8.0 < 18.0.0", "react@>=0.14.9", "react@>=15", "react@>=16.3.0", "react@17.0.2": - "integrity" "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==" - "resolved" "https://registry.npmjs.org/react/-/react-17.0.2.tgz" - "version" "17.0.2" - dependencies: - "loose-envify" "^1.1.0" - "object-assign" "^4.1.1" - -"readable-stream@^2.0.1": - "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - "version" "2.3.7" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.3" - "isarray" "~1.0.0" - "process-nextick-args" "~2.0.0" - "safe-buffer" "~5.1.1" - "string_decoder" "~1.1.1" - "util-deprecate" "~1.0.1" - -"readable-stream@^2.0.2": - "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" - "version" "2.3.7" - dependencies: - "core-util-is" "~1.0.0" - "inherits" "~2.0.3" - "isarray" "~1.0.0" - "process-nextick-args" "~2.0.0" - "safe-buffer" "~5.1.1" - "string_decoder" "~1.1.1" - "util-deprecate" "~1.0.1" - -"readable-stream@^3.0.6", "readable-stream@^3.1.1": - "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==" - "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "inherits" "^2.0.3" - "string_decoder" "^1.1.1" - "util-deprecate" "^1.0.1" - -"readdirp@^2.2.1": - "integrity" "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==" - "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz" - "version" "2.2.1" - dependencies: - "graceful-fs" "^4.1.11" - "micromatch" "^3.1.10" - "readable-stream" "^2.0.2" - -"readdirp@~3.6.0": - "integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==" - "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" - "version" "3.6.0" - dependencies: - "picomatch" "^2.2.1" - -"reading-time@^1.3.0": - "integrity" "sha512-RJ8J5O6UvrclfZpcPSPuKusrdRfoY7uXXoYOOdeswZNtSkQaewT3919yz6RyloDBR+iwcUyz5zGOUjhgvfuv3g==" - "resolved" "https://registry.npmjs.org/reading-time/-/reading-time-1.3.0.tgz" - "version" "1.3.0" - -"rechoir@^0.6.2": - "integrity" "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=" - "resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" - "version" "0.6.2" - dependencies: - "resolve" "^1.1.6" - -"recursive-readdir@2.2.2": - "integrity" "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==" - "resolved" "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz" - "version" "2.2.2" - dependencies: - "minimatch" "3.0.4" - -"regenerate-unicode-properties@^8.2.0": - "integrity" "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==" - "resolved" "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz" - "version" "8.2.0" - dependencies: - "regenerate" "^1.4.0" - -"regenerate@^1.4.0": - "integrity" "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" - "resolved" "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" - "version" "1.4.2" - -"regenerator-runtime@^0.13.4": - "integrity" "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==" - "resolved" "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz" - "version" "0.13.7" - -"regenerator-transform@^0.14.2": - "integrity" "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==" - "resolved" "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz" - "version" "0.14.5" + use-composed-ref "^1.0.0" + use-latest "^1.0.0" + +react@*, "react@^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0", "react@^15.0.2 || ^16.0.0 || ^17.0.0", "react@^16.13.1 || ^17.0.0", "react@^16.3.0 || ^17.0.0", "react@^16.8.0 || ^17.0.0", "react@^16.8.4 || ^17.0.0", "react@^17.0.0 || ^16.3.0 || ^15.5.4", react@^17.0.1, "react@>= 0.14.0 < 18.0.0", "react@>= 16.8.0 < 18.0.0", react@>=0.14.9, react@>=15, react@>=16.3.0, react@17.0.2: + version "17.0.2" + resolved "https://registry.npmjs.org/react/-/react-17.0.2.tgz" + integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + +readable-stream@^2.0.1: + version "2.3.7" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^2.0.2: + version "2.3.7" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6, readable-stream@^3.1.1: + version "3.6.0" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" + integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +reading-time@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/reading-time/-/reading-time-1.3.0.tgz" + integrity sha512-RJ8J5O6UvrclfZpcPSPuKusrdRfoY7uXXoYOOdeswZNtSkQaewT3919yz6RyloDBR+iwcUyz5zGOUjhgvfuv3g== + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz" + integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q= + dependencies: + resolve "^1.1.6" + +recursive-readdir@2.2.2: + version "2.2.2" + resolved "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz" + integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== + dependencies: + minimatch "3.0.4" + +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz" + integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: + version "1.4.2" + resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.13.4: + version "0.13.7" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz" + integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz" + integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== dependencies: "@babel/runtime" "^7.8.4" -"regex-not@^1.0.0", "regex-not@^1.0.2": - "integrity" "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==" - "resolved" "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "extend-shallow" "^3.0.2" - "safe-regex" "^1.1.0" - -"regexp.prototype.flags@^1.2.0": - "integrity" "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==" - "resolved" "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - -"regexpu-core@^4.7.1": - "integrity" "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==" - "resolved" "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz" - "version" "4.7.1" - dependencies: - "regenerate" "^1.4.0" - "regenerate-unicode-properties" "^8.2.0" - "regjsgen" "^0.5.1" - "regjsparser" "^0.6.4" - "unicode-match-property-ecmascript" "^1.0.4" - "unicode-match-property-value-ecmascript" "^1.2.0" - -"registry-auth-token@^4.0.0": - "integrity" "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==" - "resolved" "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz" - "version" "4.2.1" - dependencies: - "rc" "^1.2.8" - -"registry-url@^5.0.0": - "integrity" "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==" - "resolved" "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "rc" "^1.2.8" - -"regjsgen@^0.5.1": - "integrity" "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" - "resolved" "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz" - "version" "0.5.2" - -"regjsparser@^0.6.4": - "integrity" "sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ==" - "resolved" "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz" - "version" "0.6.9" - dependencies: - "jsesc" "~0.5.0" - -"rehype-parse@^6.0.2": - "integrity" "sha512-0S3CpvpTAgGmnz8kiCyFLGuW5yA4OQhyNTm/nwPopZ7+PI11WnGl1TTWTGv/2hPEe/g2jRLlhVVSsoDH8waRug==" - "resolved" "https://registry.npmjs.org/rehype-parse/-/rehype-parse-6.0.2.tgz" - "version" "6.0.2" - dependencies: - "hast-util-from-parse5" "^5.0.0" - "parse5" "^5.0.0" - "xtend" "^4.0.0" - -"relateurl@^0.2.7": - "integrity" "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" - "resolved" "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" - "version" "0.2.7" - -"remark-admonitions@^1.2.1": - "integrity" "sha512-Ji6p68VDvD+H1oS95Fdx9Ar5WA2wcDA4kwrrhVU7fGctC6+d3uiMICu7w7/2Xld+lnU7/gi+432+rRbup5S8ow==" - "resolved" "https://registry.npmjs.org/remark-admonitions/-/remark-admonitions-1.2.1.tgz" - "version" "1.2.1" - dependencies: - "rehype-parse" "^6.0.2" - "unified" "^8.4.2" - "unist-util-visit" "^2.0.1" - -"remark-emoji@^2.1.0": - "integrity" "sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w==" - "resolved" "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "emoticon" "^3.2.0" - "node-emoji" "^1.10.0" - "unist-util-visit" "^2.0.3" - -"remark-footnotes@2.0.0": - "integrity" "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==" - "resolved" "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz" - "version" "2.0.0" - -"remark-mdx@1.6.22": - "integrity" "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==" - "resolved" "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz" - "version" "1.6.22" +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexp.prototype.flags@^1.2.0: + version "1.3.1" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz" + integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +regexpu-core@^4.7.1: + version "4.7.1" + resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz" + integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.2.0" + +registry-auth-token@^4.0.0: + version "4.2.1" + resolved "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz" + integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== + dependencies: + rc "^1.2.8" + +registry-url@^5.0.0: + version "5.1.0" + resolved "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz" + integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== + dependencies: + rc "^1.2.8" + +regjsgen@^0.5.1: + version "0.5.2" + resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz" + integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== + +regjsparser@^0.6.4: + version "0.6.9" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.9.tgz" + integrity sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ== + dependencies: + jsesc "~0.5.0" + +rehype-parse@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/rehype-parse/-/rehype-parse-6.0.2.tgz" + integrity sha512-0S3CpvpTAgGmnz8kiCyFLGuW5yA4OQhyNTm/nwPopZ7+PI11WnGl1TTWTGv/2hPEe/g2jRLlhVVSsoDH8waRug== + dependencies: + hast-util-from-parse5 "^5.0.0" + parse5 "^5.0.0" + xtend "^4.0.0" + +relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + +remark-admonitions@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/remark-admonitions/-/remark-admonitions-1.2.1.tgz" + integrity sha512-Ji6p68VDvD+H1oS95Fdx9Ar5WA2wcDA4kwrrhVU7fGctC6+d3uiMICu7w7/2Xld+lnU7/gi+432+rRbup5S8ow== + dependencies: + rehype-parse "^6.0.2" + unified "^8.4.2" + unist-util-visit "^2.0.1" + +remark-emoji@^2.1.0: + version "2.2.0" + resolved "https://registry.npmjs.org/remark-emoji/-/remark-emoji-2.2.0.tgz" + integrity sha512-P3cj9s5ggsUvWw5fS2uzCHJMGuXYRb0NnZqYlNecewXt8QBU9n5vW3DUUKOhepS8F9CwdMx9B8a3i7pqFWAI5w== + dependencies: + emoticon "^3.2.0" + node-emoji "^1.10.0" + unist-util-visit "^2.0.3" + +remark-footnotes@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz" + integrity sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ== + +remark-mdx@1.6.22: + version "1.6.22" + resolved "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz" + integrity sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ== dependencies: "@babel/core" "7.12.9" "@babel/helper-plugin-utils" "7.10.4" "@babel/plugin-proposal-object-rest-spread" "7.12.1" "@babel/plugin-syntax-jsx" "7.12.1" "@mdx-js/util" "1.6.22" - "is-alphabetical" "1.0.4" - "remark-parse" "8.0.3" - "unified" "9.2.0" - -"remark-parse@8.0.3": - "integrity" "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==" - "resolved" "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz" - "version" "8.0.3" - dependencies: - "ccount" "^1.0.0" - "collapse-white-space" "^1.0.2" - "is-alphabetical" "^1.0.0" - "is-decimal" "^1.0.0" - "is-whitespace-character" "^1.0.0" - "is-word-character" "^1.0.0" - "markdown-escapes" "^1.0.0" - "parse-entities" "^2.0.0" - "repeat-string" "^1.5.4" - "state-toggle" "^1.0.0" - "trim" "0.0.1" - "trim-trailing-lines" "^1.0.0" - "unherit" "^1.0.4" - "unist-util-remove-position" "^2.0.0" - "vfile-location" "^3.0.0" - "xtend" "^4.0.1" - -"remark-squeeze-paragraphs@4.0.0": - "integrity" "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==" - "resolved" "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz" - "version" "4.0.0" - dependencies: - "mdast-squeeze-paragraphs" "^4.0.0" - -"remove-trailing-separator@^1.0.1": - "integrity" "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - "resolved" "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" - "version" "1.1.0" - -"renderkid@^2.0.6": - "integrity" "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==" - "resolved" "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz" - "version" "2.0.7" - dependencies: - "css-select" "^4.1.3" - "dom-converter" "^0.2.0" - "htmlparser2" "^6.1.0" - "lodash" "^4.17.21" - "strip-ansi" "^3.0.1" - -"repeat-element@^1.1.2": - "integrity" "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" - "resolved" "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz" - "version" "1.1.4" - -"repeat-string@^1.5.4", "repeat-string@^1.6.1": - "integrity" "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - "resolved" "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" - "version" "1.6.1" - -"require-directory@^2.1.1": - "integrity" "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - "resolved" "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - "version" "2.1.1" + is-alphabetical "1.0.4" + remark-parse "8.0.3" + unified "9.2.0" + +remark-parse@8.0.3: + version "8.0.3" + resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz" + integrity sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q== + dependencies: + ccount "^1.0.0" + collapse-white-space "^1.0.2" + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + is-whitespace-character "^1.0.0" + is-word-character "^1.0.0" + markdown-escapes "^1.0.0" + parse-entities "^2.0.0" + repeat-string "^1.5.4" + state-toggle "^1.0.0" + trim "0.0.1" + trim-trailing-lines "^1.0.0" + unherit "^1.0.4" + unist-util-remove-position "^2.0.0" + vfile-location "^3.0.0" + xtend "^4.0.1" + +remark-squeeze-paragraphs@4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz" + integrity sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw== + dependencies: + mdast-squeeze-paragraphs "^4.0.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +renderkid@^2.0.6: + version "2.0.7" + resolved "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz" + integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^3.0.1" + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + +repeat-string@^1.5.4, repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= "require-like@>= 0.1.1": - "integrity" "sha1-rW8wwTvs15cBDEaK+ndcDAprR/o=" - "resolved" "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz" - "version" "0.1.2" - -"require-main-filename@^2.0.0": - "integrity" "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - "resolved" "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" - "version" "2.0.0" - -"requires-port@^1.0.0": - "integrity" "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" - "resolved" "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" - "version" "1.0.0" - -"resolve-cwd@^2.0.0": - "integrity" "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=" - "resolved" "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "resolve-from" "^3.0.0" - -"resolve-from@^3.0.0": - "integrity" "sha1-six699nWiBvItuZTM17rywoYh0g=" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz" - "version" "3.0.0" - -"resolve-from@^4.0.0": - "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - "version" "4.0.0" - -"resolve-pathname@^3.0.0": - "integrity" "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" - "resolved" "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz" - "version" "3.0.0" - -"resolve-url@^0.2.1": - "integrity" "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - "resolved" "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" - "version" "0.2.1" - -"resolve@^1.1.6", "resolve@^1.14.2", "resolve@^1.3.2": - "integrity" "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==" - "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" - "version" "1.20.0" - dependencies: - "is-core-module" "^2.2.0" - "path-parse" "^1.0.6" - -"responselike@^1.0.2": - "integrity" "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=" - "resolved" "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "lowercase-keys" "^1.0.0" - -"ret@~0.1.10": - "integrity" "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - "resolved" "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" - "version" "0.1.15" - -"retry@^0.12.0": - "integrity" "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" - "resolved" "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" - "version" "0.12.0" - -"reusify@^1.0.4": - "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" - "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - "version" "1.0.4" - -"rgb-regex@^1.0.1": - "integrity" "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" - "resolved" "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz" - "version" "1.0.1" - -"rgba-regex@^1.0.0": - "integrity" "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" - "resolved" "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz" - "version" "1.0.0" - -"rimraf@^2.6.3": - "integrity" "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" - "version" "2.7.1" - dependencies: - "glob" "^7.1.3" - -"rimraf@^3.0.2": - "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==" - "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "glob" "^7.1.3" - -"rtl-detect@^1.0.3": - "integrity" "sha512-2sMcZO60tL9YDEFe24gqddg3hJ+xSmJFN8IExcQUxeHxQzydQrN6GHPL+yAWgzItXSI7es53hcZC9pJneuZDKA==" - "resolved" "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.0.3.tgz" - "version" "1.0.3" - -"rtlcss@^3.1.2": - "integrity" "sha512-XZ2KEatH2nU5yPlts1Wu8SGIuZ3ndN025HQX5MqtUCUiOn5WkCDbcpJ2VJWjpuFmM2cUTQ1xtH21fhMCSseI5A==" - "resolved" "https://registry.npmjs.org/rtlcss/-/rtlcss-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "chalk" "^4.1.0" - "find-up" "^5.0.0" - "mkdirp" "^1.0.4" - "postcss" "^8.2.4" - "strip-json-comments" "^3.1.1" - -"run-parallel@^1.1.9": - "integrity" "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==" - "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "queue-microtask" "^1.2.2" - -"rxjs@^6.6.3": - "integrity" "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==" - "resolved" "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" - "version" "6.6.7" - dependencies: - "tslib" "^1.9.0" - -"safe-buffer@^5.0.1", "safe-buffer@^5.1.0", "safe-buffer@>=5.1.0", "safe-buffer@~5.1.0", "safe-buffer@~5.1.1", "safe-buffer@5.1.2": - "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - "version" "5.1.2" - -"safe-buffer@~5.2.0": - "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - "version" "5.2.1" - -"safe-regex@^1.1.0": - "integrity" "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=" - "resolved" "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" - "version" "1.1.0" + version "0.1.2" + resolved "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz" + integrity sha1-rW8wwTvs15cBDEaK+ndcDAprR/o= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-pathname@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz" + integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.1.6, resolve@^1.14.2, resolve@^1.3.2: + version "1.20.0" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +responselike@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" + integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + dependencies: + lowercase-keys "^1.0.0" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= + +rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +rtl-detect@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.0.3.tgz" + integrity sha512-2sMcZO60tL9YDEFe24gqddg3hJ+xSmJFN8IExcQUxeHxQzydQrN6GHPL+yAWgzItXSI7es53hcZC9pJneuZDKA== + +rtlcss@^3.1.2: + version "3.3.0" + resolved "https://registry.npmjs.org/rtlcss/-/rtlcss-3.3.0.tgz" + integrity sha512-XZ2KEatH2nU5yPlts1Wu8SGIuZ3ndN025HQX5MqtUCUiOn5WkCDbcpJ2VJWjpuFmM2cUTQ1xtH21fhMCSseI5A== + dependencies: + chalk "^4.1.0" + find-up "^5.0.0" + mkdirp "^1.0.4" + postcss "^8.2.4" + strip-json-comments "^3.1.1" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +rxjs@^6.6.3: + version "6.6.7" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" + integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== + dependencies: + tslib "^1.9.0" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@>=5.1.0, safe-buffer@~5.1.0, safe-buffer@~5.1.1, safe-buffer@5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= dependencies: - "ret" "~0.1.10" + ret "~0.1.10" "safer-buffer@>= 2.1.2 < 3": - "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - "version" "2.1.2" + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -"sax@^1.2.4", "sax@~1.2.4": - "integrity" "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - "resolved" "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" - "version" "1.2.4" +sax@^1.2.4, sax@~1.2.4: + version "1.2.4" + resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -"scheduler@^0.20.2": - "integrity" "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==" - "resolved" "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz" - "version" "0.20.2" +scheduler@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz" + integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== dependencies: - "loose-envify" "^1.1.0" - "object-assign" "^4.1.1" + loose-envify "^1.1.0" + object-assign "^4.1.1" -"schema-utils@^1.0.0": - "integrity" "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz" - "version" "1.0.0" +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz" + integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== dependencies: - "ajv" "^6.1.0" - "ajv-errors" "^1.0.0" - "ajv-keywords" "^3.1.0" + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" -"schema-utils@^2.6.5": - "integrity" "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" - "version" "2.7.1" +schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== dependencies: "@types/json-schema" "^7.0.5" - "ajv" "^6.12.4" - "ajv-keywords" "^3.5.2" + ajv "^6.12.4" + ajv-keywords "^3.5.2" -"schema-utils@^3.0.0": - "integrity" "sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w==" - "resolved" "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz" - "version" "3.1.0" +schema-utils@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.0.tgz" + integrity sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w== dependencies: "@types/json-schema" "^7.0.7" - "ajv" "^6.12.5" - "ajv-keywords" "^3.5.2" - -"section-matter@^1.0.0": - "integrity" "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==" - "resolved" "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "extend-shallow" "^2.0.1" - "kind-of" "^6.0.0" - -"select-hose@^2.0.0": - "integrity" "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" - "resolved" "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" - "version" "2.0.0" - -"selfsigned@^1.10.8": - "integrity" "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==" - "resolved" "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz" - "version" "1.10.11" - dependencies: - "node-forge" "^0.10.0" - -"semver-diff@^3.1.1": - "integrity" "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==" - "resolved" "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" - "version" "3.1.1" - dependencies: - "semver" "^6.3.0" - -"semver@^5.4.1": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@^5.5.0": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@^5.6.0": - "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - "version" "5.7.1" - -"semver@^6.0.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.1.1": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.1.2": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.2.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^6.3.0": - "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" - "version" "6.3.0" - -"semver@^7.3.4", "semver@^7.3.5": - "integrity" "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" - "version" "7.3.5" - dependencies: - "lru-cache" "^6.0.0" - -"semver@7.0.0": - "integrity" "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==" - "resolved" "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" - "version" "7.0.0" - -"send@0.17.1": - "integrity" "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==" - "resolved" "https://registry.npmjs.org/send/-/send-0.17.1.tgz" - "version" "0.17.1" - dependencies: - "debug" "2.6.9" - "depd" "~1.1.2" - "destroy" "~1.0.4" - "encodeurl" "~1.0.2" - "escape-html" "~1.0.3" - "etag" "~1.8.1" - "fresh" "0.5.2" - "http-errors" "~1.7.2" - "mime" "1.6.0" - "ms" "2.1.1" - "on-finished" "~2.3.0" - "range-parser" "~1.2.1" - "statuses" "~1.5.0" - -"serialize-javascript@^6.0.0": - "integrity" "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==" - "resolved" "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "randombytes" "^2.1.0" - -"serve-handler@^6.1.3": - "integrity" "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==" - "resolved" "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz" - "version" "6.1.3" - dependencies: - "bytes" "3.0.0" - "content-disposition" "0.5.2" - "fast-url-parser" "1.1.3" - "mime-types" "2.1.18" - "minimatch" "3.0.4" - "path-is-inside" "1.0.2" - "path-to-regexp" "2.2.1" - "range-parser" "1.2.0" - -"serve-index@^1.9.1": - "integrity" "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=" - "resolved" "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" - "version" "1.9.1" - dependencies: - "accepts" "~1.3.4" - "batch" "0.6.1" - "debug" "2.6.9" - "escape-html" "~1.0.3" - "http-errors" "~1.6.2" - "mime-types" "~2.1.17" - "parseurl" "~1.3.2" - -"serve-static@1.14.1": - "integrity" "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==" - "resolved" "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz" - "version" "1.14.1" - dependencies: - "encodeurl" "~1.0.2" - "escape-html" "~1.0.3" - "parseurl" "~1.3.3" - "send" "0.17.1" - -"set-blocking@^2.0.0": - "integrity" "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - "resolved" "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - "version" "2.0.0" - -"set-value@^2.0.0", "set-value@^2.0.1": - "integrity" "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==" - "resolved" "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "extend-shallow" "^2.0.1" - "is-extendable" "^0.1.1" - "is-plain-object" "^2.0.3" - "split-string" "^3.0.1" - -"setimmediate@^1.0.5": - "integrity" "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - "resolved" "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" - "version" "1.0.5" - -"setprototypeof@1.1.0": - "integrity" "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" - "version" "1.1.0" - -"setprototypeof@1.1.1": - "integrity" "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - "resolved" "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz" - "version" "1.1.1" - -"shallow-clone@^3.0.0": - "integrity" "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==" - "resolved" "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "kind-of" "^6.0.2" - -"shebang-command@^1.2.0": - "integrity" "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "shebang-regex" "^1.0.0" - -"shebang-command@^2.0.0": - "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" - "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "shebang-regex" "^3.0.0" - -"shebang-regex@^1.0.0": - "integrity" "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" - "version" "1.0.0" - -"shebang-regex@^3.0.0": - "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - "version" "3.0.0" - -"shell-quote@1.7.2": - "integrity" "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==" - "resolved" "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz" - "version" "1.7.2" - -"shelljs@^0.8.4": - "integrity" "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==" - "resolved" "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz" - "version" "0.8.4" - dependencies: - "glob" "^7.0.0" - "interpret" "^1.0.0" - "rechoir" "^0.6.2" - -"signal-exit@^3.0.0", "signal-exit@^3.0.2", "signal-exit@^3.0.3": - "integrity" "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" - "version" "3.0.3" - -"sirv@^1.0.7": - "integrity" "sha512-+jQoCxndz7L2tqQL4ZyzfDhky0W/4ZJip3XoOuxyQWnAwMxindLl3Xv1qT4x1YX/re0leShvTm8Uk0kQspGhBg==" - "resolved" "https://registry.npmjs.org/sirv/-/sirv-1.0.12.tgz" - "version" "1.0.12" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +section-matter@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" + integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== + dependencies: + extend-shallow "^2.0.1" + kind-of "^6.0.0" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz" + integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + +selfsigned@^1.10.8: + version "1.10.11" + resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz" + integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA== + dependencies: + node-forge "^0.10.0" + +semver-diff@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz" + integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== + dependencies: + semver "^6.3.0" + +semver@^5.4.1: + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^5.5.0: + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^5.6.0: + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.0.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^6.1.1: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^6.1.2: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^6.2.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.3.4, semver@^7.3.5: + version "7.3.5" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +send@0.17.1: + version "0.17.1" + resolved "https://registry.npmjs.org/send/-/send-0.17.1.tgz" + integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serialize-javascript@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" + +serve-handler@^6.1.3: + version "6.1.3" + resolved "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz" + integrity sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w== + dependencies: + bytes "3.0.0" + content-disposition "0.5.2" + fast-url-parser "1.1.3" + mime-types "2.1.18" + minimatch "3.0.4" + path-is-inside "1.0.2" + path-to-regexp "2.2.1" + range-parser "1.2.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz" + integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz" + integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@1.7.2: + version "1.7.2" + resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz" + integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== + +shelljs@^0.8.4: + version "0.8.4" + resolved "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz" + integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + +sirv@^1.0.7: + version "1.0.12" + resolved "https://registry.npmjs.org/sirv/-/sirv-1.0.12.tgz" + integrity sha512-+jQoCxndz7L2tqQL4ZyzfDhky0W/4ZJip3XoOuxyQWnAwMxindLl3Xv1qT4x1YX/re0leShvTm8Uk0kQspGhBg== dependencies: "@polka/url" "^1.0.0-next.15" - "mime" "^2.3.1" - "totalist" "^1.0.0" + mime "^2.3.1" + totalist "^1.0.0" -"sisteransi@^1.0.5": - "integrity" "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - "resolved" "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" - "version" "1.0.5" +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== -"sitemap@^7.0.0": - "integrity" "sha512-Ud0jrRQO2k7fEtPAM+cQkBKoMvxQyPKNXKDLn8tRVHxRCsdDQ2JZvw+aZ5IRYYQVAV9iGxEar6boTwZzev+x3g==" - "resolved" "https://registry.npmjs.org/sitemap/-/sitemap-7.0.0.tgz" - "version" "7.0.0" +sitemap@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/sitemap/-/sitemap-7.0.0.tgz" + integrity sha512-Ud0jrRQO2k7fEtPAM+cQkBKoMvxQyPKNXKDLn8tRVHxRCsdDQ2JZvw+aZ5IRYYQVAV9iGxEar6boTwZzev+x3g== dependencies: "@types/node" "^15.0.1" "@types/sax" "^1.2.1" - "arg" "^5.0.0" - "sax" "^1.2.4" - -"slash@^3.0.0": - "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" - "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - "version" "3.0.0" - -"snapdragon-node@^2.0.1": - "integrity" "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==" - "resolved" "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "define-property" "^1.0.0" - "isobject" "^3.0.0" - "snapdragon-util" "^3.0.1" - -"snapdragon-util@^3.0.1": - "integrity" "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==" - "resolved" "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" - "version" "3.0.1" - dependencies: - "kind-of" "^3.2.0" - -"snapdragon@^0.8.1": - "integrity" "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==" - "resolved" "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" - "version" "0.8.2" - dependencies: - "base" "^0.11.1" - "debug" "^2.2.0" - "define-property" "^0.2.5" - "extend-shallow" "^2.0.1" - "map-cache" "^0.2.2" - "source-map" "^0.5.6" - "source-map-resolve" "^0.5.0" - "use" "^3.1.0" - -"sockjs-client@^1.5.0": - "integrity" "sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ==" - "resolved" "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz" - "version" "1.5.1" - dependencies: - "debug" "^3.2.6" - "eventsource" "^1.0.7" - "faye-websocket" "^0.11.3" - "inherits" "^2.0.4" - "json3" "^3.3.3" - "url-parse" "^1.5.1" - -"sockjs@^0.3.21": - "integrity" "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==" - "resolved" "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz" - "version" "0.3.21" - dependencies: - "faye-websocket" "^0.11.3" - "uuid" "^3.4.0" - "websocket-driver" "^0.7.4" - -"sort-css-media-queries@1.5.4": - "integrity" "sha512-YP5W/h4Sid/YP7Lp87ejJ5jP13/Mtqt2vx33XyhO+IAugKlufRPbOrPlIiEUuxmpNBSBd3EeeQpFhdu3RfI2Ag==" - "resolved" "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-1.5.4.tgz" - "version" "1.5.4" - -"source-list-map@^2.0.0", "source-list-map@^2.0.1": - "integrity" "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - "resolved" "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" - "version" "2.0.1" - -"source-map-js@^0.6.2": - "integrity" "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==" - "resolved" "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz" - "version" "0.6.2" - -"source-map-resolve@^0.5.0": - "integrity" "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==" - "resolved" "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" - "version" "0.5.3" - dependencies: - "atob" "^2.1.2" - "decode-uri-component" "^0.2.0" - "resolve-url" "^0.2.1" - "source-map-url" "^0.4.0" - "urix" "^0.1.0" - -"source-map-support@~0.5.12", "source-map-support@~0.5.19": - "integrity" "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==" - "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz" - "version" "0.5.19" - dependencies: - "buffer-from" "^1.0.0" - "source-map" "^0.6.0" - -"source-map-url@^0.4.0": - "integrity" "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==" - "resolved" "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" - "version" "0.4.1" - -"source-map@^0.5.0", "source-map@^0.5.6": - "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - "version" "0.5.7" - -"source-map@^0.6.0": - "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - "version" "0.6.1" - -"source-map@^0.6.1": - "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - "version" "0.6.1" - -"source-map@~0.6.0", "source-map@~0.6.1": - "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - "version" "0.6.1" - -"source-map@~0.7.2": - "integrity" "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" - "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz" - "version" "0.7.3" - -"space-separated-tokens@^1.0.0": - "integrity" "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" - "resolved" "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz" - "version" "1.1.5" - -"spdy-transport@^3.0.0": - "integrity" "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==" - "resolved" "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "debug" "^4.1.0" - "detect-node" "^2.0.4" - "hpack.js" "^2.1.6" - "obuf" "^1.1.2" - "readable-stream" "^3.0.6" - "wbuf" "^1.7.3" - -"spdy@^4.0.2": - "integrity" "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==" - "resolved" "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" - "version" "4.0.2" - dependencies: - "debug" "^4.1.0" - "handle-thing" "^2.0.0" - "http-deceiver" "^1.2.7" - "select-hose" "^2.0.0" - "spdy-transport" "^3.0.0" - -"split-string@^3.0.1", "split-string@^3.0.2": - "integrity" "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==" - "resolved" "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "extend-shallow" "^3.0.0" - -"sprintf-js@~1.0.2": - "integrity" "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - "version" "1.0.3" - -"stable@^0.1.8": - "integrity" "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" - "resolved" "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" - "version" "0.1.8" - -"state-toggle@^1.0.0": - "integrity" "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==" - "resolved" "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz" - "version" "1.0.3" - -"static-extend@^0.1.1": - "integrity" "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=" - "resolved" "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" - "version" "0.1.2" - dependencies: - "define-property" "^0.2.5" - "object-copy" "^0.1.0" - -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", "statuses@~1.5.0": - "integrity" "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - "resolved" "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" - "version" "1.5.0" - -"std-env@^2.2.1": - "integrity" "sha512-4qT5B45+Kjef2Z6pE0BkskzsH0GO7GrND0wGlTM1ioUe3v0dGYx9ZJH0Aro/YyA8fqQ5EyIKDRjZojJYMFTflw==" - "resolved" "https://registry.npmjs.org/std-env/-/std-env-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "ci-info" "^3.0.0" - -"string_decoder@^1.1.1": - "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - "version" "1.3.0" - dependencies: - "safe-buffer" "~5.2.0" - -"string_decoder@~1.1.1": - "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==" - "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - "version" "1.1.1" - dependencies: - "safe-buffer" "~5.1.0" - -"string-width@^3.0.0", "string-width@^3.1.0": - "integrity" "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "emoji-regex" "^7.0.1" - "is-fullwidth-code-point" "^2.0.0" - "strip-ansi" "^5.1.0" - -"string-width@^4.0.0", "string-width@^4.1.0", "string-width@^4.2.0": - "integrity" "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==" - "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz" - "version" "4.2.2" - dependencies: - "emoji-regex" "^8.0.0" - "is-fullwidth-code-point" "^3.0.0" - "strip-ansi" "^6.0.0" - -"string.prototype.trimend@^1.0.4": - "integrity" "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==" - "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - -"string.prototype.trimstart@^1.0.4": - "integrity" "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==" - "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "call-bind" "^1.0.2" - "define-properties" "^1.1.3" - -"stringify-object@^3.3.0": - "integrity" "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==" - "resolved" "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" - "version" "3.3.0" - dependencies: - "get-own-enumerable-property-symbols" "^3.0.0" - "is-obj" "^1.0.1" - "is-regexp" "^1.0.0" + arg "^5.0.0" + sax "^1.2.4" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sockjs-client@^1.5.0: + version "1.5.1" + resolved "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.1.tgz" + integrity sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ== + dependencies: + debug "^3.2.6" + eventsource "^1.0.7" + faye-websocket "^0.11.3" + inherits "^2.0.4" + json3 "^3.3.3" + url-parse "^1.5.1" + +sockjs@^0.3.21: + version "0.3.21" + resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz" + integrity sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw== + dependencies: + faye-websocket "^0.11.3" + uuid "^3.4.0" + websocket-driver "^0.7.4" + +sort-css-media-queries@1.5.4: + version "1.5.4" + resolved "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-1.5.4.tgz" + integrity sha512-YP5W/h4Sid/YP7Lp87ejJ5jP13/Mtqt2vx33XyhO+IAugKlufRPbOrPlIiEUuxmpNBSBd3EeeQpFhdu3RfI2Ag== + +source-list-map@^2.0.0, source-list-map@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz" + integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + +source-map-js@^0.6.2: + version "0.6.2" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz" + integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== + +source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@~0.5.12, source-map-support@~0.5.19: + version "0.5.19" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + +source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@~0.7.2: + version "0.7.3" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + +space-separated-tokens@^1.0.0: + version "1.1.5" + resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz" + integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +state-toggle@^1.0.0: + version "1.0.3" + resolved "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz" + integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +std-env@^2.2.1: + version "2.3.0" + resolved "https://registry.npmjs.org/std-env/-/std-env-2.3.0.tgz" + integrity sha512-4qT5B45+Kjef2Z6pE0BkskzsH0GO7GrND0wGlTM1ioUe3v0dGYx9ZJH0Aro/YyA8fqQ5EyIKDRjZojJYMFTflw== + dependencies: + ci-info "^3.0.0" + +string_decoder@^1.1.1: + 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== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: + version "4.2.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +stringify-object@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" + integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + dependencies: + get-own-enumerable-property-symbols "^3.0.0" + is-obj "^1.0.1" + is-regexp "^1.0.0" -"strip-ansi@^3.0.1": - "integrity" "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - "version" "3.0.1" +strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= dependencies: - "ansi-regex" "^2.0.0" + ansi-regex "^2.0.0" -"strip-ansi@^5.0.0", "strip-ansi@^5.1.0", "strip-ansi@^5.2.0": - "integrity" "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" - "version" "5.2.0" +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== dependencies: - "ansi-regex" "^4.1.0" - -"strip-ansi@^6.0.0", "strip-ansi@6.0.0": - "integrity" "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==" - "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz" - "version" "6.0.0" - dependencies: - "ansi-regex" "^5.0.0" - -"strip-bom-string@^1.0.0": - "integrity" "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=" - "resolved" "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" - "version" "1.0.0" - -"strip-eof@^1.0.0": - "integrity" "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - "resolved" "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" - "version" "1.0.0" - -"strip-final-newline@^2.0.0": - "integrity" "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" - "resolved" "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - "version" "2.0.0" - -"strip-json-comments@^3.1.1": - "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" - "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - "version" "3.1.1" - -"strip-json-comments@~2.0.1": - "integrity" "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - "version" "2.0.1" - -"style-to-object@^0.3.0", "style-to-object@0.3.0": - "integrity" "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==" - "resolved" "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz" - "version" "0.3.0" - dependencies: - "inline-style-parser" "0.1.1" - -"stylehacks@^5.0.1": - "integrity" "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==" - "resolved" "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "browserslist" "^4.16.0" - "postcss-selector-parser" "^6.0.4" - -"supertokens-js-override@^0.0.4": - "integrity" "sha512-r0JFBjkMIdep3Lbk3JA+MpnpuOtw4RSyrlRAbrzMcxwiYco3GFWl/daimQZ5b1forOiUODpOlXbSOljP/oyurg==" - "resolved" "https://registry.npmjs.org/supertokens-js-override/-/supertokens-js-override-0.0.4.tgz" - "version" "0.0.4" - -"supertokens-website@^20.0.1": - "integrity" "sha512-lP9G2Bf0lQ1WMmS++q8ZsyeTpSsGOKzhOZyxm+xd47U6ukqFKLva687CyIZTqcLq1EStOPoYGbkmPdaaWQMcTw==" - "resolved" "https://registry.npmjs.org/supertokens-website/-/supertokens-website-20.0.1.tgz" - "version" "20.0.1" - dependencies: - "browser-tabs-lock" "^1.3.0" - "supertokens-js-override" "^0.0.4" - -"supports-color@^5.3.0": - "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - "version" "5.5.0" - dependencies: - "has-flag" "^3.0.0" - -"supports-color@^6.1.0": - "integrity" "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" - "version" "6.1.0" - dependencies: - "has-flag" "^3.0.0" - -"supports-color@^7.1.0": - "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - "version" "7.2.0" - dependencies: - "has-flag" "^4.0.0" - -"supports-color@^8.0.0": - "integrity" "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" - "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - "version" "8.1.1" - dependencies: - "has-flag" "^4.0.0" - -"svg-parser@^2.0.2": - "integrity" "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" - "resolved" "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" - "version" "2.0.4" - -"svgo@^1.2.2": - "integrity" "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==" - "resolved" "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz" - "version" "1.3.2" - dependencies: - "chalk" "^2.4.1" - "coa" "^2.0.2" - "css-select" "^2.0.0" - "css-select-base-adapter" "^0.1.1" - "css-tree" "1.0.0-alpha.37" - "csso" "^4.0.2" - "js-yaml" "^3.13.1" - "mkdirp" "~0.5.1" - "object.values" "^1.1.0" - "sax" "~1.2.4" - "stable" "^0.1.8" - "unquote" "~1.1.1" - "util.promisify" "~1.0.0" - -"svgo@^2.3.0": - "integrity" "sha512-riDDIQgXpEnn0BEl9Gvhh1LNLIyiusSpt64IR8upJu7MwxnzetmF/Y57pXQD2NMX2lVyMRzXt5f2M5rO4wG7Dw==" - "resolved" "https://registry.npmjs.org/svgo/-/svgo-2.3.1.tgz" - "version" "2.3.1" + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0, strip-ansi@6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +strip-bom-string@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" + integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI= + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^3.1.1: + 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== + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" + integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= + +style-to-object@^0.3.0, style-to-object@0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz" + integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA== + dependencies: + inline-style-parser "0.1.1" + +stylehacks@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz" + integrity sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA== + dependencies: + browserslist "^4.16.0" + postcss-selector-parser "^6.0.4" + +supertokens-js-override@^0.0.4: + version "0.0.4" + resolved "https://registry.npmjs.org/supertokens-js-override/-/supertokens-js-override-0.0.4.tgz" + integrity sha512-r0JFBjkMIdep3Lbk3JA+MpnpuOtw4RSyrlRAbrzMcxwiYco3GFWl/daimQZ5b1forOiUODpOlXbSOljP/oyurg== + +supertokens-website@^20.0.1: + version "20.0.1" + resolved "https://registry.npmjs.org/supertokens-website/-/supertokens-website-20.0.1.tgz" + integrity sha512-lP9G2Bf0lQ1WMmS++q8ZsyeTpSsGOKzhOZyxm+xd47U6ukqFKLva687CyIZTqcLq1EStOPoYGbkmPdaaWQMcTw== + dependencies: + browser-tabs-lock "^1.3.0" + supertokens-js-override "^0.0.4" + +supports-color@^5.3.0: + 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" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +svg-parser@^2.0.2: + version "2.0.4" + resolved "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz" + integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== + +svgo@^1.2.2: + version "1.3.2" + resolved "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz" + integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== + dependencies: + chalk "^2.4.1" + coa "^2.0.2" + css-select "^2.0.0" + css-select-base-adapter "^0.1.1" + css-tree "1.0.0-alpha.37" + csso "^4.0.2" + js-yaml "^3.13.1" + mkdirp "~0.5.1" + object.values "^1.1.0" + sax "~1.2.4" + stable "^0.1.8" + unquote "~1.1.1" + util.promisify "~1.0.0" + +svgo@^2.3.0: + version "2.3.1" + resolved "https://registry.npmjs.org/svgo/-/svgo-2.3.1.tgz" + integrity sha512-riDDIQgXpEnn0BEl9Gvhh1LNLIyiusSpt64IR8upJu7MwxnzetmF/Y57pXQD2NMX2lVyMRzXt5f2M5rO4wG7Dw== dependencies: "@trysound/sax" "0.1.1" - "chalk" "^4.1.0" - "commander" "^7.1.0" - "css-select" "^4.1.3" - "css-tree" "^1.1.2" - "csso" "^4.2.0" - "stable" "^0.1.8" - -"tapable@^1.0.0": - "integrity" "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" - "resolved" "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" - "version" "1.1.3" - -"tapable@^2.0.0", "tapable@^2.1.1", "tapable@^2.2.0": - "integrity" "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==" - "resolved" "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz" - "version" "2.2.0" - -"terser-webpack-plugin@^5.1.3": - "integrity" "sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA==" - "resolved" "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz" - "version" "5.1.4" - dependencies: - "jest-worker" "^27.0.2" - "p-limit" "^3.1.0" - "schema-utils" "^3.0.0" - "serialize-javascript" "^6.0.0" - "source-map" "^0.6.1" - "terser" "^5.7.0" - -"terser@^4.6.3": - "integrity" "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==" - "resolved" "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz" - "version" "4.8.0" - dependencies: - "commander" "^2.20.0" - "source-map" "~0.6.1" - "source-map-support" "~0.5.12" - -"terser@^5.7.0": - "integrity" "sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg==" - "resolved" "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz" - "version" "5.7.1" - dependencies: - "commander" "^2.20.0" - "source-map" "~0.7.2" - "source-map-support" "~0.5.19" - -"text-table@^0.2.0", "text-table@0.2.0": - "integrity" "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" - "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - "version" "0.2.0" - -"thunky@^1.0.2": - "integrity" "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" - "resolved" "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" - "version" "1.1.0" - -"timsort@^0.3.0": - "integrity" "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" - "resolved" "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz" - "version" "0.3.0" - -"tiny-invariant@^1.0.2": - "integrity" "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==" - "resolved" "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz" - "version" "1.1.0" - -"tiny-warning@^1.0.0", "tiny-warning@^1.0.3": - "integrity" "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" - "resolved" "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz" - "version" "1.0.3" - -"to-fast-properties@^2.0.0": - "integrity" "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - "resolved" "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - "version" "2.0.0" - -"to-object-path@^0.3.0": - "integrity" "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=" - "resolved" "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" - "version" "0.3.0" - dependencies: - "kind-of" "^3.0.2" - -"to-readable-stream@^1.0.0": - "integrity" "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" - "resolved" "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz" - "version" "1.0.0" - -"to-regex-range@^2.1.0": - "integrity" "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=" - "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" - "version" "2.1.1" - dependencies: - "is-number" "^3.0.0" - "repeat-string" "^1.6.1" - -"to-regex-range@^5.0.1": - "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==" - "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" - "version" "5.0.1" - dependencies: - "is-number" "^7.0.0" - -"to-regex@^3.0.1", "to-regex@^3.0.2": - "integrity" "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==" - "resolved" "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" - "version" "3.0.2" - dependencies: - "define-property" "^2.0.2" - "extend-shallow" "^3.0.2" - "regex-not" "^1.0.2" - "safe-regex" "^1.1.0" - -"toidentifier@1.0.0": - "integrity" "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" - "resolved" "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz" - "version" "1.0.0" - -"totalist@^1.0.0": - "integrity" "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==" - "resolved" "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz" - "version" "1.1.0" - -"trim-trailing-lines@^1.0.0": - "integrity" "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==" - "resolved" "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz" - "version" "1.1.4" - -"trim@0.0.1": - "integrity" "sha1-WFhUf2spB1fulczMZm+1AITEYN0=" - "resolved" "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz" - "version" "0.0.1" - -"trough@^1.0.0": - "integrity" "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" - "resolved" "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz" - "version" "1.0.5" - -"ts-essentials@^2.0.3": - "integrity" "sha512-3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w==" - "resolved" "https://registry.npmjs.org/ts-essentials/-/ts-essentials-2.0.12.tgz" - "version" "2.0.12" - -"tslib@^1.9.0": - "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - "version" "1.14.1" - -"tslib@^2.0.3", "tslib@^2.1.0", "tslib@^2.2.0": - "integrity" "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" - "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz" - "version" "2.3.0" - -"type-fest@^0.20.2": - "integrity" "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" - "version" "0.20.2" - -"type-fest@^0.21.3": - "integrity" "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" - "version" "0.21.3" - -"type-is@~1.6.17", "type-is@~1.6.18": - "integrity" "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==" - "resolved" "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" - "version" "1.6.18" - dependencies: - "media-typer" "0.3.0" - "mime-types" "~2.1.24" - -"typedarray-to-buffer@^3.1.5": - "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==" - "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" - "version" "3.1.5" - dependencies: - "is-typedarray" "^1.0.0" - -"typescript@4.9.3": - "integrity" "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==" - "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz" - "version" "4.9.3" - -"ua-parser-js@^0.7.18", "ua-parser-js@^0.7.24": - "integrity" "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==" - "resolved" "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz" - "version" "0.7.28" - -"unbox-primitive@^1.0.1": - "integrity" "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==" - "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "function-bind" "^1.1.1" - "has-bigints" "^1.0.1" - "has-symbols" "^1.0.2" - "which-boxed-primitive" "^1.0.2" - -"unherit@^1.0.4": - "integrity" "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==" - "resolved" "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz" - "version" "1.1.3" - dependencies: - "inherits" "^2.0.0" - "xtend" "^4.0.0" - -"unicode-canonical-property-names-ecmascript@^1.0.4": - "integrity" "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==" - "resolved" "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz" - "version" "1.0.4" - -"unicode-match-property-ecmascript@^1.0.4": - "integrity" "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==" - "resolved" "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz" - "version" "1.0.4" - dependencies: - "unicode-canonical-property-names-ecmascript" "^1.0.4" - "unicode-property-aliases-ecmascript" "^1.0.4" - -"unicode-match-property-value-ecmascript@^1.2.0": - "integrity" "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==" - "resolved" "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz" - "version" "1.2.0" - -"unicode-property-aliases-ecmascript@^1.0.4": - "integrity" "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==" - "resolved" "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz" - "version" "1.1.0" - -"unified@^8.4.2": - "integrity" "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==" - "resolved" "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz" - "version" "8.4.2" - dependencies: - "bail" "^1.0.0" - "extend" "^3.0.0" - "is-plain-obj" "^2.0.0" - "trough" "^1.0.0" - "vfile" "^4.0.0" - -"unified@9.2.0": - "integrity" "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==" - "resolved" "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz" - "version" "9.2.0" - dependencies: - "bail" "^1.0.0" - "extend" "^3.0.0" - "is-buffer" "^2.0.0" - "is-plain-obj" "^2.0.0" - "trough" "^1.0.0" - "vfile" "^4.0.0" - -"union-value@^1.0.0": - "integrity" "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==" - "resolved" "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "arr-union" "^3.1.0" - "get-value" "^2.0.6" - "is-extendable" "^0.1.1" - "set-value" "^2.0.1" - -"uniqs@^2.0.0": - "integrity" "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" - "resolved" "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz" - "version" "2.0.0" - -"unique-string@^2.0.0": - "integrity" "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==" - "resolved" "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "crypto-random-string" "^2.0.0" - -"unist-builder@^2.0.0", "unist-builder@2.0.3": - "integrity" "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==" - "resolved" "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz" - "version" "2.0.3" - -"unist-util-generated@^1.0.0": - "integrity" "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==" - "resolved" "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz" - "version" "1.1.6" - -"unist-util-is@^4.0.0": - "integrity" "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==" - "resolved" "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz" - "version" "4.1.0" - -"unist-util-position@^3.0.0": - "integrity" "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==" - "resolved" "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz" - "version" "3.1.0" - -"unist-util-remove-position@^2.0.0": - "integrity" "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==" - "resolved" "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz" - "version" "2.0.1" - dependencies: - "unist-util-visit" "^2.0.0" - -"unist-util-remove@^2.0.0": - "integrity" "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==" - "resolved" "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz" - "version" "2.1.0" - dependencies: - "unist-util-is" "^4.0.0" - -"unist-util-stringify-position@^2.0.0": - "integrity" "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==" - "resolved" "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz" - "version" "2.0.3" + chalk "^4.1.0" + commander "^7.1.0" + css-select "^4.1.3" + css-tree "^1.1.2" + csso "^4.2.0" + stable "^0.1.8" + +tapable@^1.0.0: + version "1.1.3" + resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz" + integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + +tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz" + integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw== + +terser-webpack-plugin@^5.1.3: + version "5.1.4" + resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.4.tgz" + integrity sha512-C2WkFwstHDhVEmsmlCxrXUtVklS+Ir1A7twrYzrDrQQOIMOaVAYykaoo/Aq1K0QRkMoY2hhvDQY1cm4jnIMFwA== + dependencies: + jest-worker "^27.0.2" + p-limit "^3.1.0" + schema-utils "^3.0.0" + serialize-javascript "^6.0.0" + source-map "^0.6.1" + terser "^5.7.0" + +terser@^4.6.3: + version "4.8.0" + resolved "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz" + integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +terser@^5.7.0: + version "5.7.1" + resolved "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz" + integrity sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.19" + +text-table@^0.2.0, text-table@0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tiny-invariant@^1.0.2: + version "1.1.0" + resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz" + integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw== + +tiny-warning@^1.0.0, tiny-warning@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz" + integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-readable-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz" + integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + +totalist@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz" + integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== + +trim-trailing-lines@^1.0.0: + version "1.1.4" + resolved "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz" + integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== + +trim@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz" + integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0= + +trough@^1.0.0: + version "1.0.5" + resolved "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz" + integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== + +ts-essentials@^2.0.3: + version "2.0.12" + resolved "https://registry.npmjs.org/ts-essentials/-/ts-essentials-2.0.12.tgz" + integrity sha512-3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w== + +tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz" + integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.21.3: + 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== + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + +typescript@4.9.3: + version "4.9.3" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz" + integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA== + +ua-parser-js@^0.7.18, ua-parser-js@^0.7.24: + version "0.7.28" + resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz" + integrity sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g== + +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +unherit@^1.0.4: + version "1.1.3" + resolved "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz" + integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== + dependencies: + inherits "^2.0.0" + xtend "^4.0.0" + +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz" + integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.1.0" + resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz" + integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== + +unified@^8.4.2: + version "8.4.2" + resolved "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz" + integrity sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA== + dependencies: + bail "^1.0.0" + extend "^3.0.0" + is-plain-obj "^2.0.0" + trough "^1.0.0" + vfile "^4.0.0" + +unified@9.2.0: + version "9.2.0" + resolved "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz" + integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg== + dependencies: + bail "^1.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^2.0.0" + trough "^1.0.0" + vfile "^4.0.0" + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + +unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz" + integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== + dependencies: + crypto-random-string "^2.0.0" + +unist-builder@^2.0.0, unist-builder@2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz" + integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw== + +unist-util-generated@^1.0.0: + version "1.1.6" + resolved "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz" + integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg== + +unist-util-is@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz" + integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== + +unist-util-position@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz" + integrity sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA== + +unist-util-remove-position@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz" + integrity sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA== + dependencies: + unist-util-visit "^2.0.0" + +unist-util-remove@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz" + integrity sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q== + dependencies: + unist-util-is "^4.0.0" + +unist-util-stringify-position@^2.0.0: + version "2.0.3" + resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz" + integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== dependencies: "@types/unist" "^2.0.2" -"unist-util-visit-parents@^3.0.0": - "integrity" "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==" - "resolved" "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz" - "version" "3.1.1" +unist-util-visit-parents@^3.0.0: + version "3.1.1" + resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz" + integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== dependencies: "@types/unist" "^2.0.0" - "unist-util-is" "^4.0.0" + unist-util-is "^4.0.0" -"unist-util-visit@^2.0.0", "unist-util-visit@^2.0.1", "unist-util-visit@^2.0.2", "unist-util-visit@^2.0.3", "unist-util-visit@2.0.3": - "integrity" "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==" - "resolved" "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz" - "version" "2.0.3" +unist-util-visit@^2.0.0, unist-util-visit@^2.0.1, unist-util-visit@^2.0.2, unist-util-visit@^2.0.3, unist-util-visit@2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz" + integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== dependencies: "@types/unist" "^2.0.0" - "unist-util-is" "^4.0.0" - "unist-util-visit-parents" "^3.0.0" - -"universalify@^2.0.0": - "integrity" "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" - "resolved" "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" - "version" "2.0.0" - -"unpipe@~1.0.0", "unpipe@1.0.0": - "integrity" "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - "resolved" "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" - "version" "1.0.0" - -"unquote@~1.1.1": - "integrity" "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" - "resolved" "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz" - "version" "1.1.1" - -"unset-value@^1.0.0": - "integrity" "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=" - "resolved" "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" - "version" "1.0.0" - dependencies: - "has-value" "^0.3.1" - "isobject" "^3.0.0" - -"upath@^1.1.1": - "integrity" "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" - "resolved" "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" - "version" "1.2.0" - -"update-notifier@^5.1.0": - "integrity" "sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==" - "resolved" "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "boxen" "^5.0.0" - "chalk" "^4.1.0" - "configstore" "^5.0.1" - "has-yarn" "^2.1.0" - "import-lazy" "^2.1.0" - "is-ci" "^2.0.0" - "is-installed-globally" "^0.4.0" - "is-npm" "^5.0.0" - "is-yarn-global" "^0.3.0" - "latest-version" "^5.1.0" - "pupa" "^2.1.1" - "semver" "^7.3.4" - "semver-diff" "^3.1.1" - "xdg-basedir" "^4.0.0" - -"uri-js@^4.2.2": - "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==" - "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - "version" "4.4.1" - dependencies: - "punycode" "^2.1.0" - -"urix@^0.1.0": - "integrity" "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - "resolved" "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" - "version" "0.1.0" - -"url-loader@^4.1.1": - "integrity" "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==" - "resolved" "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz" - "version" "4.1.1" - dependencies: - "loader-utils" "^2.0.0" - "mime-types" "^2.1.27" - "schema-utils" "^3.0.0" - -"url-parse-lax@^3.0.0": - "integrity" "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=" - "resolved" "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" - "version" "3.0.0" - dependencies: - "prepend-http" "^2.0.0" - -"url-parse@^1.4.3", "url-parse@^1.5.1": - "integrity" "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==" - "resolved" "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz" - "version" "1.5.1" - dependencies: - "querystringify" "^2.1.1" - "requires-port" "^1.0.0" - -"url@^0.11.0": - "integrity" "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=" - "resolved" "https://registry.npmjs.org/url/-/url-0.11.0.tgz" - "version" "0.11.0" - dependencies: - "punycode" "1.3.2" - "querystring" "0.2.0" - -"use-composed-ref@^1.0.0": - "integrity" "sha512-my1lNHGWsSDAhhVAT4MKs6IjBUtG6ZG11uUqexPH9PptiIZDQOzaF4f5tEbJ2+7qvNbtXNBbU3SfmN+fXlWDhg==" - "resolved" "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.1.0.tgz" - "version" "1.1.0" - dependencies: - "ts-essentials" "^2.0.3" - -"use-isomorphic-layout-effect@^1.0.0": - "integrity" "sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ==" - "resolved" "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz" - "version" "1.1.1" - -"use-latest@^1.0.0": - "integrity" "sha512-d2TEuG6nSLKQLAfW3By8mKr8HurOlTkul0sOpxbClIv4SQ4iOd7BYr7VIzdbktUCnv7dua/60xzd8igMU6jmyw==" - "resolved" "https://registry.npmjs.org/use-latest/-/use-latest-1.2.0.tgz" - "version" "1.2.0" - dependencies: - "use-isomorphic-layout-effect" "^1.0.0" - -"use@^3.1.0": - "integrity" "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - "resolved" "https://registry.npmjs.org/use/-/use-3.1.1.tgz" - "version" "3.1.1" - -"util-deprecate@^1.0.1", "util-deprecate@^1.0.2", "util-deprecate@~1.0.1": - "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - "version" "1.0.2" - -"util.promisify@~1.0.0": - "integrity" "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==" - "resolved" "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz" - "version" "1.0.1" - dependencies: - "define-properties" "^1.1.3" - "es-abstract" "^1.17.2" - "has-symbols" "^1.0.1" - "object.getownpropertydescriptors" "^2.1.0" - -"utila@~0.4": - "integrity" "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" - "resolved" "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" - "version" "0.4.0" - -"utility-types@^3.10.0": - "integrity" "sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==" - "resolved" "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz" - "version" "3.10.0" - -"utils-merge@1.0.1": - "integrity" "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - "resolved" "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" - "version" "1.0.1" - -"uuid@^3.3.2", "uuid@^3.4.0": - "integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - "resolved" "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" - "version" "3.4.0" - -"value-equal@^1.0.1": - "integrity" "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" - "resolved" "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz" - "version" "1.0.1" - -"vary@~1.1.2": - "integrity" "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - "resolved" "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" - "version" "1.1.2" - -"vendors@^1.0.3": - "integrity" "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" - "resolved" "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz" - "version" "1.0.4" - -"vfile-location@^3.0.0", "vfile-location@^3.2.0": - "integrity" "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==" - "resolved" "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz" - "version" "3.2.0" - -"vfile-message@^2.0.0": - "integrity" "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==" - "resolved" "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz" - "version" "2.0.4" + unist-util-is "^4.0.0" + unist-util-visit-parents "^3.0.0" + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +unpipe@~1.0.0, unpipe@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz" + integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + +update-notifier@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/update-notifier/-/update-notifier-5.1.0.tgz" + integrity sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw== + dependencies: + boxen "^5.0.0" + chalk "^4.1.0" + configstore "^5.0.1" + has-yarn "^2.1.0" + import-lazy "^2.1.0" + is-ci "^2.0.0" + is-installed-globally "^0.4.0" + is-npm "^5.0.0" + is-yarn-global "^0.3.0" + latest-version "^5.1.0" + pupa "^2.1.1" + semver "^7.3.4" + semver-diff "^3.1.1" + xdg-basedir "^4.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-loader@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz" + integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== + dependencies: + loader-utils "^2.0.0" + mime-types "^2.1.27" + schema-utils "^3.0.0" + +url-parse-lax@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz" + integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + dependencies: + prepend-http "^2.0.0" + +url-parse@^1.4.3, url-parse@^1.5.1: + version "1.5.1" + resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz" + integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q== + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.npmjs.org/url/-/url-0.11.0.tgz" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use-composed-ref@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.1.0.tgz" + integrity sha512-my1lNHGWsSDAhhVAT4MKs6IjBUtG6ZG11uUqexPH9PptiIZDQOzaF4f5tEbJ2+7qvNbtXNBbU3SfmN+fXlWDhg== + dependencies: + ts-essentials "^2.0.3" + +use-isomorphic-layout-effect@^1.0.0: + version "1.1.1" + resolved "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz" + integrity sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ== + +use-latest@^1.0.0: + version "1.2.0" + resolved "https://registry.npmjs.org/use-latest/-/use-latest-1.2.0.tgz" + integrity sha512-d2TEuG6nSLKQLAfW3By8mKr8HurOlTkul0sOpxbClIv4SQ4iOd7BYr7VIzdbktUCnv7dua/60xzd8igMU6jmyw== + dependencies: + use-isomorphic-layout-effect "^1.0.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/use/-/use-3.1.1.tgz" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz" + integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + +utila@~0.4: + version "0.4.0" + resolved "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + +utility-types@^3.10.0: + version "3.10.0" + resolved "https://registry.npmjs.org/utility-types/-/utility-types-3.10.0.tgz" + integrity sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^3.3.2, uuid@^3.4.0: + version "3.4.0" + resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +value-equal@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz" + integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +vendors@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz" + integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== + +vfile-location@^3.0.0, vfile-location@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz" + integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== + +vfile-message@^2.0.0: + version "2.0.4" + resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz" + integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== dependencies: "@types/unist" "^2.0.0" - "unist-util-stringify-position" "^2.0.0" + unist-util-stringify-position "^2.0.0" -"vfile@^4.0.0": - "integrity" "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==" - "resolved" "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz" - "version" "4.2.1" +vfile@^4.0.0: + version "4.2.1" + resolved "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz" + integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== dependencies: "@types/unist" "^2.0.0" - "is-buffer" "^2.0.0" - "unist-util-stringify-position" "^2.0.0" - "vfile-message" "^2.0.0" - -"wait-on@^5.3.0": - "integrity" "sha512-DwrHrnTK+/0QFaB9a8Ol5Lna3k7WvUR4jzSKmz0YaPBpuN2sACyiPVKVfj6ejnjcajAcvn3wlbTyMIn9AZouOg==" - "resolved" "https://registry.npmjs.org/wait-on/-/wait-on-5.3.0.tgz" - "version" "5.3.0" - dependencies: - "axios" "^0.21.1" - "joi" "^17.3.0" - "lodash" "^4.17.21" - "minimist" "^1.2.5" - "rxjs" "^6.6.3" - -"watchpack@^2.2.0": - "integrity" "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==" - "resolved" "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz" - "version" "2.2.0" - dependencies: - "glob-to-regexp" "^0.4.1" - "graceful-fs" "^4.1.2" - -"wbuf@^1.1.0", "wbuf@^1.7.3": - "integrity" "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==" - "resolved" "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" - "version" "1.7.3" - dependencies: - "minimalistic-assert" "^1.0.0" - -"web-namespaces@^1.0.0", "web-namespaces@^1.1.2": - "integrity" "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==" - "resolved" "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz" - "version" "1.1.4" - -"webpack-bundle-analyzer@^4.4.2": - "integrity" "sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ==" - "resolved" "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz" - "version" "4.4.2" - dependencies: - "acorn" "^8.0.4" - "acorn-walk" "^8.0.0" - "chalk" "^4.1.0" - "commander" "^6.2.0" - "gzip-size" "^6.0.0" - "lodash" "^4.17.20" - "opener" "^1.5.2" - "sirv" "^1.0.7" - "ws" "^7.3.1" - -"webpack-dev-middleware@^3.7.2": - "integrity" "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==" - "resolved" "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz" - "version" "3.7.3" - dependencies: - "memory-fs" "^0.4.1" - "mime" "^2.4.4" - "mkdirp" "^0.5.1" - "range-parser" "^1.2.1" - "webpack-log" "^2.0.0" - -"webpack-dev-server@^3.11.2": - "integrity" "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==" - "resolved" "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz" - "version" "3.11.2" - dependencies: - "ansi-html" "0.0.7" - "bonjour" "^3.5.0" - "chokidar" "^2.1.8" - "compression" "^1.7.4" - "connect-history-api-fallback" "^1.6.0" - "debug" "^4.1.1" - "del" "^4.1.1" - "express" "^4.17.1" - "html-entities" "^1.3.1" - "http-proxy-middleware" "0.19.1" - "import-local" "^2.0.0" - "internal-ip" "^4.3.0" - "ip" "^1.1.5" - "is-absolute-url" "^3.0.3" - "killable" "^1.0.1" - "loglevel" "^1.6.8" - "opn" "^5.5.0" - "p-retry" "^3.0.1" - "portfinder" "^1.0.26" - "schema-utils" "^1.0.0" - "selfsigned" "^1.10.8" - "semver" "^6.3.0" - "serve-index" "^1.9.1" - "sockjs" "^0.3.21" - "sockjs-client" "^1.5.0" - "spdy" "^4.0.2" - "strip-ansi" "^3.0.1" - "supports-color" "^6.1.0" - "url" "^0.11.0" - "webpack-dev-middleware" "^3.7.2" - "webpack-log" "^2.0.0" - "ws" "^6.2.1" - "yargs" "^13.3.2" - -"webpack-log@^2.0.0": - "integrity" "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==" - "resolved" "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz" - "version" "2.0.0" - dependencies: - "ansi-colors" "^3.0.0" - "uuid" "^3.3.2" - -"webpack-merge@^5.8.0": - "integrity" "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==" - "resolved" "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz" - "version" "5.8.0" - dependencies: - "clone-deep" "^4.0.1" - "wildcard" "^2.0.0" - -"webpack-sources@^1.1.0": - "integrity" "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==" - "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" - "version" "1.4.3" - dependencies: - "source-list-map" "^2.0.0" - "source-map" "~0.6.1" - -"webpack-sources@^1.4.3": - "integrity" "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==" - "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" - "version" "1.4.3" - dependencies: - "source-list-map" "^2.0.0" - "source-map" "~0.6.1" - -"webpack-sources@^2.3.0": - "integrity" "sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==" - "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.0.tgz" - "version" "2.3.0" - dependencies: - "source-list-map" "^2.0.1" - "source-map" "^0.6.1" - -"webpack@^4.0.0 || ^5.0.0", "webpack@^4.27.0 || ^5.0.0", "webpack@^4.4.0 || ^5.0.0", "webpack@^5.0.0", "webpack@^5.1.0", "webpack@^5.20.0", "webpack@^5.40.0", "webpack@>=2", "webpack@>=4.41.1 || 5.x", "webpack@3 || 4 || 5": - "integrity" "sha512-I1S1w4QLoKmH19pX6YhYN0NiSXaWY8Ou00oA+aMcr9IUGeF5azns+IKBkfoAAG9Bu5zOIzZt/mN35OffBya8AQ==" - "resolved" "https://registry.npmjs.org/webpack/-/webpack-5.44.0.tgz" - "version" "5.44.0" + is-buffer "^2.0.0" + unist-util-stringify-position "^2.0.0" + vfile-message "^2.0.0" + +wait-on@^5.3.0: + version "5.3.0" + resolved "https://registry.npmjs.org/wait-on/-/wait-on-5.3.0.tgz" + integrity sha512-DwrHrnTK+/0QFaB9a8Ol5Lna3k7WvUR4jzSKmz0YaPBpuN2sACyiPVKVfj6ejnjcajAcvn3wlbTyMIn9AZouOg== + dependencies: + axios "^0.21.1" + joi "^17.3.0" + lodash "^4.17.21" + minimist "^1.2.5" + rxjs "^6.6.3" + +watchpack@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz" + integrity sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +web-namespaces@^1.0.0, web-namespaces@^1.1.2: + version "1.1.4" + resolved "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz" + integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== + +webpack-bundle-analyzer@^4.4.2: + version "4.4.2" + resolved "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz" + integrity sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ== + dependencies: + acorn "^8.0.4" + acorn-walk "^8.0.0" + chalk "^4.1.0" + commander "^6.2.0" + gzip-size "^6.0.0" + lodash "^4.17.20" + opener "^1.5.2" + sirv "^1.0.7" + ws "^7.3.1" + +webpack-dev-middleware@^3.7.2: + version "3.7.3" + resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz" + integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== + dependencies: + memory-fs "^0.4.1" + mime "^2.4.4" + mkdirp "^0.5.1" + range-parser "^1.2.1" + webpack-log "^2.0.0" + +webpack-dev-server@^3.11.2: + version "3.11.2" + resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz" + integrity sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ== + dependencies: + ansi-html "0.0.7" + bonjour "^3.5.0" + chokidar "^2.1.8" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + debug "^4.1.1" + del "^4.1.1" + express "^4.17.1" + html-entities "^1.3.1" + http-proxy-middleware "0.19.1" + import-local "^2.0.0" + internal-ip "^4.3.0" + ip "^1.1.5" + is-absolute-url "^3.0.3" + killable "^1.0.1" + loglevel "^1.6.8" + opn "^5.5.0" + p-retry "^3.0.1" + portfinder "^1.0.26" + schema-utils "^1.0.0" + selfsigned "^1.10.8" + semver "^6.3.0" + serve-index "^1.9.1" + sockjs "^0.3.21" + sockjs-client "^1.5.0" + spdy "^4.0.2" + strip-ansi "^3.0.1" + supports-color "^6.1.0" + url "^0.11.0" + webpack-dev-middleware "^3.7.2" + webpack-log "^2.0.0" + ws "^6.2.1" + yargs "^13.3.2" + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz" + integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-merge@^5.8.0: + version "5.8.0" + resolved "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz" + integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== + dependencies: + clone-deep "^4.0.1" + wildcard "^2.0.0" + +webpack-sources@^1.1.0: + version "1.4.3" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack-sources@^1.4.3: + version "1.4.3" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" + integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack-sources@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.0.tgz" + integrity sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ== + dependencies: + source-list-map "^2.0.1" + source-map "^0.6.1" + +"webpack@^4.0.0 || ^5.0.0", "webpack@^4.27.0 || ^5.0.0", "webpack@^4.4.0 || ^5.0.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.20.0, webpack@^5.40.0, webpack@>=2, "webpack@>=4.41.1 || 5.x", "webpack@3 || 4 || 5": + version "5.44.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.44.0.tgz" + integrity sha512-I1S1w4QLoKmH19pX6YhYN0NiSXaWY8Ou00oA+aMcr9IUGeF5azns+IKBkfoAAG9Bu5zOIzZt/mN35OffBya8AQ== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50" "@webassemblyjs/ast" "1.11.1" "@webassemblyjs/wasm-edit" "1.11.1" "@webassemblyjs/wasm-parser" "1.11.1" - "acorn" "^8.4.1" - "browserslist" "^4.14.5" - "chrome-trace-event" "^1.0.2" - "enhanced-resolve" "^5.8.0" - "es-module-lexer" "^0.7.1" - "eslint-scope" "5.1.1" - "events" "^3.2.0" - "glob-to-regexp" "^0.4.1" - "graceful-fs" "^4.2.4" - "json-parse-better-errors" "^1.0.2" - "loader-runner" "^4.2.0" - "mime-types" "^2.1.27" - "neo-async" "^2.6.2" - "schema-utils" "^3.0.0" - "tapable" "^2.1.1" - "terser-webpack-plugin" "^5.1.3" - "watchpack" "^2.2.0" - "webpack-sources" "^2.3.0" - -"webpackbar@^5.0.0-3": - "integrity" "sha512-viW6KCYjMb0NPoDrw2jAmLXU2dEOhRrtku28KmOfeE1vxbfwCYuTbTaMhnkrCZLFAFyY9Q49Z/jzYO80Dw5b8g==" - "resolved" "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.0-3.tgz" - "version" "5.0.0-3" - dependencies: - "ansi-escapes" "^4.3.1" - "chalk" "^4.1.0" - "consola" "^2.15.0" - "figures" "^3.2.0" - "pretty-time" "^1.1.0" - "std-env" "^2.2.1" - "text-table" "^0.2.0" - "wrap-ansi" "^7.0.0" - -"websocket-driver@^0.7.4", "websocket-driver@>=0.5.1": - "integrity" "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==" - "resolved" "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" - "version" "0.7.4" - dependencies: - "http-parser-js" ">=0.5.1" - "safe-buffer" ">=5.1.0" - "websocket-extensions" ">=0.1.1" - -"websocket-extensions@>=0.1.1": - "integrity" "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" - "resolved" "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" - "version" "0.1.4" - -"which-boxed-primitive@^1.0.2": - "integrity" "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==" - "resolved" "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" - "version" "1.0.2" - dependencies: - "is-bigint" "^1.0.1" - "is-boolean-object" "^1.1.0" - "is-number-object" "^1.0.4" - "is-string" "^1.0.5" - "is-symbol" "^1.0.3" - -"which-module@^2.0.0": - "integrity" "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - "resolved" "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" - "version" "2.0.0" - -"which@^1.2.9": - "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" - "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "isexe" "^2.0.0" - -"which@^1.3.1": - "integrity" "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==" - "resolved" "https://registry.npmjs.org/which/-/which-1.3.1.tgz" - "version" "1.3.1" - dependencies: - "isexe" "^2.0.0" - -"which@^2.0.1": - "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - "version" "2.0.2" - dependencies: - "isexe" "^2.0.0" - -"widest-line@^3.1.0": - "integrity" "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==" - "resolved" "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" - "version" "3.1.0" - dependencies: - "string-width" "^4.0.0" - -"wildcard@^2.0.0": - "integrity" "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" - "resolved" "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz" - "version" "2.0.0" - -"worker-rpc@^0.1.0": - "integrity" "sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==" - "resolved" "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz" - "version" "0.1.1" - dependencies: - "microevent.ts" "~0.1.1" - -"wrap-ansi@^5.1.0": - "integrity" "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz" - "version" "5.1.0" - dependencies: - "ansi-styles" "^3.2.0" - "string-width" "^3.0.0" - "strip-ansi" "^5.0.0" - -"wrap-ansi@^7.0.0": - "integrity" "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" - "resolved" "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - "version" "7.0.0" - dependencies: - "ansi-styles" "^4.0.0" - "string-width" "^4.1.0" - "strip-ansi" "^6.0.0" - -"wrappy@1": - "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - "version" "1.0.2" - -"write-file-atomic@^3.0.0": - "integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==" - "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" - "version" "3.0.3" - dependencies: - "imurmurhash" "^0.1.4" - "is-typedarray" "^1.0.0" - "signal-exit" "^3.0.2" - "typedarray-to-buffer" "^3.1.5" - -"ws@^6.2.1": - "integrity" "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==" - "resolved" "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz" - "version" "6.2.2" - dependencies: - "async-limiter" "~1.0.0" - -"ws@^7.3.1": - "integrity" "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==" - "resolved" "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz" - "version" "7.5.3" - -"xdg-basedir@^4.0.0": - "integrity" "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==" - "resolved" "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" - "version" "4.0.0" - -"xml-js@^1.6.11": - "integrity" "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==" - "resolved" "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz" - "version" "1.6.11" - dependencies: - "sax" "^1.2.4" - -"xtend@^4.0.0", "xtend@^4.0.1": - "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - "version" "4.0.2" - -"y18n@^4.0.0": - "integrity" "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - "resolved" "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" - "version" "4.0.3" - -"yallist@^4.0.0": - "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - "version" "4.0.0" - -"yaml@^1.10.0": - "integrity" "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" - "resolved" "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" - "version" "1.10.2" - -"yargs-parser@^13.1.2": - "integrity" "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==" - "resolved" "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz" - "version" "13.1.2" - dependencies: - "camelcase" "^5.0.0" - "decamelize" "^1.2.0" - -"yargs@^13.3.2": - "integrity" "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==" - "resolved" "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz" - "version" "13.3.2" - dependencies: - "cliui" "^5.0.0" - "find-up" "^3.0.0" - "get-caller-file" "^2.0.1" - "require-directory" "^2.1.1" - "require-main-filename" "^2.0.0" - "set-blocking" "^2.0.0" - "string-width" "^3.0.0" - "which-module" "^2.0.0" - "y18n" "^4.0.0" - "yargs-parser" "^13.1.2" - -"yocto-queue@^0.1.0": - "integrity" "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" - "resolved" "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - "version" "0.1.0" - -"zwitch@^1.0.0": - "integrity" "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==" - "resolved" "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz" - "version" "1.0.5" + acorn "^8.4.1" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.8.0" + es-module-lexer "^0.7.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.4" + json-parse-better-errors "^1.0.2" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.0.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.2.0" + webpack-sources "^2.3.0" + +webpackbar@^5.0.0-3: + version "5.0.0-3" + resolved "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.0-3.tgz" + integrity sha512-viW6KCYjMb0NPoDrw2jAmLXU2dEOhRrtku28KmOfeE1vxbfwCYuTbTaMhnkrCZLFAFyY9Q49Z/jzYO80Dw5b8g== + dependencies: + ansi-escapes "^4.3.1" + chalk "^4.1.0" + consola "^2.15.0" + figures "^3.2.0" + pretty-time "^1.1.0" + std-env "^2.2.1" + text-table "^0.2.0" + wrap-ansi "^7.0.0" + +websocket-driver@^0.7.4, websocket-driver@>=0.5.1: + version "0.7.4" + resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +widest-line@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz" + integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== + dependencies: + string-width "^4.0.0" + +wildcard@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz" + integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== + +worker-rpc@^0.1.0: + version "0.1.1" + resolved "https://registry.npmjs.org/worker-rpc/-/worker-rpc-0.1.1.tgz" + integrity sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg== + dependencies: + microevent.ts "~0.1.1" + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + +ws@^6.2.1: + version "6.2.2" + resolved "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz" + integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== + dependencies: + async-limiter "~1.0.0" + +ws@^7.3.1: + version "7.5.3" + resolved "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz" + integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== + +xdg-basedir@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz" + integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== + +xml-js@^1.6.11: + version "1.6.11" + resolved "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz" + integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== + dependencies: + sax "^1.2.4" + +xtend@^4.0.0, xtend@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz" + integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs@^13.3.2: + version "13.3.2" + resolved "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz" + integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +zwitch@^1.0.0: + version "1.0.5" + resolved "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz" + integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== From e977cc38f8e31640f0030791b5cea04b3d2f765c Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Wed, 4 Sep 2024 16:43:09 +0300 Subject: [PATCH 04/27] minor fix --- v2/anomalydetection/backend-setup.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index abcbeaeeb..0350e85e9 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -40,7 +40,7 @@ const generatePasswordResetTokenPOST = async function (input) { ``` :::important -The `requestId` is required when the trying to reset password, sign in or sign up. If the `requestId` is not present, a 400 error will be thrown. +The `requestId` should be required when the trying to reset password, sign in or sign up. If the `requestId` is not present, a 400 error should be thrown. ::: ### Making the Request to the Anomaly Detection endpoint From 13747859904331c2f8d9457b878b5420abc3f991 Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Thu, 5 Sep 2024 16:33:25 +0300 Subject: [PATCH 05/27] pr fixes --- v2/anomalydetection/backend-setup.mdx | 473 ++++++++++++++++++++++++- v2/anomalydetection/frontend-setup.mdx | 14 +- v2/anomalydetection/introduction.mdx | 5 +- v2/anomalydetection/sidebars.js | 10 +- 4 files changed, 465 insertions(+), 37 deletions(-) diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index 0350e85e9..632ad6ca2 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -4,11 +4,17 @@ title: Backend Setup hide_title: true --- +import BackendSDKTabs from "/src/components/tabs/BackendSDKTabs" +import TabItem from '@theme/TabItem'; +import {PreBuiltOrCustomUISwitcher, PreBuiltUIContent, CustomUIContent} from "/src/components/preBuiltOrCustomUISwitcher" +import FrontendPreBuiltUITabs from "/src/components/tabs/FrontendPreBuiltUITabs" + + # Setting up the Backend In order to use the anomaly detection service, a request to the following enpoint (based on the region) needs to be made: -**US Region:** +**US Region (N. Virginia):** ```typescript POST https://security-us-east-1.aws.supertokens.io/v1/security ``` @@ -23,7 +29,64 @@ POST https://security-eu-west-1.aws.supertokens.io/v1/security POST https://security-ap-southeast-1.aws.supertokens.io/v1/security ``` -You can view the HTTP API reference for this endpoint [here](#somelinkhere). +You can view the HTTP API reference for this endpoint below: + +

+ Headers + +```typescript +{ + "Content-Type": "application/json", + "Authorization": "Bearer " +} +``` +
+ +
+ Payload + +```typescript +{ + "email": "user@email.com", + "phoneNumber": "+1234567890", + "passwordHash": "9cf95dacd226dcf43da376cdb6cbba7035218920", + "requestId": "some-request-id", + "actionType": "emailpassword-sign-in", + "bruteForce": [ + { + "key": "some-key", + "maxRequests": [ + { + "limit": 1, + "perTimeIntervalMS": 1000 + } + ] + } + ] +} +``` +
+ +
+ Response + +```typescript +{ + "id": "0191bc35-d527-7bbd-88df-1e7669e82cc0", + "bruteForce": { + "detected": true, + "key": "some-key" + }, + "emailRisk": null, + "phoneNumberRisk": null, + "isBreachedPassword": false, + "isNewDevice": false, + "isImpossibleTravel": false, + "numberOfUniqueDevicesForUser": 1, + "requestIdInfo": null +} +``` +
### Retrieving the Request ID @@ -47,7 +110,7 @@ The `requestId` should be required when the trying to reset password, sign in or The request body is a JSON object that contains the following properties (all fields are optional): -- `securityServiceRequestId`: The request ID that has been generated on the frontend. If this is omitted, the bot detection, impossible travel detection, new device detection, device count detection and request ID info will be skipped. +- `requestId`: The request ID that has been generated on the frontend. If this is omitted, the bot detection, impossible travel detection, new device detection, device count detection and request ID info will be skipped. - `bruteForce`: An array of brute force checks that have been configured on the frontend. ```typescript type BruteForceCheck = { @@ -140,18 +203,18 @@ const checkUserOnly = [ ``` - `passwordHash`: The SHA-1 hash of the password that needs to be checked against the breach database. If this is not provided, the password breach check will be skipped. -- `email`: The email address that is being used for the authentication event. If this is not provided (or `phoneNumber'), the impossible travel detection, new device detection and device count detection will be skipped. -- `phoneNumber`: The phone number that is being used for the authentication event. If this is not provided (or `email'), the impossible travel detection, new device detection and device count detection will be skipped. +- `email`: The email address that is being used for the authentication event. If this is not provided (or `phoneNumber`), the impossible travel detection, new device detection and device count detection will be skipped. +- `phoneNumber`: The phone number that is being used for the authentication event. If this is not provided (or `email`), the impossible travel detection, new device detection and device count detection will be skipped. - `actionType`: The type of action that is being performed. The possible values are: - - `emailpassword-sign-in` - - `emailpassword-sign-up` - - `send-password-reset-email` - - `passwordless-send-email` - - `passwordless-send-sms` - - `totp-verify-device` - - `totp-verify-totp` - - `thirdparty-login` - - `emailverification-send-email` + - "emailpassword-sign-in" + - "emailpassword-sign-up" + - "send-password-reset-email" + - "passwordless-send-email" + - "passwordless-send-sms" + - "totp-verify-device" + - "totp-verify-totp" + - "thirdparty-login" + - "emailverification-send-email" Below is an example of how to make the request to the anomaly detection endpoint: @@ -165,7 +228,7 @@ async function doSecurityChecks(input: { email?: string, phoneNumber?: string, password?: string, - securityServiceRequestId?: string, + requestId?: string, bruteForceChecks?: { keyStr: string, maxRequests: { @@ -181,7 +244,7 @@ async function doSecurityChecks(input: { email?: string; phoneNumber?: string; actionType?: string; - securityServiceRequestId?: string; + requestId?: string; passwordHash?: string; bruteForce?: { keyStr: string; @@ -192,8 +255,8 @@ async function doSecurityChecks(input: { }[]; } = {} - if (input.securityServiceRequestId !== undefined) { - requestBody.securityServiceRequestId = input.securityServiceRequestId; + if (input.requestId !== undefined) { + requestBody.requestId = input.requestId; } if (input.password !== undefined) { @@ -227,3 +290,377 @@ async function doSecurityChecks(input: { return undefined; } ``` + +### Overrides +Here are a few examples of full implementations of the anomaly detection: + +#### Email and password + + + + +```tsx +import SuperTokens from "supertokens-node"; +import EmailPassword from "supertokens-node/recipe/emailpassword"; +import Session from "supertokens-node/recipe/session"; +import { createHash } from 'crypto'; + +const API_KEY = ""; // Your secret API key that you received from the SuperTokens team +const ANOMALY_DETECTION_API_URL = "https://security-us-east-1.aws.supertokens.io/v1/security"; + +async function handleSecurityChecks(input: { + actionType?: string, + email?: string, + phoneNumber?: string, + password?: string, + requestId?: string, + bruteForceChecks?: { + keyStr: string, + maxRequests: { + limit: number, + perTimeIntervalMS: number + }[] + }[] +}): Promise<{ + status: "GENERAL_ERROR", + message: string +} | undefined> { + let requestBody: { + email?: string; + phoneNumber?: string; + actionType?: string; + requestId?: string; + passwordHash?: string; + bruteForce?: { + keyStr: string; + maxRequests: { + limit: number; + perTimeIntervalMS: number; + }[]; + }[]; + } = {} + + if (input.requestId !== undefined) { + requestBody.requestId = input.requestId; + } + + if (input.password !== undefined) { + let shasum = createHash('sha1'); + shasum.update(input.password); + const passwordHash = shasum.digest('hex'); + requestBody.passwordHash = passwordHash; + } + requestBody.bruteForce = input.bruteForce; + requestBody.email = input.email; + requestBody.phoneNumber = input.phoneNumber; + requestBody.actionType = input.actionType; + + let response = await axios.post(ANOMALY_DETECTION_API_URL, requestBody); + let responseData = response.data; + + if (!responseData.bruteForce.result) { + throw new Error("Too many requests. Please try again later."); + } + + if (responseData.isBreachedPassword) { + // ... your code here ... + } + + if(responseData.isNewDevice) { + // ... your code here ... + } + + if(responseData.isImpossibleTravel) { + // ... your code here ... + } + + if(responseData.numberOfUniqueDevicesForUser) { + // ... your code here ... + } + + if(responseData.requestIdInfo) { + // handle stuff like bot detection, vpn detection, tor detection, etc + // ... your code here ... + } + + return responseData; +} + +const getBruteForce = (email: string) => [{ + keyStr: `${email}`; + maxRequests: [ + { + limit: 1; + perTimeIntervalMS: 1000; + }, + { + limit: 100; + perTimeIntervalMS: 60 * 1000 * 60; + } + ]; +}]; + +// backend +SuperTokens.init({ + appInfo: { + apiDomain: "...", + appName: "...", + websiteDomain: "..." + }, + supertokens: { + connectionURI: "...", + }, + recipeList: [ + EmailPassword.init({ + // highlight-start + override: { + functions: (originalImplementation) => { + return { + ...originalImplementation, + signUpPOST: async function (input) { + // There is no need to generate a request ID when signing up + + const bruteForceChecks = getBruteForce(input.email); + // we check the anomaly detection service before calling the original implementation of signUp + let securityCheckResponse = await handleSecurityChecks({ ...input, bruteForceChecks }); + // ... security check code here ... + + // First we call the original implementation of signUp. + let response = await originalImplementation.signUpPOST(input); + if (response.status === "OK") { + // TODO: post password reset logic + } + + return response; + }, + signInPOST: async function (input) { + // We need to generate a request ID when signing in order to detect possible bots, suspicious IP addresses, etc. + const requestId = (await input.options.req.getJSONBody()).requestId; + if(!requestId) { + // make sure to throw an error or correctly handle this error case + throw new Error("requestId is required"); + } + + const bruteForceChecks = getBruteForce(input.email); + // we check the anomaly detection service before calling the original implementation of signUp + let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, bruteForceChecks }); + // ... security check code here ... + + // First we call the original implementation of signIn. + let response = await originalImplementation.signInPOST(input); + if (response.status === "OK") { + // TODO: post password reset logic + } + + return response; + }, + passwordResetPOST: async function (input) { + // There is no need to generate a request ID when resetting the password + + const bruteForceChecks = getBruteForce(input.email); + // we check the anomaly detection service before calling the original implementation of signUp + let securityCheckResponse = await handleSecurityChecks({ ...input, bruteForceChecks }); + // ... security check code here ... + + // First we call the original implementation of passwordReset. + let response = await originalImplementation.passwordResetPOST(input); + if (response.status === "OK") { + // TODO: post password reset logic + } + + return response; + } + } + } + } + // highlight-end + }), + ] +}); +``` + + + +go + + + +python + + + +other frameworks + + + + +#### Passwordless + + + + +```tsx +import SuperTokens from "supertokens-node"; +import Session from "supertokens-node/recipe/session"; +import Passwordless from "supertokens-node/recipe/passwordless"; +import { createHash } from 'crypto'; + +const API_KEY = ""; // Your secret API key that you received from the SuperTokens team +const ANOMALY_DETECTION_API_URL = "https://security-us-east-1.aws.supertokens.io/v1/security"; + +async function handleSecurityChecks(input: { + actionType?: string, + email?: string, + phoneNumber?: string, + password?: string, + requestId?: string, + bruteForceChecks?: { + keyStr: string, + maxRequests: { + limit: number, + perTimeIntervalMS: number + }[] + }[] +}): Promise<{ + status: "GENERAL_ERROR", + message: string +} | undefined> { + let requestBody: { + email?: string; + phoneNumber?: string; + actionType?: string; + requestId?: string; + passwordHash?: string; + bruteForce?: { + keyStr: string; + maxRequests: { + limit: number; + perTimeIntervalMS: number; + }[]; + }[]; + } = {} + + if (input.requestId !== undefined) { + requestBody.requestId = input.requestId; + } + + if (input.password !== undefined) { + let shasum = createHash('sha1'); + shasum.update(input.password); + const passwordHash = shasum.digest('hex'); + requestBody.passwordHash = passwordHash; + } + requestBody.bruteForce = input.bruteForce; + requestBody.email = input.email; + requestBody.phoneNumber = input.phoneNumber; + requestBody.actionType = input.actionType; + + let response = await axios.post(ANOMALY_DETECTION_API_URL, requestBody); + let responseData = response.data; + + if (!responseData.bruteForce.result) { + throw new Error("Too many requests. Please try again later."); + } + + if (responseData.isBreachedPassword) { + // ... your code here ... + } + + if(responseData.isNewDevice) { + // ... your code here ... + } + + if(responseData.isImpossibleTravel) { + // ... your code here ... + } + + if(responseData.numberOfUniqueDevicesForUser) { + // ... your code here ... + } + + if(responseData.requestIdInfo) { + // handle stuff like bot detection, vpn detection, tor detection, etc + // ... your code here ... + } + + return responseData; +} + + + +SuperTokens.init({ + // @ts-ignore + framework: "...", + // @ts-ignore + appInfo: { /*...*/ }, + recipeList: [ + Passwordless.init({ + // ... other customisations ... + // highlight-start + override: { + apis: (originalImplementation) => { + return { + ...originalImplementation, + createCodePOST: async function (input) { + // We need to have a request ID when creating a code in order to detect possible bots, suspicious IP addresses, etc. + const requestId = (await input.options.req.getJSONBody()).requestId; + if(!requestId) { + // make sure to throw an error or correctly handle this error case + throw new Error("requestId is required"); + } + + // ... your code here ... + let session = await Session.getSession(input.options.req, input.options.res, { + overrideGlobalClaimValidators: () => [], + }); + let phoneNumber: string = session.getAccessTokenPayload().phoneNumber; + + // we check the anomaly detection service before calling the original implementation of signUp + let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, phoneNumber }); + // ... security check code here ... + + return originalImplementation.createCodePOST(input); + }, + resendCodePOST: async function (input) { + // We need to have a request ID when resending the code in order to detect possible bots, suspicious IP addresses, etc. + const requestId = (await input.options.req.getJSONBody()).requestId; + if(!requestId) { + // make sure to throw an error or correctly handle this error case + throw new Error("requestId is required"); + } + + // ... your code here ... + let session = await Session.getSession(input.options.req, input.options.res, { + overrideGlobalClaimValidators: () => [], + }); + let phoneNumber: string = session.getAccessTokenPayload().phoneNumber; + + // we check the anomaly detection service before calling the original implementation of signUp + let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, phoneNumber }); + // ... security check code here ... + + return originalImplementation.resendCodePOST(input); + }, + }; + }, + }, + // highlight-end + }), + Session.init({ /* ... */ }) + ] +}) +``` + + + +go + + + +python + + + +other frameworks + + diff --git a/v2/anomalydetection/frontend-setup.mdx b/v2/anomalydetection/frontend-setup.mdx index 2d04483bb..ac79378f6 100644 --- a/v2/anomalydetection/frontend-setup.mdx +++ b/v2/anomalydetection/frontend-setup.mdx @@ -7,11 +7,10 @@ hide_title: true # Setting up the Frontend Setting up the frontend is relatively simple. You need to generate a request ID for each authentication event attempt. -This request ID is used as a parameter for the anomaly detection for detecting anomalies such as bot detection, impossible travel, and device information. -Using it on other flows will not make a real difference, as, by their nature, other flows prevent this kind of anomalies. - -For detecting brute force attacks, password breaches, etc, you can skip these steps as the backend setup will handle this. +:::important +This frontend setup is required only for bot detection and anomaly IP based detection such as impossible travel detection. We also recommend checking for bot detection only on the email password login flows. +::: ### Generating a Request ID on the Frontend @@ -22,9 +21,9 @@ Below is an example of how to implement request ID generation on your frontend: ```tsx const API_KEY = ""; // Your public API key that you received from the SuperTokens team -const SDK_URL = "https://supertokens.com/JfNbWqtXUiGYuTqb/PYmK3PIPqdvHw6iz"; +const SDK_URL = "https://supertokens.io/JfNbWqtXUiGYuTqb/PYmK3PIPqdvHw6iz"; -const supertokensDeviceIdPromise = require(SDK_URL + "?apiKey=" + API_KEY).then((DeviceId: any) => DeviceId.load({ +const supertokensDeviceIdPromise = require(SDK_URL + "?apiKey=" + API_KEY).then((RequestId: any) => RequestId.load({ endpoint: [ SDK_URL, DeviceId.defaultEndpoint @@ -74,7 +73,7 @@ Below is a full example of how to configure the SDK and pass the request ID to t import EmailPassword from "supertokens-auth-react/recipe/emailpassword"; const API_KEY = ""; // Your public API key that you received from the SuperTokens team -const SDK_URL = "https://supertokens.com/JfNbWqtXUiGYuTqb/PYmK3PIPqdvHw6iz"; +const SDK_URL = "https://supertokens.io/JfNbWqtXUiGYuTqb/PYmK3PIPqdvHw6iz"; const supertokensDeviceIdPromise = require(SDK_URL + "?apiKey=" + API_KEY).then((DeviceId: any) => DeviceId.load({ endpoint: [ @@ -117,7 +116,6 @@ export const SuperTokensConfig = { apiDomain: 'your-api-domain.com', websiteDomain: 'your-website-domain.com', }, - usesDynamicLoginMethods: true, // recipeList contains all the modules that you want to // use from SuperTokens. See the full list here: https://supertokens.com/docs/guides recipeList: [ diff --git a/v2/anomalydetection/introduction.mdx b/v2/anomalydetection/introduction.mdx index 8a472da4d..0301d1c4f 100644 --- a/v2/anomalydetection/introduction.mdx +++ b/v2/anomalydetection/introduction.mdx @@ -51,5 +51,6 @@ Below is an high level overview of how this works: Anomaly detection flow - - +Once our team sets this up for you, you will receive from us: +- **Public API key** - this will be used on your frontend for generating request IDs +- **Service access key** - this will be used on your backend for making requests to our anomaly detection API diff --git a/v2/anomalydetection/sidebars.js b/v2/anomalydetection/sidebars.js index ff1a84a10..e3c9d3db3 100644 --- a/v2/anomalydetection/sidebars.js +++ b/v2/anomalydetection/sidebars.js @@ -1,11 +1,3 @@ module.exports = { - sidebar: [ - "introduction", - { - type: "category", - label: "Setup Guide", - collapsed: false, - items: ["frontend-setup", "backend-setup"], - }, - ], + sidebar: ["introduction", "frontend-setup", "backend-setup"], }; From 60300e4ff4cf2dae8e02f9bcbb23c8a9a2967b9d Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Thu, 5 Sep 2024 16:41:13 +0300 Subject: [PATCH 06/27] pr fixes --- v2/anomalydetection/frontend-setup.mdx | 42 ++++++++++++-------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/v2/anomalydetection/frontend-setup.mdx b/v2/anomalydetection/frontend-setup.mdx index ac79378f6..79004bdd9 100644 --- a/v2/anomalydetection/frontend-setup.mdx +++ b/v2/anomalydetection/frontend-setup.mdx @@ -88,27 +88,6 @@ async function getRequestId() { return result.requestId; } -const preAPIHook = async (context) => { - let url = context.url; - let requestInit = context.requestInit; - - let action = context.action; - - let requestId = await getRequestId(); - let body = context.requestInit.body; - if (body !== undefined) { - let bodyJson = JSON.parse(body as string); - - bodyJson.requestId = requestId; - - requestInit.body = JSON.stringify(bodyJson); - } - - return { - requestInit, url - }; -} - export const SuperTokensConfig = { // ... other config options appInfo: { @@ -120,7 +99,26 @@ export const SuperTokensConfig = { // use from SuperTokens. See the full list here: https://supertokens.com/docs/guides recipeList: [ EmailPassword.init({ - preAPIHook, + // highlight-start + override: { + functions: (originalImplementation) => { + return { + ...originalImplementation, + + // we will only be overriding what happens when a user + // clicks the sign in button. + signIn: async function (input) { + // TODO: some custom logic + let requestId = await getRequestId(); + // or call the default behaviour as show below + return originalImplementation.signIn({ ...input, requestId }); + }, + // ... + // TODO: override more functions + } + } + } + // highlight-end }), ], }; From 79aad9841ca8dad2f6d3545e6e68904165d83a08 Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Thu, 5 Sep 2024 16:49:28 +0300 Subject: [PATCH 07/27] pr fixes --- v2/anomalydetection/backend-setup.mdx | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index 632ad6ca2..b0bbff349 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -47,6 +47,7 @@ You can view the HTTP API reference for this endpoint below: ```typescript { + // all of the fields are optional "email": "user@email.com", "phoneNumber": "+1234567890", "passwordHash": "9cf95dacd226dcf43da376cdb6cbba7035218920", @@ -72,18 +73,18 @@ You can view the HTTP API reference for this endpoint below: ```typescript { - "id": "0191bc35-d527-7bbd-88df-1e7669e82cc0", + "id": "0191bc35-d527-7bbd-88df-1e7669e82cc0", // the id of the anomaly detection check "bruteForce": { - "detected": true, - "key": "some-key" + "detected": true, + "key": "some-key" // optional }, "emailRisk": null, "phoneNumberRisk": null, - "isBreachedPassword": false, - "isNewDevice": false, - "isImpossibleTravel": false, - "numberOfUniqueDevicesForUser": 1, - "requestIdInfo": null + "isBreachedPassword": false, // can be null if the password hash is not provided + "isNewDevice": false, // can be null if the email or phone number is not provided + "isImpossibleTravel": false, // can be null if the email or phone number is not provided + "numberOfUniqueDevicesForUser": 1, // can be null if the email or phone number is not provided + "requestIdInfo": null // can be null if the request ID is not provided } ``` From cf215ac2426ee18127c09dfb019a16b4a0eee419 Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Thu, 5 Sep 2024 16:56:38 +0300 Subject: [PATCH 08/27] pr fixes --- v2/anomalydetection/backend-setup.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index b0bbff349..a485dc421 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -104,7 +104,7 @@ const generatePasswordResetTokenPOST = async function (input) { ``` :::important -The `requestId` should be required when the trying to reset password, sign in or sign up. If the `requestId` is not present, a 400 error should be thrown. +The `requestId` should be required when the trying to reset password, sign in or sign up. If the `requestId` is not present, a 400 error should be thrown. You can see more in the [overrides section](#overrides). ::: ### Making the Request to the Anomaly Detection endpoint @@ -292,7 +292,7 @@ async function doSecurityChecks(input: { } ``` -### Overrides +### Overrides {#overrides} Here are a few examples of full implementations of the anomaly detection: #### Email and password From cf65404d5822ea66fe2aa07af76d87536d30d1bf Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Thu, 5 Sep 2024 16:57:07 +0300 Subject: [PATCH 09/27] pr fixes --- v2/anomalydetection/backend-setup.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index a485dc421..fc5191447 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -104,7 +104,7 @@ const generatePasswordResetTokenPOST = async function (input) { ``` :::important -The `requestId` should be required when the trying to reset password, sign in or sign up. If the `requestId` is not present, a 400 error should be thrown. You can see more in the [overrides section](#overrides). +The `requestId` should be required when the trying to reset password, sign in or sign up. If the `requestId` is not present, an error should be thrown. You can see more in the [overrides section](#overrides). ::: ### Making the Request to the Anomaly Detection endpoint From 0563ed44fd56df332edf58f28f35aa5bb7faabea Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Thu, 5 Sep 2024 17:11:29 +0300 Subject: [PATCH 10/27] pr fixes --- v2/anomalydetection/frontend-setup.mdx | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/v2/anomalydetection/frontend-setup.mdx b/v2/anomalydetection/frontend-setup.mdx index 79004bdd9..1b99a8f00 100644 --- a/v2/anomalydetection/frontend-setup.mdx +++ b/v2/anomalydetection/frontend-setup.mdx @@ -45,29 +45,6 @@ Once you have generated the request ID on the frontend, you need to pass it to t If the request ID is not passed to the backend, the anomaly detection will only be able to detect password breaches and brute force attacks. ::: -```tsx -const preAPIHook = async (context) => { - let url = context.url; - let requestInit = context.requestInit; - - let action = context.action; - - let requestId = await getRequestId(); - let body = context.requestInit.body; - if (body !== undefined) { - let bodyJson = JSON.parse(body as string); - - bodyJson.requestId = requestId; - - requestInit.body = JSON.stringify(bodyJson); - } - - return { - requestInit, url - }; -} -``` - Below is a full example of how to configure the SDK and pass the request ID to the backend: ```tsx import EmailPassword from "supertokens-auth-react/recipe/emailpassword"; From 052b486c026656413fd9b349b50d2311c2c3257c Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Thu, 5 Sep 2024 17:30:04 +0300 Subject: [PATCH 11/27] pr fixes --- v2/anomalydetection/backend-setup.mdx | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index fc5191447..4ba6790a2 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -15,17 +15,17 @@ import FrontendPreBuiltUITabs from "/src/components/tabs/FrontendPreBuiltUITabs" In order to use the anomaly detection service, a request to the following enpoint (based on the region) needs to be made: **US Region (N. Virginia):** -```typescript +```tsx POST https://security-us-east-1.aws.supertokens.io/v1/security ``` **EU Region (Ireland):** -```typescript +```tsx POST https://security-eu-west-1.aws.supertokens.io/v1/security ``` **APAC Region (Singapore):** -```typescript +```tsx POST https://security-ap-southeast-1.aws.supertokens.io/v1/security ``` @@ -34,7 +34,7 @@ You can view the HTTP API reference for this endpoint below:
Headers -```typescript +```tsx { "Content-Type": "application/json", "Authorization": "Bearer " @@ -45,7 +45,7 @@ You can view the HTTP API reference for this endpoint below:
Payload -```typescript +```tsx { // all of the fields are optional "email": "user@email.com", @@ -71,7 +71,7 @@ You can view the HTTP API reference for this endpoint below:
Response -```typescript +```tsx { "id": "0191bc35-d527-7bbd-88df-1e7669e82cc0", // the id of the anomaly detection check "bruteForce": { @@ -95,7 +95,7 @@ The request ID that has been passed from the frontend is available in the `reque Below is an example of how to retrieve the request ID from the input body: -```typescript +```tsx const generatePasswordResetTokenPOST = async function (input) { // ... your code here ... const requestId = (await input.options.req.getJSONBody()).requestId; @@ -113,7 +113,7 @@ The request body is a JSON object that contains the following properties (all fi - `requestId`: The request ID that has been generated on the frontend. If this is omitted, the bot detection, impossible travel detection, new device detection, device count detection and request ID info will be skipped. - `bruteForce`: An array of brute force checks that have been configured on the frontend. -```typescript +```tsx type BruteForceCheck = { keyStr: string; // the key against which the the brute force check is being performed. This should be unique for each user (i.e. email, phone number, ip, etc. ) maxRequests: { @@ -125,7 +125,7 @@ type BruteForceCheck = { Here you can see some examples of different types of brute force checks that can be performed: -```typescript +```tsx // Useful for limiting a user's attempt from the same network // This is the most common use case // --- @@ -148,7 +148,7 @@ const checkUserInSameNetwork = [{ ``` -```typescript +```tsx // Useful for limiting requests from the same network // This should usually have a higher number of requests/time interval allowed const checkNetwork = [{ @@ -162,7 +162,7 @@ const checkNetwork = [{ }] ``` -```typescript +```tsx // Useful for limiting requests for the user only const checkUserOnly = [{ keyStr: `${userEmail}`; @@ -175,7 +175,7 @@ const checkUserOnly = [{ }] ``` -```typescript +```tsx // Checking by multiple keys at once const checkUserOnly = [ { @@ -220,7 +220,7 @@ const checkUserOnly = [ Below is an example of how to make the request to the anomaly detection endpoint: -```typescript +```tsx const API_KEY = ""; // Your secret API key that you received from the SuperTokens team const ANOMALY_DETECTION_API_URL = "https://security-us-east-1.aws.supertokens.io/v1/security"; From 2f88c46d3576aeee2ddbc88508c5ff86cfff01f8 Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Thu, 5 Sep 2024 17:50:42 +0300 Subject: [PATCH 12/27] snippet ts fixes --- v2/anomalydetection/backend-setup.mdx | 91 +++++++++++++++----------- v2/anomalydetection/frontend-setup.mdx | 4 +- 2 files changed, 53 insertions(+), 42 deletions(-) diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index 4ba6790a2..248d7fb09 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -15,17 +15,17 @@ import FrontendPreBuiltUITabs from "/src/components/tabs/FrontendPreBuiltUITabs" In order to use the anomaly detection service, a request to the following enpoint (based on the region) needs to be made: **US Region (N. Virginia):** -```tsx +```bash POST https://security-us-east-1.aws.supertokens.io/v1/security ``` **EU Region (Ireland):** -```tsx +```bash POST https://security-eu-west-1.aws.supertokens.io/v1/security ``` **APAC Region (Singapore):** -```tsx +```bash POST https://security-ap-southeast-1.aws.supertokens.io/v1/security ``` @@ -35,10 +35,10 @@ You can view the HTTP API reference for this endpoint below: Headers ```tsx -{ +const headers = { "Content-Type": "application/json", "Authorization": "Bearer " -} +}; ```
@@ -46,7 +46,7 @@ You can view the HTTP API reference for this endpoint below: Payload ```tsx -{ +const payload = { // all of the fields are optional "email": "user@email.com", "phoneNumber": "+1234567890", @@ -64,7 +64,7 @@ You can view the HTTP API reference for this endpoint below: ] } ] -} +}; ```
@@ -72,7 +72,7 @@ You can view the HTTP API reference for this endpoint below: Response ```tsx -{ +const response = { "id": "0191bc35-d527-7bbd-88df-1e7669e82cc0", // the id of the anomaly detection check "bruteForce": { "detected": true, @@ -85,7 +85,7 @@ You can view the HTTP API reference for this endpoint below: "isImpossibleTravel": false, // can be null if the email or phone number is not provided "numberOfUniqueDevicesForUser": 1, // can be null if the email or phone number is not provided "requestIdInfo": null // can be null if the request ID is not provided -} +}; ```
@@ -126,79 +126,89 @@ type BruteForceCheck = { Here you can see some examples of different types of brute force checks that can be performed: ```tsx -// Useful for limiting a user's attempt from the same network +const userIp = "127.0.0.1"; // this should be the user's IP address +const userEmail = "user@email.com"; // this should be the user's email + +// Useful for limiting a user's attempt fom the same network // This is the most common use case // --- // This does two check: // 1. 1 request per second - fast rate of requests // 2. 100 requests per 60 minutes - slow brute force - some attackers might try sidestepping the regular brute force detection by using a slower rate of requests const checkUserInSameNetwork = [{ - keyStr: `${userIp}-${userEmail}`; + keyStr: `${userIp}-${userEmail}`, maxRequests: [ { - limit: 1; - perTimeIntervalMS: 1000; + limit: 1, + perTimeIntervalMS: 1000, }, { - limit: 100; - perTimeIntervalMS: 60 * 1000 * 60; + limit: 100, + perTimeIntervalMS: 60 * 1000 * 60, } - ]; + ] }] ``` ```tsx +const userIp = "127.0.0.1"; // this should be the user's IP address + // Useful for limiting requests from the same network // This should usually have a higher number of requests/time interval allowed const checkNetwork = [{ - keyStr: `${userIp}`; + keyStr: `${userIp}`, maxRequests: [ { - limit: 100; - perTimeIntervalMS: 1000; + limit: 100, + perTimeIntervalMS: 1000, }, - ]; + ] }] ``` ```tsx +const userEmail = "user@email.com"; // this should be the user's email + // Useful for limiting requests for the user only const checkUserOnly = [{ - keyStr: `${userEmail}`; + keyStr: `${userEmail}`, maxRequests: [ { - limit: 1; - perTimeIntervalMS: 1000; + limit: 1, + perTimeIntervalMS: 1000, }, - ]; + ] }] ``` ```tsx +const userIp = "127.0.0.1"; // this should be the user's IP address +const userEmail = "user@email.com"; // this should be the user's email + // Checking by multiple keys at once const checkUserOnly = [ { - keyStr: `${userIp}-${userEmail}`; + keyStr: `${userIp}-${userEmail}`, maxRequests: [ { - limit: 1; - perTimeIntervalMS: 1000; + limit: 1, + perTimeIntervalMS: 1000, }, { - limit: 100; - perTimeIntervalMS: 60 * 1000 * 60; + limit: 100, + perTimeIntervalMS: 60 * 1000 * 60, } - ]; + ] }, { - keyStr: `${userIp}`; + keyStr: `${userIp}`, maxRequests: [ { - limit: 100; - perTimeIntervalMS: 1000; + limit: 100, + perTimeIntervalMS: 1000, }, - ]; + ] } ] ``` @@ -388,19 +398,20 @@ async function handleSecurityChecks(input: { } const getBruteForce = (email: string) => [{ - keyStr: `${email}`; + keyStr: `${email}`, maxRequests: [ { - limit: 1; - perTimeIntervalMS: 1000; + limit: 1, + perTimeIntervalMS: 1000, }, { - limit: 100; - perTimeIntervalMS: 60 * 1000 * 60; + limit: 100, + perTimeIntervalMS: 60 * 1000 * 60, } - ]; + ] }]; + // backend SuperTokens.init({ appInfo: { diff --git a/v2/anomalydetection/frontend-setup.mdx b/v2/anomalydetection/frontend-setup.mdx index 1b99a8f00..79b437e38 100644 --- a/v2/anomalydetection/frontend-setup.mdx +++ b/v2/anomalydetection/frontend-setup.mdx @@ -23,7 +23,7 @@ Below is an example of how to implement request ID generation on your frontend: const API_KEY = ""; // Your public API key that you received from the SuperTokens team const SDK_URL = "https://supertokens.io/JfNbWqtXUiGYuTqb/PYmK3PIPqdvHw6iz"; -const supertokensDeviceIdPromise = require(SDK_URL + "?apiKey=" + API_KEY).then((RequestId: any) => RequestId.load({ +const supertokensDeviceIdPromise = import(SDK_URL + "?apiKey=" + API_KEY).then((RequestId: any) => RequestId.load({ endpoint: [ SDK_URL, DeviceId.defaultEndpoint @@ -52,7 +52,7 @@ import EmailPassword from "supertokens-auth-react/recipe/emailpassword"; const API_KEY = ""; // Your public API key that you received from the SuperTokens team const SDK_URL = "https://supertokens.io/JfNbWqtXUiGYuTqb/PYmK3PIPqdvHw6iz"; -const supertokensDeviceIdPromise = require(SDK_URL + "?apiKey=" + API_KEY).then((DeviceId: any) => DeviceId.load({ +const supertokensDeviceIdPromise = import(SDK_URL + "?apiKey=" + API_KEY).then((DeviceId: any) => DeviceId.load({ endpoint: [ SDK_URL, DeviceId.defaultEndpoint From 7f38edf5b8d6db0ebb52e43f7370e0e43ecec032 Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Thu, 5 Sep 2024 18:53:06 +0300 Subject: [PATCH 13/27] snippet ts fixes --- v2/anomalydetection/backend-setup.mdx | 39 +++++++++++++++----------- v2/anomalydetection/frontend-setup.mdx | 14 ++++----- 2 files changed, 29 insertions(+), 24 deletions(-) diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index 248d7fb09..d10783802 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -96,7 +96,7 @@ The request ID that has been passed from the frontend is available in the `reque Below is an example of how to retrieve the request ID from the input body: ```tsx -const generatePasswordResetTokenPOST = async function (input) { +const generatePasswordResetTokenPOST = async function (input: any) { // ... your code here ... const requestId = (await input.options.req.getJSONBody()).requestId; // ... your code here ... @@ -231,6 +231,9 @@ const checkUserOnly = [ Below is an example of how to make the request to the anomaly detection endpoint: ```tsx +import axios from "axios"; +import { createHash } from 'crypto'; + const API_KEY = ""; // Your secret API key that you received from the SuperTokens team const ANOMALY_DETECTION_API_URL = "https://security-us-east-1.aws.supertokens.io/v1/security"; @@ -240,7 +243,7 @@ async function doSecurityChecks(input: { phoneNumber?: string, password?: string, requestId?: string, - bruteForceChecks?: { + bruteForce?: { keyStr: string, maxRequests: { limit: number, @@ -314,6 +317,7 @@ Here are a few examples of full implementations of the anomaly detection: import SuperTokens from "supertokens-node"; import EmailPassword from "supertokens-node/recipe/emailpassword"; import Session from "supertokens-node/recipe/session"; +import axios from "axios"; import { createHash } from 'crypto'; const API_KEY = ""; // Your secret API key that you received from the SuperTokens team @@ -325,7 +329,7 @@ async function handleSecurityChecks(input: { phoneNumber?: string, password?: string, requestId?: string, - bruteForceChecks?: { + bruteForce?: { keyStr: string, maxRequests: { limit: number, @@ -426,15 +430,15 @@ SuperTokens.init({ EmailPassword.init({ // highlight-start override: { - functions: (originalImplementation) => { + functions: (originalImplementation: APIInterface): APIInterface => { return { ...originalImplementation, - signUpPOST: async function (input) { + signUpPOST: async function (input: any) { // There is no need to generate a request ID when signing up - const bruteForceChecks = getBruteForce(input.email); + const bruteForce = getBruteForce(input.email); // we check the anomaly detection service before calling the original implementation of signUp - let securityCheckResponse = await handleSecurityChecks({ ...input, bruteForceChecks }); + let securityCheckResponse = await handleSecurityChecks({ ...input, bruteForce }); // ... security check code here ... // First we call the original implementation of signUp. @@ -445,7 +449,7 @@ SuperTokens.init({ return response; }, - signInPOST: async function (input) { + signInPOST: async function (input: any) { // We need to generate a request ID when signing in order to detect possible bots, suspicious IP addresses, etc. const requestId = (await input.options.req.getJSONBody()).requestId; if(!requestId) { @@ -453,9 +457,9 @@ SuperTokens.init({ throw new Error("requestId is required"); } - const bruteForceChecks = getBruteForce(input.email); + const bruteForce = getBruteForce(input.email); // we check the anomaly detection service before calling the original implementation of signUp - let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, bruteForceChecks }); + let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, bruteForce }); // ... security check code here ... // First we call the original implementation of signIn. @@ -466,12 +470,12 @@ SuperTokens.init({ return response; }, - passwordResetPOST: async function (input) { + passwordResetPOST: async function (input: any) { // There is no need to generate a request ID when resetting the password - const bruteForceChecks = getBruteForce(input.email); + const bruteForce = getBruteForce(input.email); // we check the anomaly detection service before calling the original implementation of signUp - let securityCheckResponse = await handleSecurityChecks({ ...input, bruteForceChecks }); + let securityCheckResponse = await handleSecurityChecks({ ...input, bruteForce }); // ... security check code here ... // First we call the original implementation of passwordReset. @@ -515,6 +519,7 @@ other frameworks import SuperTokens from "supertokens-node"; import Session from "supertokens-node/recipe/session"; import Passwordless from "supertokens-node/recipe/passwordless"; +import axios from "axios"; import { createHash } from 'crypto'; const API_KEY = ""; // Your secret API key that you received from the SuperTokens team @@ -526,7 +531,7 @@ async function handleSecurityChecks(input: { phoneNumber?: string, password?: string, requestId?: string, - bruteForceChecks?: { + bruteForce?: { keyStr: string, maxRequests: { limit: number, @@ -610,10 +615,10 @@ SuperTokens.init({ // ... other customisations ... // highlight-start override: { - apis: (originalImplementation) => { + apis: (originalImplementation: APIInterface): APIInterface => { return { ...originalImplementation, - createCodePOST: async function (input) { + createCodePOST: async function (input: any) { // We need to have a request ID when creating a code in order to detect possible bots, suspicious IP addresses, etc. const requestId = (await input.options.req.getJSONBody()).requestId; if(!requestId) { @@ -633,7 +638,7 @@ SuperTokens.init({ return originalImplementation.createCodePOST(input); }, - resendCodePOST: async function (input) { + resendCodePOST: async function (input: any) { // We need to have a request ID when resending the code in order to detect possible bots, suspicious IP addresses, etc. const requestId = (await input.options.req.getJSONBody()).requestId; if(!requestId) { diff --git a/v2/anomalydetection/frontend-setup.mdx b/v2/anomalydetection/frontend-setup.mdx index 79b437e38..fd6e10e10 100644 --- a/v2/anomalydetection/frontend-setup.mdx +++ b/v2/anomalydetection/frontend-setup.mdx @@ -26,7 +26,7 @@ const SDK_URL = "https://supertokens.io/JfNbWqtXUiGYuTqb/PYmK3PIPqdvHw6iz"; const supertokensDeviceIdPromise = import(SDK_URL + "?apiKey=" + API_KEY).then((RequestId: any) => RequestId.load({ endpoint: [ SDK_URL, - DeviceId.defaultEndpoint + RequestId.defaultEndpoint ] })); @@ -52,16 +52,16 @@ import EmailPassword from "supertokens-auth-react/recipe/emailpassword"; const API_KEY = ""; // Your public API key that you received from the SuperTokens team const SDK_URL = "https://supertokens.io/JfNbWqtXUiGYuTqb/PYmK3PIPqdvHw6iz"; -const supertokensDeviceIdPromise = import(SDK_URL + "?apiKey=" + API_KEY).then((DeviceId: any) => DeviceId.load({ +const supertokensDeviceIdPromise = import(SDK_URL + "?apiKey=" + API_KEY).then((RequestId: any) => RequestId.load({ endpoint: [ SDK_URL, - DeviceId.defaultEndpoint + RequestId.defaultEndpoint ] })); async function getRequestId() { - const deviceId = await supertokensDeviceIdPromise; - const result = await deviceId.get(); + const requestId = await supertokensRequestIdPromise; + const result = await requestId.get(); return result.requestId; } @@ -78,13 +78,13 @@ export const SuperTokensConfig = { EmailPassword.init({ // highlight-start override: { - functions: (originalImplementation) => { + functions: (originalImplementation: RecipeInterface): RecipeInterface => { return { ...originalImplementation, // we will only be overriding what happens when a user // clicks the sign in button. - signIn: async function (input) { + signIn: async function (input: any) { // TODO: some custom logic let requestId = await getRequestId(); // or call the default behaviour as show below From 6ebfdefade49fa3fe29c7e4d7d6cbc3e69fdd738 Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Fri, 6 Sep 2024 12:55:31 +0300 Subject: [PATCH 14/27] removed hot reload --- v2/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v2/package.json b/v2/package.json index aa0133a05..1fd96bd6c 100644 --- a/v2/package.json +++ b/v2/package.json @@ -4,7 +4,7 @@ "private": true, "scripts": { "docusaurus": "docusaurus", - "start": "docusaurus start --hot-only --host 0.0.0.0", + "start": "docusaurus start --host 0.0.0.0", "build": "./buildDocsForProduction", "build:ios": "MODE=production CODE_TYPE_CHECK=swift npx docusaurus build", "build-ignore-errors": "./buildDocsForProduction true", From c4cf5638ca048d1385da983013e3017565254c8a Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Fri, 6 Sep 2024 14:26:19 +0300 Subject: [PATCH 15/27] pr fixes --- v2/anomalydetection/backend-setup.mdx | 579 ++++++++++++++++--------- v2/anomalydetection/enabling.mdx | 18 + v2/anomalydetection/frontend-setup.mdx | 60 ++- v2/anomalydetection/introduction.mdx | 6 +- v2/anomalydetection/sidebars.js | 2 +- 5 files changed, 423 insertions(+), 242 deletions(-) create mode 100644 v2/anomalydetection/enabling.mdx diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index d10783802..ae9514884 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -73,41 +73,169 @@ const payload = { ```tsx const response = { - "id": "0191bc35-d527-7bbd-88df-1e7669e82cc0", // the id of the anomaly detection check - "bruteForce": { - "detected": true, - "key": "some-key" // optional + id: "0191bc35-d527-7bbd-88df-1e7669e82cc0", // the id of the anomaly detection check + bruteForce: { + detected: true, + key: "some-key" // this will be present only if brute force has been detected and the value will be the key for which the brute force detection has been detected }, - "emailRisk": null, - "phoneNumberRisk": null, - "isBreachedPassword": false, // can be null if the password hash is not provided - "isNewDevice": false, // can be null if the email or phone number is not provided - "isImpossibleTravel": false, // can be null if the email or phone number is not provided - "numberOfUniqueDevicesForUser": 1, // can be null if the email or phone number is not provided - "requestIdInfo": null // can be null if the request ID is not provided + emailRisk: null, + phoneNumberRisk: null, + isBreachedPassword: false, // can be null if the password hash is not provided + isNewDevice: false, // can be null if the email or phone number is not provided + isImpossibleTravel: false, // can be null if the email or phone number is not provided + numberOfUniqueDevicesForUser: 1, // can be null if the email or phone number is not provided + /* + All the values below can be null based on the request ID provided and what has been detected + */ + requestIdInfo: { // can be null if the request ID is not provided + vpn: { + result: true, // this is true if the user is using a VPN + methods: { + publicVPN: true, // this is true if the user is using a public VPN + osMismatch: false, + auxiliaryMobile: false, + timezoneMismatch: true, + }, + originCountry: 'unknown', + originTimezone: 'Europe/Bucharest', + }, + frida: false, + proxy: false, // this is true if the user is using a proxy + valid: true, + ipInfo: { + v4: { + asn: { asn: '16509', name: 'AMAZON-02', network: '127.0.0.1/13' }, + address: '127.0.0.1', + datacenter: { name: 'Amazon AWS', result: true }, + geolocation: { + city: { name: 'Frankfurt am Main' }, + country: { code: 'DE', name: 'Germany' }, + latitude: 51.1187, + timezone: 'Europe/Berlin', + continent: { code: 'EU', name: 'Europe' }, + longitude: 9.6842, + postalCode: '12345', + subdivisions: [{ name: 'Hesse', isoCode: 'HE' }], + accuracyRadius: 200, + }, + }, + v6: null, // contains same information as v4 if the user is using IPv6 + }, + velocity: { + events: { intervals: { '1h': 3, '5m': 3, '24h': 5 } }, + distinctIp: { intervals: { '1h': 1, '5m': 1, '24h': 1 } }, + distinctCountry: { intervals: { '1h': 1, '5m': 1, '24h': 1 } }, + distinctLinkedId: { intervals: null }, + }, + clonedApp: false, + incognito: false, + tampering: { result: false, anomalyScore: 0 }, + isEmulator: false, + isUsingTor: false, // this is true if the user is using Tor + jailbroken: false, + botDetected: false, // this is true if the user is a bot + ipBlocklist: { + result: false, + details: { emailSpam: false, attackSource: false }, + }, + factoryReset: { time: '1970-01-01T00:00:00Z', timestamp: 0 }, + highActivity: false, + remoteControl: false, + identification: { + tag: { environmentId: 'cddd8855-ff50-4bbe-bb82-62b5057fa4f4' }, // this is the environment ID that you will receive from the SuperTokens team + url: 'http://example.com/index.html?eid=cddd8855-ff50-4bbe-bb82-62b5057fa4f4', // this is the URL that has been used to generate the request ID + linkedId: null, + timeInMS: 1723130887458, + incognito: false, + requestId: '1723130887451.92r32x', // this is the request ID that has been generated on the frontend + visitorId: 'mEYaqlY67Z55cHgzt37y', + confidence: { score: 1 }, + browserDetails: { + os: 'Mac OS X', + device: 'Other', + osVersion: '10.15.7', + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36', + browserName: 'Chrome', + browserFullVersion: '127.0.0', + browserMajorVersion: '127', + }, + }, + virtualMachine: false, + privacySettings: false, + locationSpoofing: false, + rawDeviceAttributes: { + // These are the raw device attributes that are being sent from the frontend + // They might vary based on the device and browser that is being used + audio: { value: 124.04346607114712 }, + fonts: { + value: ['Arial Unicode MS', 'Gill Sans', 'Helvetica Neue', 'Menlo'], + }, + canvas: { + value: { + Text: '32a115bd05e0f411c5ecd7e285fd36e2', + Winding: true, + Geometry: 'd45e7d71dc99e368affd8a40840c833d', + }, + }, + contrast: { value: 0 }, + cpuClass: {}, + colorDepth: { value: 124.04346607114712 }, + colorGamut: { value: 'p3' }, + architecture: { value: 127 }, + cookiesEnabled: { value: true }, + }, + } }; ``` -### Retrieving the Request ID +## Retrieving the Request ID The request ID that has been passed from the frontend is available in the `requestId` property of the input body from each API override. Below is an example of how to retrieve the request ID from the input body: + + + ```tsx -const generatePasswordResetTokenPOST = async function (input: any) { - // ... your code here ... - const requestId = (await input.options.req.getJSONBody()).requestId; - // ... your code here ... -} + const signInPOST = async function (input: { + options: { + req: { + getJSONBody: () => Promise<{ + requestId: string; + }>; + }; + }; + }) { + // ... your code here ... + const requestId = (await input.options.req.getJSONBody()).requestId; + // ... your code here ... + } ``` + + + +go + + + +python + + + +other frameworks + + + + :::important -The `requestId` should be required when the trying to reset password, sign in or sign up. If the `requestId` is not present, an error should be thrown. You can see more in the [overrides section](#overrides). +The `requestId` should be required when the trying to reset password, sign in or sign up. If the `requestId` is not present, an error should be returned. You can see more in the [examples section](#examples). ::: -### Making the Request to the Anomaly Detection endpoint +## Making the Request to the Anomaly Detection endpoint The request body is a JSON object that contains the following properties (all fields are optional): @@ -189,7 +317,7 @@ const userEmail = "user@email.com"; // this should be the user's email // Checking by multiple keys at once const checkUserOnly = [ { - keyStr: `${userIp}-${userEmail}`, + keyStr: `${userEmail}-${userIp}`, maxRequests: [ { limit: 1, @@ -228,87 +356,10 @@ const checkUserOnly = [ - "emailverification-send-email" -Below is an example of how to make the request to the anomaly detection endpoint: - -```tsx -import axios from "axios"; -import { createHash } from 'crypto'; - -const API_KEY = ""; // Your secret API key that you received from the SuperTokens team -const ANOMALY_DETECTION_API_URL = "https://security-us-east-1.aws.supertokens.io/v1/security"; - -async function doSecurityChecks(input: { - actionType?: string, - email?: string, - phoneNumber?: string, - password?: string, - requestId?: string, - bruteForce?: { - keyStr: string, - maxRequests: { - limit: number, - perTimeIntervalMS: number - }[] - }[] -}): Promise<{ - status: "GENERAL_ERROR", - message: string -} | undefined> { - let requestBody: { - email?: string; - phoneNumber?: string; - actionType?: string; - requestId?: string; - passwordHash?: string; - bruteForce?: { - keyStr: string; - maxRequests: { - limit: number; - perTimeIntervalMS: number; - }[]; - }[]; - } = {} - - if (input.requestId !== undefined) { - requestBody.requestId = input.requestId; - } - - if (input.password !== undefined) { - let shasum = createHash('sha1'); - shasum.update(input.password); - const passwordHash = shasum.digest('hex'); - requestBody.passwordHash = passwordHash; - } - requestBody.bruteForce = input.bruteForce; - requestBody.email = input.email; - requestBody.phoneNumber = input.phoneNumber; - requestBody.actionType = input.actionType; - - let response = await axios.post(ANOMALY_DETECTION_API_URL, requestBody); - - let responseData = response.data; - if (!responseData.bruteForce.result) { - return { - status: "GENERAL_ERROR", - message: "Too many requests. Please try again later." - } - } - - if (responseData.isPasswordBreached) { - return { - status: "GENERAL_ERROR", - message: "This password has been detected in a breach. Please set a different password." - } - } - - return undefined; -} -``` - -### Overrides {#overrides} +## Example integration code {#examples} Here are a few examples of full implementations of the anomaly detection: -#### Email and password +### Email and password @@ -321,7 +372,8 @@ import axios from "axios"; import { createHash } from 'crypto'; const API_KEY = ""; // Your secret API key that you received from the SuperTokens team -const ANOMALY_DETECTION_API_URL = "https://security-us-east-1.aws.supertokens.io/v1/security"; +// The full URL with the correct region will be provided by the SuperTokens team +const ANOMALY_DETECTION_API_URL = "https://security-.aws.supertokens.io/v1/security"; async function handleSecurityChecks(input: { actionType?: string, @@ -329,7 +381,7 @@ async function handleSecurityChecks(input: { phoneNumber?: string, password?: string, requestId?: string, - bruteForce?: { + bruteForceConfig?: { keyStr: string, maxRequests: { limit: number, @@ -365,7 +417,7 @@ async function handleSecurityChecks(input: { const passwordHash = shasum.digest('hex'); requestBody.passwordHash = passwordHash; } - requestBody.bruteForce = input.bruteForce; + requestBody.bruteForce = input.bruteForceConfig; requestBody.email = input.email; requestBody.phoneNumber = input.phoneNumber; requestBody.actionType = input.actionType; @@ -373,47 +425,68 @@ async function handleSecurityChecks(input: { let response = await axios.post(ANOMALY_DETECTION_API_URL, requestBody); let responseData = response.data; - if (!responseData.bruteForce.result) { - throw new Error("Too many requests. Please try again later."); + if (responseData.bruteForce.detected) { + return { + status: "GENERAL_ERROR", + message: "Too many requests. Please try again later." + } } - if (responseData.isBreachedPassword) { - // ... your code here ... + if(responseData.requestIdInfo?.isUsingTor) { + return { + status: "GENERAL_ERROR", + message: "Tor activity detected. Please use a regular browser." + } } - if(responseData.isNewDevice) { - // ... your code here ... + if(responseData.requestIdInfo?.vpn?.result) { + return { + status: "GENERAL_ERROR", + message: "VPN activity detected. Please use a regular network." + } } - if(responseData.isImpossibleTravel) { - // ... your code here ... + if (responseData.requestIdInfo?.botDetected) { + return { + status: "GENERAL_ERROR", + message: "Bot activity detected." + } } - if(responseData.numberOfUniqueDevicesForUser) { - // ... your code here ... - } - - if(responseData.requestIdInfo) { - // handle stuff like bot detection, vpn detection, tor detection, etc - // ... your code here ... + if (responseData?.isPasswordBreached) { + return { + status: "GENERAL_ERROR", + message: "This password has been detected in a breach. Please set a different password." + } } - return responseData; + return undefined; } -const getBruteForce = (email: string) => [{ - keyStr: `${email}`, - maxRequests: [ - { - limit: 1, - perTimeIntervalMS: 1000, - }, - { - limit: 100, - perTimeIntervalMS: 60 * 1000 * 60, - } - ] -}]; +function getIpFromRequest(req: Request): string { + let headers: { [key: string]: string } = {}; + for (let key of Object.keys(req.headers)) { + headers[key] = (req as any).headers[key]!; + } + return (req as any).headers['x-forwarded-for'] || "127.0.0.1" +} + +const getBruteForceConfig = (userIdentifier: string, ip: string, prefix?: string) => [ + { + keyStr: `${prefix ? `${prefix}-` : ""}${userIdentifier}`, + maxRequests: [ + { limit: 5, perTimeIntervalMS: 60 * 1000 }, + { limit: 15, perTimeIntervalMS: 60 * 60 * 1000 } + ] + }, + { + keyStr: `${prefix ? `${prefix}-` : ""}${ip}`, + maxRequests: [ + { limit: 5, perTimeIntervalMS: 60 * 1000 }, + { limit: 15, perTimeIntervalMS: 60 * 60 * 1000 } + ] + } +]; // backend @@ -430,61 +503,77 @@ SuperTokens.init({ EmailPassword.init({ // highlight-start override: { - functions: (originalImplementation: APIInterface): APIInterface => { + apis: (originalImplementation) => { return { ...originalImplementation, - signUpPOST: async function (input: any) { - // There is no need to generate a request ID when signing up + signUpPOST: async function (input) { + // We need to generate a request ID in order to detect possible bots, suspicious IP addresses, etc. + const requestId = (await input.options.req.getJSONBody()).requestId; + if(!requestId) { + return { + status: "GENERAL_ERROR", + message: "The request ID is required" + } + } - const bruteForce = getBruteForce(input.email); - // we check the anomaly detection service before calling the original implementation of signUp - let securityCheckResponse = await handleSecurityChecks({ ...input, bruteForce }); - // ... security check code here ... + const ip = getIpFromRequest(input.options.req.original); + let email = input.formFields.filter((f) => f.id === "email")[0].value; + const bruteForceConfig = getBruteForceConfig(email, ip, 'signUp'); + const actionType = 'emailpassword-sign-up'; - // First we call the original implementation of signUp. - let response = await originalImplementation.signUpPOST(input); - if (response.status === "OK") { - // TODO: post password reset logic + // we check the anomaly detection service before calling the original implementation of signUp + let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, email, bruteForceConfig, actionType }); + if(securityCheckResponse !== undefined) { + return securityCheckResponse; } - return response; + return originalImplementation.signUpPOST!(input); }, - signInPOST: async function (input: any) { - // We need to generate a request ID when signing in order to detect possible bots, suspicious IP addresses, etc. + signInPOST: async function (input) { + // We need to generate a request ID in order to detect possible bots, suspicious IP addresses, etc. const requestId = (await input.options.req.getJSONBody()).requestId; if(!requestId) { - // make sure to throw an error or correctly handle this error case - throw new Error("requestId is required"); + return { + status: "GENERAL_ERROR", + message: "The request ID is required" + } } - const bruteForce = getBruteForce(input.email); - // we check the anomaly detection service before calling the original implementation of signUp - let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, bruteForce }); - // ... security check code here ... + const ip = getIpFromRequest(input.options.req.original); + let email = input.formFields.filter((f) => f.id === "email")[0].value; + const bruteForceConfig = getBruteForceConfig(email, ip, 'signIn'); + const actionType = 'emailpassword-sign-in'; - // First we call the original implementation of signIn. - let response = await originalImplementation.signInPOST(input); - if (response.status === "OK") { - // TODO: post password reset logic + // we check the anomaly detection service before calling the original implementation of signIn + let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, email, bruteForceConfig, actionType }); + if(securityCheckResponse !== undefined) { + return securityCheckResponse; } - return response; + return originalImplementation.signInPOST!(input); }, - passwordResetPOST: async function (input: any) { - // There is no need to generate a request ID when resetting the password + generatePasswordResetTokenPOST: async function (input) { + // We need to generate a request ID in order to detect possible bots, suspicious IP addresses, etc. + const requestId = (await input.options.req.getJSONBody()).requestId; + if(!requestId) { + return { + status: "GENERAL_ERROR", + message: "The request ID is required" + } + } - const bruteForce = getBruteForce(input.email); - // we check the anomaly detection service before calling the original implementation of signUp - let securityCheckResponse = await handleSecurityChecks({ ...input, bruteForce }); - // ... security check code here ... + const ip = getIpFromRequest(input.options.req.original); + let email = input.formFields.filter((f) => f.id === "email")[0].value; + const bruteForceConfig = getBruteForceConfig(email, ip, 'passwordReset'); + const actionType = 'send-password-reset-email'; - // First we call the original implementation of passwordReset. - let response = await originalImplementation.passwordResetPOST(input); - if (response.status === "OK") { - // TODO: post password reset logic + // we check the anomaly detection service before calling the original implementation of generatePasswordResetToken + let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, email, bruteForceConfig, actionType }); + if(securityCheckResponse !== undefined) { + return securityCheckResponse; } - return response; + return originalImplementation.generatePasswordResetTokenPOST!(input); } } } @@ -510,14 +599,13 @@ other frameworks -#### Passwordless +### Passwordless ```tsx import SuperTokens from "supertokens-node"; -import Session from "supertokens-node/recipe/session"; import Passwordless from "supertokens-node/recipe/passwordless"; import axios from "axios"; import { createHash } from 'crypto'; @@ -531,7 +619,7 @@ async function handleSecurityChecks(input: { phoneNumber?: string, password?: string, requestId?: string, - bruteForce?: { + bruteForceConfig?: { keyStr: string, maxRequests: { limit: number, @@ -567,7 +655,7 @@ async function handleSecurityChecks(input: { const passwordHash = shasum.digest('hex'); requestBody.passwordHash = passwordHash; } - requestBody.bruteForce = input.bruteForce; + requestBody.bruteForce = input.bruteForceConfig; requestBody.email = input.email; requestBody.phoneNumber = input.phoneNumber; requestBody.actionType = input.actionType; @@ -575,35 +663,68 @@ async function handleSecurityChecks(input: { let response = await axios.post(ANOMALY_DETECTION_API_URL, requestBody); let responseData = response.data; - if (!responseData.bruteForce.result) { - throw new Error("Too many requests. Please try again later."); + if (responseData.bruteForce.detected) { + return { + status: "GENERAL_ERROR", + message: "Too many requests. Please try again later." + } } - if (responseData.isBreachedPassword) { - // ... your code here ... + if(responseData.requestIdInfo?.isUsingTor) { + return { + status: "GENERAL_ERROR", + message: "Tor activity detected. Please use a regular browser." + } } - if(responseData.isNewDevice) { - // ... your code here ... + if(responseData.requestIdInfo?.vpn?.result) { + return { + status: "GENERAL_ERROR", + message: "VPN activity detected. Please use a regular network." + } } - if(responseData.isImpossibleTravel) { - // ... your code here ... + if (responseData.requestIdInfo?.botDetected) { + return { + status: "GENERAL_ERROR", + message: "Bot activity detected." + } } - if(responseData.numberOfUniqueDevicesForUser) { - // ... your code here ... - } - - if(responseData.requestIdInfo) { - // handle stuff like bot detection, vpn detection, tor detection, etc - // ... your code here ... + if (responseData?.isPasswordBreached) { + return { + status: "GENERAL_ERROR", + message: "This password has been detected in a breach. Please set a different password." + } } - return responseData; + return undefined; } +function getIpFromRequest(req: Request): string { + let headers: { [key: string]: string } = {}; + for (let key of Object.keys(req.headers)) { + headers[key] = (req as any).headers[key]!; + } + return (req as any).headers['x-forwarded-for'] || "127.0.0.1" +} +const getBruteForceConfig = (userIdentifier: string, ip: string, prefix?: string) => [ + { + keyStr: `${prefix ? `${prefix}-` : ""}${userIdentifier}`, + maxRequests: [ + { limit: 5, perTimeIntervalMS: 60 * 1000 }, + { limit: 15, perTimeIntervalMS: 60 * 60 * 1000 } + ] + }, + { + keyStr: `${prefix ? `${prefix}-` : ""}${ip}`, + maxRequests: [ + { limit: 5, perTimeIntervalMS: 60 * 1000 }, + { limit: 15, perTimeIntervalMS: 60 * 60 * 1000 } + ] + } +]; SuperTokens.init({ // @ts-ignore @@ -614,56 +735,70 @@ SuperTokens.init({ Passwordless.init({ // ... other customisations ... // highlight-start + contactMethod: "EMAIL_OR_PHONE", + flowType: "USER_INPUT_CODE_AND_MAGIC_LINK", override: { - apis: (originalImplementation: APIInterface): APIInterface => { + apis: (originalImplementation) => { return { ...originalImplementation, - createCodePOST: async function (input: any) { - // We need to have a request ID when creating a code in order to detect possible bots, suspicious IP addresses, etc. + createCodePOST: async function (input) { + // We need to have a request ID in order to detect possible bots, suspicious IP addresses, etc. const requestId = (await input.options.req.getJSONBody()).requestId; if(!requestId) { - // make sure to throw an error or correctly handle this error case - throw new Error("requestId is required"); + return { + status: "GENERAL_ERROR", + message: "The request ID is required" + } } - // ... your code here ... - let session = await Session.getSession(input.options.req, input.options.res, { - overrideGlobalClaimValidators: () => [], - }); - let phoneNumber: string = session.getAccessTokenPayload().phoneNumber; + const ip = getIpFromRequest(input.options.req.original); + const emailOrPhoneNumber = "email" in input ? input.email : input.phoneNumber; + const bruteForceConfig = getBruteForceConfig(emailOrPhoneNumber, ip, 'createCode'); + const actionType = 'passwordless-send-sms'; // we check the anomaly detection service before calling the original implementation of signUp - let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, phoneNumber }); - // ... security check code here ... + let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, bruteForceConfig, actionType }); + if(securityCheckResponse !== undefined) { + return securityCheckResponse; + } - return originalImplementation.createCodePOST(input); + return originalImplementation.createCodePOST!(input); }, - resendCodePOST: async function (input: any) { - // We need to have a request ID when resending the code in order to detect possible bots, suspicious IP addresses, etc. + resendCodePOST: async function (input) { + // We need to have a request ID in order to detect possible bots, suspicious IP addresses, etc. const requestId = (await input.options.req.getJSONBody()).requestId; if(!requestId) { - // make sure to throw an error or correctly handle this error case - throw new Error("requestId is required"); + return { + status: "GENERAL_ERROR", + message: "The request ID is required" + } } - // ... your code here ... - let session = await Session.getSession(input.options.req, input.options.res, { - overrideGlobalClaimValidators: () => [], - }); - let phoneNumber: string = session.getAccessTokenPayload().phoneNumber; + const ip = getIpFromRequest(input.options.req.original); + let codesInfo = await Passwordless.listCodesByPreAuthSessionId({ + tenantId: input.tenantId, + preAuthSessionId: input.preAuthSessionId + }) + const phoneNumber = codesInfo && "phoneNumber" in codesInfo ? codesInfo.phoneNumber : undefined; + const email = codesInfo && "email" in codesInfo ? codesInfo.email : undefined; + const userIdentifier = email || phoneNumber || input.deviceId; + + const bruteForceConfig = getBruteForceConfig(userIdentifier, ip, 'resendCode'); + const actionType = 'passwordless-send-sms'; // we check the anomaly detection service before calling the original implementation of signUp - let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, phoneNumber }); - // ... security check code here ... + let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, phoneNumber, email, bruteForceConfig, actionType }); + if(securityCheckResponse !== undefined) { + return securityCheckResponse; + } - return originalImplementation.resendCodePOST(input); + return originalImplementation.resendCodePOST!(input); }, }; }, }, // highlight-end }), - Session.init({ /* ... */ }) ] }) ``` @@ -681,3 +816,21 @@ python other frameworks + + +### Third party + +It's important to note that anomaly detection is not recommended for use with third-party providers. There are several reasons for this: + +1. **Existing anomaly detection**: Most reputable third-party authentication providers (like Google, Facebook, Apple, etc.) have robust security measures in place, including their own anomaly detection systems. These systems are typically more comprehensive and tailored to their specific platforms. + +2. **Cost considerations**: Implementing additional anomaly detection on top of third-party authentication can lead to unnecessary costs. You'd essentially be paying for a service that's already being provided by the third-party, resulting in redundant expenditure. + +3. **Limited visibility**: When using third-party authentication, you have limited visibility into the authentication process. This makes it difficult to accurately detect anomalies or suspicious activities that occur on the third-party's side. + +4. **Potential false positives**: Applying anomaly detection to third-party logins might lead to an increase in false positives, as you don't have full context of the user's interactions with the third-party provider. + +5. **User experience**: Additional security checks on top of third-party authentication could negatively impact the user experience, potentially defeating the purpose of offering third-party login as a convenient option. + +For these reasons, it's generally best to rely on the security measures provided by the third-party authentication providers themselves when offering this login option to your users. + diff --git a/v2/anomalydetection/enabling.mdx b/v2/anomalydetection/enabling.mdx new file mode 100644 index 000000000..9ce142ebb --- /dev/null +++ b/v2/anomalydetection/enabling.mdx @@ -0,0 +1,18 @@ +--- +sidebar_position: 1 +title: Enabling the feature +hide_title: true +--- + +import CustomAdmonition from "/src/components/customAdmonition" + +# Enabling the feature + +This feature is **currently in beta**. In order to get access to this feature, please reach out to us at team@supertokens.com to get it setup for you. + +Once you have access to the feature, you will receive from us: +- **Public API key** - this will be used on your frontend for generating request IDs +- **Service access key** - this will be used on your backend for making requests to our anomaly detection API +- **Environment ID** - this will be used for identifying the environment you are using both on the backend and the frontend + + diff --git a/v2/anomalydetection/frontend-setup.mdx b/v2/anomalydetection/frontend-setup.mdx index fd6e10e10..629607808 100644 --- a/v2/anomalydetection/frontend-setup.mdx +++ b/v2/anomalydetection/frontend-setup.mdx @@ -16,14 +16,19 @@ This frontend setup is required only for bot detection and anomaly IP based dete In order to generate a request ID, you need to import and initialise the SDK using your public API key. This SDK is used to generate a unique request ID for each authentication event attempt. +:::important +When calling the `get` function of the SDK, you need to pass the `environmentId` as a tag. This is used to identify the environment in which the request ID is being generated. +::: + Below is an example of how to implement request ID generation on your frontend: ```tsx const API_KEY = ""; // Your public API key that you received from the SuperTokens team const SDK_URL = "https://supertokens.io/JfNbWqtXUiGYuTqb/PYmK3PIPqdvHw6iz"; +const ENVIRONMENT_ID = ""; // Your environment ID that you received from the SuperTokens team -const supertokensDeviceIdPromise = import(SDK_URL + "?apiKey=" + API_KEY).then((RequestId: any) => RequestId.load({ +const supertokensAnomalyDetectionSdkPromise = import(SDK_URL + "?apiKey=" + API_KEY).then((RequestId: any) => RequestId.load({ endpoint: [ SDK_URL, RequestId.defaultEndpoint @@ -31,8 +36,12 @@ const supertokensDeviceIdPromise = import(SDK_URL + "?apiKey=" + API_KEY).then(( })); async function getRequestId() { - const deviceId = await supertokensDeviceIdPromise; - const result = await deviceId.get(); + const sdk = await supertokensAnomalyDetectionSdkPromise; + const result = await sdk.get({ + tag: { + environmentId: ENVIRONMENT_ID, + } + }); return result.requestId; } ``` @@ -51,8 +60,9 @@ import EmailPassword from "supertokens-auth-react/recipe/emailpassword"; const API_KEY = ""; // Your public API key that you received from the SuperTokens team const SDK_URL = "https://supertokens.io/JfNbWqtXUiGYuTqb/PYmK3PIPqdvHw6iz"; +const ENVIRONMENT_ID = ""; // Your environment ID that you received from the SuperTokens team -const supertokensDeviceIdPromise = import(SDK_URL + "?apiKey=" + API_KEY).then((RequestId: any) => RequestId.load({ +const supertokensRequestIdPromise = import(SDK_URL + "?apiKey=" + API_KEY).then((RequestId: any) => RequestId.load({ endpoint: [ SDK_URL, RequestId.defaultEndpoint @@ -61,39 +71,43 @@ const supertokensDeviceIdPromise = import(SDK_URL + "?apiKey=" + API_KEY).then(( async function getRequestId() { const requestId = await supertokensRequestIdPromise; - const result = await requestId.get(); + const result = await requestId.get({ + tag: { + environmentId: ENVIRONMENT_ID, + } + }); return result.requestId; } export const SuperTokensConfig = { // ... other config options appInfo: { - appName: "SuperTokens Demo App", - apiDomain: 'your-api-domain.com', - websiteDomain: 'your-website-domain.com', + appName: "...", + apiDomain: '...', + websiteDomain: '...', }, // recipeList contains all the modules that you want to // use from SuperTokens. See the full list here: https://supertokens.com/docs/guides recipeList: [ EmailPassword.init({ // highlight-start - override: { - functions: (originalImplementation: RecipeInterface): RecipeInterface => { - return { - ...originalImplementation, - - // we will only be overriding what happens when a user - // clicks the sign in button. - signIn: async function (input: any) { - // TODO: some custom logic - let requestId = await getRequestId(); - // or call the default behaviour as show below - return originalImplementation.signIn({ ...input, requestId }); - }, - // ... - // TODO: override more functions + preAPIHook: async (context) => { + let url = context.url; + let requestInit = context.requestInit; + + let action = context.action; + if (action === "EMAIL_PASSWORD_SIGN_IN" || action === "EMAIL_PASSWORD_SIGN_UP" || action === "SEND_RESET_PASSWORD_EMAIL") { + let requestId = await getRequestId(); + let body = context.requestInit.body; + if (body !== undefined) { + let bodyJson = JSON.parse(body as string); + bodyJson.requestId = requestId; + requestInit.body = JSON.stringify(bodyJson); } } + return { + requestInit, url + }; } // highlight-end }), diff --git a/v2/anomalydetection/introduction.mdx b/v2/anomalydetection/introduction.mdx index 0301d1c4f..36dea65a1 100644 --- a/v2/anomalydetection/introduction.mdx +++ b/v2/anomalydetection/introduction.mdx @@ -11,7 +11,7 @@ import CustomAdmonition from "/src/components/customAdmonition" SuperTokens Anomaly Detection is a powerful security feature designed to identify and prevent suspicious activities in authentication and user sessions. It leverages various detection methods to enhance the security of your application. :::important -This feature is **currently in beta**. In order to get access to this feature, please reach out to us at team@supertokens.com to get it setup for you. +This feature is **currently in beta** and not enabled by default. You can find out how to enable this feature [here](/docs/anomalydetection/enabling). ::: ## Features @@ -50,7 +50,3 @@ By leveraging these advanced detection methods, SuperTokens Anomaly Detection si Below is an high level overview of how this works: Anomaly detection flow - -Once our team sets this up for you, you will receive from us: -- **Public API key** - this will be used on your frontend for generating request IDs -- **Service access key** - this will be used on your backend for making requests to our anomaly detection API diff --git a/v2/anomalydetection/sidebars.js b/v2/anomalydetection/sidebars.js index e3c9d3db3..f4880147c 100644 --- a/v2/anomalydetection/sidebars.js +++ b/v2/anomalydetection/sidebars.js @@ -1,3 +1,3 @@ module.exports = { - sidebar: ["introduction", "frontend-setup", "backend-setup"], + sidebar: ["introduction", "enabling", "frontend-setup", "backend-setup"], }; From 45a09a70fd9ed0aaba75e53bd1f69a6c5ae52ce1 Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Fri, 6 Sep 2024 15:43:02 +0300 Subject: [PATCH 16/27] type fixes --- v2/anomalydetection/backend-setup.mdx | 39 ++++++++++++++++----------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index ae9514884..8a27550f4 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -243,7 +243,7 @@ The request body is a JSON object that contains the following properties (all fi - `bruteForce`: An array of brute force checks that have been configured on the frontend. ```tsx type BruteForceCheck = { - keyStr: string; // the key against which the the brute force check is being performed. This should be unique for each user (i.e. email, phone number, ip, etc. ) + key: string; // the key against which the the brute force check is being performed. This should be unique for each user (i.e. email, phone number, ip, etc. ) maxRequests: { limit: number; // the maximum number of requests allowed within the time interval perTimeIntervalMS: number; // the time interval in milliseconds within which the maximum number of requests is allowed @@ -264,7 +264,7 @@ const userEmail = "user@email.com"; // this should be the user's email // 1. 1 request per second - fast rate of requests // 2. 100 requests per 60 minutes - slow brute force - some attackers might try sidestepping the regular brute force detection by using a slower rate of requests const checkUserInSameNetwork = [{ - keyStr: `${userIp}-${userEmail}`, + key: `${userIp}-${userEmail}`, maxRequests: [ { limit: 1, @@ -285,7 +285,7 @@ const userIp = "127.0.0.1"; // this should be the user's IP address // Useful for limiting requests from the same network // This should usually have a higher number of requests/time interval allowed const checkNetwork = [{ - keyStr: `${userIp}`, + key: `${userIp}`, maxRequests: [ { limit: 100, @@ -300,7 +300,7 @@ const userEmail = "user@email.com"; // this should be the user's email // Useful for limiting requests for the user only const checkUserOnly = [{ - keyStr: `${userEmail}`, + key: `${userEmail}`, maxRequests: [ { limit: 1, @@ -317,7 +317,7 @@ const userEmail = "user@email.com"; // this should be the user's email // Checking by multiple keys at once const checkUserOnly = [ { - keyStr: `${userEmail}-${userIp}`, + key: `${userEmail}-${userIp}`, maxRequests: [ { limit: 1, @@ -330,7 +330,7 @@ const checkUserOnly = [ ] }, { - keyStr: `${userIp}`, + key: `${userIp}`, maxRequests: [ { limit: 100, @@ -382,7 +382,7 @@ async function handleSecurityChecks(input: { password?: string, requestId?: string, bruteForceConfig?: { - keyStr: string, + key: string, maxRequests: { limit: number, perTimeIntervalMS: number @@ -399,7 +399,7 @@ async function handleSecurityChecks(input: { requestId?: string; passwordHash?: string; bruteForce?: { - keyStr: string; + key: string; maxRequests: { limit: number; perTimeIntervalMS: number; @@ -473,14 +473,14 @@ function getIpFromRequest(req: Request): string { const getBruteForceConfig = (userIdentifier: string, ip: string, prefix?: string) => [ { - keyStr: `${prefix ? `${prefix}-` : ""}${userIdentifier}`, + key: `${prefix ? `${prefix}-` : ""}${userIdentifier}`, maxRequests: [ { limit: 5, perTimeIntervalMS: 60 * 1000 }, { limit: 15, perTimeIntervalMS: 60 * 60 * 1000 } ] }, { - keyStr: `${prefix ? `${prefix}-` : ""}${ip}`, + key: `${prefix ? `${prefix}-` : ""}${ip}`, maxRequests: [ { limit: 5, perTimeIntervalMS: 60 * 1000 }, { limit: 15, perTimeIntervalMS: 60 * 60 * 1000 } @@ -586,7 +586,16 @@ SuperTokens.init({ -go + +```go +package main + +const ( + API_KEY = "" // Your secret API key that you received from the SuperTokens team + ANOMALY_DETECTION_API_URL = "https://security-.aws.supertokens.io/v1/security" +) +``` + @@ -620,7 +629,7 @@ async function handleSecurityChecks(input: { password?: string, requestId?: string, bruteForceConfig?: { - keyStr: string, + key: string, maxRequests: { limit: number, perTimeIntervalMS: number @@ -637,7 +646,7 @@ async function handleSecurityChecks(input: { requestId?: string; passwordHash?: string; bruteForce?: { - keyStr: string; + key: string; maxRequests: { limit: number; perTimeIntervalMS: number; @@ -711,14 +720,14 @@ function getIpFromRequest(req: Request): string { const getBruteForceConfig = (userIdentifier: string, ip: string, prefix?: string) => [ { - keyStr: `${prefix ? `${prefix}-` : ""}${userIdentifier}`, + key: `${prefix ? `${prefix}-` : ""}${userIdentifier}`, maxRequests: [ { limit: 5, perTimeIntervalMS: 60 * 1000 }, { limit: 15, perTimeIntervalMS: 60 * 60 * 1000 } ] }, { - keyStr: `${prefix ? `${prefix}-` : ""}${ip}`, + key: `${prefix ? `${prefix}-` : ""}${ip}`, maxRequests: [ { limit: 5, perTimeIntervalMS: 60 * 1000 }, { limit: 15, perTimeIntervalMS: 60 * 60 * 1000 } From 5a7a9ebab5ea74a7e89cdcb413b04bb00a174151 Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Mon, 9 Sep 2024 09:38:59 +0300 Subject: [PATCH 17/27] added golang snippets --- v2/anomalydetection/backend-setup.mdx | 691 +++++++++++++++++++++++++- 1 file changed, 684 insertions(+), 7 deletions(-) diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index 8a27550f4..8436042ae 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -218,7 +218,41 @@ Below is an example of how to retrieve the request ID from the input body: -go + +```go +import ( + "encoding/json" + + "github.com/supertokens/supertokens-golang/recipe/emailpassword/epmodels" + "github.com/supertokens/supertokens-golang/supertokens" +) + +type ReqBody struct { + RequestID string `json:"requestId"` +} + +func signInPOST(formFields []epmodels.TypeFormField, tenantId string, options epmodels.APIOptions, userContext supertokens.UserContext) (epmodels.SignInPOSTResponse, error) { + // ... your code here ... + var reqBody ReqBody + err := json.NewDecoder(options.Req.Body).Decode(&reqBody) + if err != nil { + return epmodels.SignInPOSTResponse{}, err + } + + requestId := reqBody.RequestID + if requestId == "" { + return epmodels.SignInPOSTResponse{ + GeneralError: &supertokens.GeneralErrorResponse{ + Message: "The request ID is required", + }, + }, nil + } + // ... your code here ... + + return epmodels.SignInPOSTResponse{}, nil +} +``` + @@ -588,12 +622,368 @@ SuperTokens.init({ ```go -package main - -const ( - API_KEY = "" // Your secret API key that you received from the SuperTokens team - ANOMALY_DETECTION_API_URL = "https://security-.aws.supertokens.io/v1/security" +import ( + "bytes" + "crypto/sha1" + "encoding/hex" + "encoding/json" + "net/http" + + "github.com/supertokens/supertokens-golang/recipe/emailpassword" + "github.com/supertokens/supertokens-golang/recipe/emailpassword/epmodels" + "github.com/supertokens/supertokens-golang/supertokens" ) + +const API_KEY = "" // Your secret API key that you received from the SuperTokens team +// The full URL with the correct region will be provided by the SuperTokens team +const ANOMALY_DETECTION_API_URL = "https://security-.aws.supertokens.io/v1/security" + +type SecurityCheckInput struct { + ActionType string `json:"actionType,omitempty"` + Email string `json:"email,omitempty"` + PhoneNumber string `json:"phoneNumber,omitempty"` + Password string `json:"password,omitempty"` + RequestID string `json:"requestId,omitempty"` + BruteForceConfig []BruteForceConfig `json:"bruteForceConfig,omitempty"` +} + +type BruteForceConfig struct { + Key string `json:"key"` + MaxRequests []MaxRequests `json:"maxRequests"` +} + +type MaxRequests struct { + Limit int `json:"limit"` + PerTimeIntervalMS int `json:"perTimeIntervalMS"` +} + +type ReqBody struct { + RequestID string `json:"requestId"` +} + +func getIpFromRequest(req *http.Request) string { + if forwardedFor := req.Header.Get("X-Forwarded-For"); forwardedFor != "" { + return forwardedFor + } + return "127.0.0.1" +} + +func getBruteForceConfig(userIdentifier string, ip string, prefix string) []BruteForceConfig { + var key string + if prefix != "" { + key = prefix + "-" + } + + return []BruteForceConfig{ + { + Key: key + userIdentifier, + MaxRequests: []MaxRequests{ + {Limit: 5, PerTimeIntervalMS: 60 * 1000}, + {Limit: 15, PerTimeIntervalMS: 60 * 60 * 1000}, + }, + }, + { + Key: key + ip, + MaxRequests: []MaxRequests{ + {Limit: 5, PerTimeIntervalMS: 60 * 1000}, + {Limit: 15, PerTimeIntervalMS: 60 * 60 * 1000}, + }, + }, + } +} + +func handleSecurityChecks(input SecurityCheckInput) (*supertokens.GeneralErrorResponse, error) { + requestBody := make(map[string]interface{}) + + if input.RequestID != "" { + requestBody["requestId"] = input.RequestID + } + + if input.Password != "" { + hash := sha1.New() + hash.Write([]byte(input.Password)) + passwordHash := hex.EncodeToString(hash.Sum(nil)) + requestBody["passwordHash"] = passwordHash + } + + requestBody["bruteForce"] = input.BruteForceConfig + requestBody["email"] = input.Email + requestBody["phoneNumber"] = input.PhoneNumber + requestBody["actionType"] = input.ActionType + + jsonBody, err := json.Marshal(requestBody) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("POST", ANOMALY_DETECTION_API_URL, bytes.NewBuffer(jsonBody)) + if err != nil { + return nil, err + } + + req.Header.Set("Content-Type", "application/json") + req.Header.Set("api-key", API_KEY) + + client := &http.Client{} + resp, err := client.Do(req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + + var responseData map[string]interface{} + err = json.NewDecoder(resp.Body).Decode(&responseData) + if err != nil { + return nil, err + } + + if bruteForce, ok := responseData["bruteForce"].(map[string]interface{}); ok { + if detected, ok := bruteForce["detected"].(bool); ok && detected { + return &supertokens.GeneralErrorResponse{ + Message: "Too many requests. Please try again later.", + }, nil + } + } + + if requestIdInfo, ok := responseData["requestIdInfo"].(map[string]interface{}); ok { + if isUsingTor, ok := requestIdInfo["isUsingTor"].(bool); ok && isUsingTor { + return &supertokens.GeneralErrorResponse{ + Message: "Tor activity detected. Please use a regular browser.", + }, nil + } + + if vpn, ok := requestIdInfo["vpn"].(map[string]interface{}); ok { + if result, ok := vpn["result"].(bool); ok && result { + return &supertokens.GeneralErrorResponse{ + Message: "VPN activity detected. Please use a regular network.", + }, nil + } + } + + if botDetected, ok := requestIdInfo["botDetected"].(bool); ok && botDetected { + return &supertokens.GeneralErrorResponse{ + Message: "Bot activity detected.", + }, nil + } + } + + if isPasswordBreached, ok := responseData["isPasswordBreached"].(bool); ok && isPasswordBreached { + return &supertokens.GeneralErrorResponse{ + Message: "This password has been detected in a breach. Please set a different password.", + }, nil + } + + return nil, nil +} + +func main() { + supertokens.Init(supertokens.TypeInput{ + RecipeList: []supertokens.Recipe{ + emailpassword.Init(&epmodels.TypeInput{ + Override: &epmodels.OverrideStruct{ + APIs: func(originalImplementation epmodels.APIInterface) epmodels.APIInterface { + // rewrite the original implementation of SignUpPOST + originalSignUpPOST := *originalImplementation.SignUpPOST + (*originalImplementation.SignUpPOST) = func(formFields []epmodels.TypeFormField, tenantId string, options epmodels.APIOptions, userContext supertokens.UserContext) (epmodels.SignUpPOSTResponse, error) { + // Generate request ID for bot and suspicious IP detection + var reqBody ReqBody + err := json.NewDecoder(options.Req.Body).Decode(&reqBody) + if err != nil { + return epmodels.SignUpPOSTResponse{}, err + } + + requestId := reqBody.RequestID + if requestId == "" { + return epmodels.SignUpPOSTResponse{ + GeneralError: &supertokens.GeneralErrorResponse{ + Message: "The request ID is required", + }, + }, nil + } + + ip := getIpFromRequest(options.Req) + email := "" + password := "" + for _, field := range formFields { + if field.ID == "email" { + email = field.Value + break + } + if field.ID == "password" { + password = field.Value + break + } + } + bruteForceConfig := getBruteForceConfig(email, ip, "signUp") + actionType := "emailpassword-sign-up" + + // Check anomaly detection service before proceeding + checkErr, err := handleSecurityChecks( + SecurityCheckInput{ + ActionType: actionType, + Email: email, + RequestID: requestId, + BruteForceConfig: bruteForceConfig, + Password: password, + }, + ) + if err != nil { + return epmodels.SignUpPOSTResponse{}, err + } + + if checkErr != nil { + return epmodels.SignUpPOSTResponse{ + GeneralError: checkErr, + }, nil + } + + // pre API logic... + resp, err := originalSignUpPOST(formFields, tenantId, options, userContext) + if err != nil { + return epmodels.SignUpPOSTResponse{}, err + } + + return resp, nil + } + + // rewrite the original implementation of SignInPOST + originalSignInPOST := *originalImplementation.SignInPOST + (*originalImplementation.SignInPOST) = func(formFields []epmodels.TypeFormField, tenantId string, options epmodels.APIOptions, userContext supertokens.UserContext) (epmodels.SignInPOSTResponse, error) { + // Generate request ID for bot and suspicious IP detection + var reqBody ReqBody + err := json.NewDecoder(options.Req.Body).Decode(&reqBody) + if err != nil { + return epmodels.SignInPOSTResponse{}, err + } + + requestId := reqBody.RequestID + if requestId == "" { + return epmodels.SignInPOSTResponse{ + GeneralError: &supertokens.GeneralErrorResponse{ + Message: "The request ID is required", + }, + }, nil + } + + ip := getIpFromRequest(options.Req) + email := "" + password := "" + for _, field := range formFields { + if field.ID == "email" { + email = field.Value + break + } + if field.ID == "password" { + password = field.Value + break + } + } + bruteForceConfig := getBruteForceConfig(email, ip, "signIn") + actionType := "emailpassword-sign-in" + + // Check anomaly detection service before proceeding + checkErr, err := handleSecurityChecks( + SecurityCheckInput{ + ActionType: actionType, + Email: email, + RequestID: requestId, + BruteForceConfig: bruteForceConfig, + Password: password, + }, + ) + if err != nil { + return epmodels.SignInPOSTResponse{}, err + } + + if checkErr != nil { + return epmodels.SignInPOSTResponse{ + GeneralError: checkErr, + }, nil + } + + // pre API logic... + resp, err := originalSignInPOST(formFields, tenantId, options, userContext) + if err != nil { + return epmodels.SignInPOSTResponse{}, err + } + + return resp, nil + } + + // rewrite the original implementation of SignInPOST + originalGeneratePasswordResetTokenPOST := *originalImplementation.GeneratePasswordResetTokenPOST + (*originalImplementation.GeneratePasswordResetTokenPOST) = func(formFields []epmodels.TypeFormField, tenantId string, options epmodels.APIOptions, userContext supertokens.UserContext) (epmodels.GeneratePasswordResetTokenPOSTResponse, error) { + // Generate request ID for bot and suspicious IP detection + var reqBody ReqBody + err := json.NewDecoder(options.Req.Body).Decode(&reqBody) + if err != nil { + return epmodels.GeneratePasswordResetTokenPOSTResponse{}, err + } + + requestId := reqBody.RequestID + if requestId == "" { + return epmodels.GeneratePasswordResetTokenPOSTResponse{ + GeneralError: &supertokens.GeneralErrorResponse{ + Message: "The request ID is required", + }, + }, nil + } + + ip := getIpFromRequest(options.Req) + email := "" + password := "" + for _, field := range formFields { + if field.ID == "email" { + email = field.Value + break + } + if field.ID == "password" { + password = field.Value + break + } + } + bruteForceConfig := getBruteForceConfig(email, ip, "signIn") + actionType := "send-password-reset-email" + + // Check anomaly detection service before proceeding + checkErr, err := handleSecurityChecks( + SecurityCheckInput{ + ActionType: actionType, + Email: email, + RequestID: requestId, + BruteForceConfig: bruteForceConfig, + Password: password, + }, + ) + if err != nil { + return epmodels.GeneratePasswordResetTokenPOSTResponse{}, err + } + + if checkErr != nil { + return epmodels.GeneratePasswordResetTokenPOSTResponse{ + GeneralError: checkErr, + }, nil + } + + // pre API logic... + resp, err := originalGeneratePasswordResetTokenPOST(formFields, tenantId, options, userContext) + if err != nil { + return epmodels.GeneratePasswordResetTokenPOSTResponse{}, err + } + + return resp, nil + } + + return originalImplementation + }, + Functions: func(originalImplementation epmodels.RecipeInterface) epmodels.RecipeInterface { + return originalImplementation + }, + }, + }), + }, + }) +} ``` @@ -814,7 +1204,294 @@ SuperTokens.init({ -go + +```go +import ( + "bytes" + "crypto/sha1" + "encoding/hex" + "encoding/json" + "net/http" + + "github.com/supertokens/supertokens-golang/recipe/passwordless" + "github.com/supertokens/supertokens-golang/recipe/passwordless/plessmodels" + "github.com/supertokens/supertokens-golang/supertokens" +) + +const API_KEY = "" // Your secret API key that you received from the SuperTokens team +// The full URL with the correct region will be provided by the SuperTokens team +const ANOMALY_DETECTION_API_URL = "https://security-.aws.supertokens.io/v1/security" + +type SecurityCheckInput struct { + ActionType string `json:"actionType,omitempty"` + Email string `json:"email,omitempty"` + PhoneNumber string `json:"phoneNumber,omitempty"` + Password string `json:"password,omitempty"` + RequestID string `json:"requestId,omitempty"` + BruteForceConfig []BruteForceConfig `json:"bruteForceConfig,omitempty"` +} + +type BruteForceConfig struct { + Key string `json:"key"` + MaxRequests []MaxRequests `json:"maxRequests"` +} + +type MaxRequests struct { + Limit int `json:"limit"` + PerTimeIntervalMS int `json:"perTimeIntervalMS"` +} + +type ReqBody struct { + RequestID string `json:"requestId"` +} + +func getIpFromRequest(req *http.Request) string { + if forwardedFor := req.Header.Get("X-Forwarded-For"); forwardedFor != "" { + return forwardedFor + } + return "127.0.0.1" +} + +func getBruteForceConfig(userIdentifier string, ip string, prefix string) []BruteForceConfig { + var key string + if prefix != "" { + key = prefix + "-" + } + + return []BruteForceConfig{ + { + Key: key + userIdentifier, + MaxRequests: []MaxRequests{ + {Limit: 5, PerTimeIntervalMS: 60 * 1000}, + {Limit: 15, PerTimeIntervalMS: 60 * 60 * 1000}, + }, + }, + { + Key: key + ip, + MaxRequests: []MaxRequests{ + {Limit: 5, PerTimeIntervalMS: 60 * 1000}, + {Limit: 15, PerTimeIntervalMS: 60 * 60 * 1000}, + }, + }, + } +} + +func handleSecurityChecks(input SecurityCheckInput) (*supertokens.GeneralErrorResponse, error) { + requestBody := make(map[string]interface{}) + + if input.RequestID != "" { + requestBody["requestId"] = input.RequestID + } + + if input.Password != "" { + hash := sha1.New() + hash.Write([]byte(input.Password)) + passwordHash := hex.EncodeToString(hash.Sum(nil)) + requestBody["passwordHash"] = passwordHash + } + + requestBody["bruteForce"] = input.BruteForceConfig + requestBody["email"] = input.Email + requestBody["phoneNumber"] = input.PhoneNumber + requestBody["actionType"] = input.ActionType + + jsonBody, err := json.Marshal(requestBody) + if err != nil { + return nil, err + } + + req, err := http.NewRequest("POST", ANOMALY_DETECTION_API_URL, bytes.NewBuffer(jsonBody)) + if err != nil { + return nil, err + } + + req.Header.Set("Content-Type", "application/json") + req.Header.Set("api-key", API_KEY) + + client := &http.Client{} + resp, err := client.Do(req) + if err != nil { + return nil, err + } + defer resp.Body.Close() + + var responseData map[string]interface{} + err = json.NewDecoder(resp.Body).Decode(&responseData) + if err != nil { + return nil, err + } + + if bruteForce, ok := responseData["bruteForce"].(map[string]interface{}); ok { + if detected, ok := bruteForce["detected"].(bool); ok && detected { + return &supertokens.GeneralErrorResponse{ + Message: "Too many requests. Please try again later.", + }, nil + } + } + + if requestIdInfo, ok := responseData["requestIdInfo"].(map[string]interface{}); ok { + if isUsingTor, ok := requestIdInfo["isUsingTor"].(bool); ok && isUsingTor { + return &supertokens.GeneralErrorResponse{ + Message: "Tor activity detected. Please use a regular browser.", + }, nil + } + + if vpn, ok := requestIdInfo["vpn"].(map[string]interface{}); ok { + if result, ok := vpn["result"].(bool); ok && result { + return &supertokens.GeneralErrorResponse{ + Message: "VPN activity detected. Please use a regular network.", + }, nil + } + } + + if botDetected, ok := requestIdInfo["botDetected"].(bool); ok && botDetected { + return &supertokens.GeneralErrorResponse{ + Message: "Bot activity detected.", + }, nil + } + } + + if isPasswordBreached, ok := responseData["isPasswordBreached"].(bool); ok && isPasswordBreached { + return &supertokens.GeneralErrorResponse{ + Message: "This password has been detected in a breach. Please set a different password.", + }, nil + } + + return nil, nil +} + +func main() { + supertokens.Init(supertokens.TypeInput{ + RecipeList: []supertokens.Recipe{ + passwordless.Init(plessmodels.TypeInput{ + FlowType: "USER_INPUT_CODE", + ContactMethodPhone: plessmodels.ContactMethodPhoneConfig{ + Enabled: true, + }, + Override: &plessmodels.OverrideStruct{ + APIs: func(originalImplementation plessmodels.APIInterface) plessmodels.APIInterface { + originalCreateCodePOST := *originalImplementation.CreateCodePOST + (*originalImplementation.CreateCodePOST) = func(email *string, phoneNumber *string, tenantId string, options plessmodels.APIOptions, userContext supertokens.UserContext) (plessmodels.CreateCodePOSTResponse, error) { + var reqBody ReqBody + err := json.NewDecoder(options.Req.Body).Decode(&reqBody) + if err != nil { + return plessmodels.CreateCodePOSTResponse{}, err + } + + requestId := reqBody.RequestID + if requestId == "" { + return plessmodels.CreateCodePOSTResponse{ + GeneralError: &supertokens.GeneralErrorResponse{ + Message: "The request ID is required", + }, + }, nil + } + ip := getIpFromRequest(options.Req) + var key string + if email != nil { + key = *email + } else { + key = *phoneNumber + } + bruteForceConfig := getBruteForceConfig(key, ip, "createCode") + actionType := "passwordless-send-sms" + + // Check anomaly detection service before proceeding + checkErr, err := handleSecurityChecks( + SecurityCheckInput{ + ActionType: actionType, + Email: *email, + PhoneNumber: *phoneNumber, + RequestID: requestId, + BruteForceConfig: bruteForceConfig, + }, + ) + if err != nil { + return plessmodels.CreateCodePOSTResponse{}, err + } + + if checkErr != nil { + return plessmodels.CreateCodePOSTResponse{ + GeneralError: checkErr, + }, nil + } + + return originalCreateCodePOST(email, phoneNumber, tenantId, options, userContext) + } + + originalResendCodePOST := *originalImplementation.ResendCodePOST + (*originalImplementation.ResendCodePOST) = func(deviceID string, preAuthSessionID string, tenantId string, options plessmodels.APIOptions, userContext supertokens.UserContext) (plessmodels.ResendCodePOSTResponse, error) { + var reqBody ReqBody + err := json.NewDecoder(options.Req.Body).Decode(&reqBody) + if err != nil { + return plessmodels.ResendCodePOSTResponse{}, err + } + + requestId := reqBody.RequestID + if requestId == "" { + return plessmodels.ResendCodePOSTResponse{ + GeneralError: &supertokens.GeneralErrorResponse{ + Message: "The request ID is required", + }, + }, nil + } + + // retreive user details + codesInfo, err := passwordless.ListCodesByDeviceID(tenantId, deviceID, userContext) + if err != nil { + return plessmodels.ResendCodePOSTResponse{}, err + } + var email *string + var phoneNumber *string + if codesInfo.Email != nil { + email = codesInfo.Email + } + if codesInfo.PhoneNumber != nil { + phoneNumber = codesInfo.PhoneNumber + } + + ip := getIpFromRequest(options.Req) + key := "" + if email != nil { + key = *email + } else { + key = *phoneNumber + } + bruteForceConfig := getBruteForceConfig(key, ip, "createCode") + actionType := "passwordless-send-sms" + + // Check anomaly detection service before proceeding + checkErr, err := handleSecurityChecks( + SecurityCheckInput{ + ActionType: actionType, + Email: *email, + PhoneNumber: *phoneNumber, + RequestID: requestId, + BruteForceConfig: bruteForceConfig, + }, + ) + if err != nil { + return plessmodels.ResendCodePOSTResponse{}, err + } + + if checkErr != nil { + return plessmodels.ResendCodePOSTResponse{ + GeneralError: checkErr, + }, nil + } + + return originalResendCodePOST(deviceID, preAuthSessionID, tenantId, options, userContext) + } + + return originalImplementation + }, + }, + }), + }, + }) +} +``` + From 299cdd282819400783b64f412e6c7e6ffddbca2a Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Mon, 9 Sep 2024 16:35:09 +0300 Subject: [PATCH 18/27] added python snippets --- v2/anomalydetection/backend-setup.mdx | 438 ++++++++++++++++++++++++-- 1 file changed, 410 insertions(+), 28 deletions(-) diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index 8436042ae..41c3018a9 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -256,7 +256,20 @@ func signInPOST(formFields []epmodels.TypeFormField, tenantId string, options ep -python + +```python +from supertokens_python.recipe.emailpassword.interfaces import APIOptions +from supertokens_python.types import GeneralErrorResponse + +async def sign_in_post(api_options: APIOptions): + request_body = await api_options.request.json() + if not request_body: + return GeneralErrorResponse(message="The request body is required") + + request_id = request_body.get("requestId") + return request_id +``` + @@ -550,10 +563,10 @@ SuperTokens.init({ } } + const actionType = 'emailpassword-sign-up'; const ip = getIpFromRequest(input.options.req.original); let email = input.formFields.filter((f) => f.id === "email")[0].value; - const bruteForceConfig = getBruteForceConfig(email, ip, 'signUp'); - const actionType = 'emailpassword-sign-up'; + const bruteForceConfig = getBruteForceConfig(email, ip, actionType); // we check the anomaly detection service before calling the original implementation of signUp let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, email, bruteForceConfig, actionType }); @@ -573,10 +586,10 @@ SuperTokens.init({ } } + const actionType = 'emailpassword-sign-in'; const ip = getIpFromRequest(input.options.req.original); let email = input.formFields.filter((f) => f.id === "email")[0].value; - const bruteForceConfig = getBruteForceConfig(email, ip, 'signIn'); - const actionType = 'emailpassword-sign-in'; + const bruteForceConfig = getBruteForceConfig(email, ip, actionType); // we check the anomaly detection service before calling the original implementation of signIn let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, email, bruteForceConfig, actionType }); @@ -596,9 +609,10 @@ SuperTokens.init({ } } + const actionType = 'send-password-reset-email'; const ip = getIpFromRequest(input.options.req.original); let email = input.formFields.filter((f) => f.id === "email")[0].value; - const bruteForceConfig = getBruteForceConfig(email, ip, 'passwordReset'); + const bruteForceConfig = getBruteForceConfig(email, ip, actionType); const actionType = 'send-password-reset-email'; // we check the anomaly detection service before calling the original implementation of generatePasswordResetToken @@ -801,6 +815,7 @@ func main() { }, nil } + actionType := "emailpassword-sign-up" ip := getIpFromRequest(options.Req) email := "" password := "" @@ -814,8 +829,7 @@ func main() { break } } - bruteForceConfig := getBruteForceConfig(email, ip, "signUp") - actionType := "emailpassword-sign-up" + bruteForceConfig := getBruteForceConfig(email, ip, actionType) // Check anomaly detection service before proceeding checkErr, err := handleSecurityChecks( @@ -865,6 +879,7 @@ func main() { }, nil } + actionType := "emailpassword-sign-in" ip := getIpFromRequest(options.Req) email := "" password := "" @@ -878,8 +893,7 @@ func main() { break } } - bruteForceConfig := getBruteForceConfig(email, ip, "signIn") - actionType := "emailpassword-sign-in" + bruteForceConfig := getBruteForceConfig(email, ip, actionType) // Check anomaly detection service before proceeding checkErr, err := handleSecurityChecks( @@ -929,21 +943,16 @@ func main() { }, nil } + actionType := "send-password-reset-email" ip := getIpFromRequest(options.Req) email := "" - password := "" for _, field := range formFields { if field.ID == "email" { email = field.Value break } - if field.ID == "password" { - password = field.Value - break - } } - bruteForceConfig := getBruteForceConfig(email, ip, "signIn") - actionType := "send-password-reset-email" + bruteForceConfig := getBruteForceConfig(email, ip, actionType) // Check anomaly detection service before proceeding checkErr, err := handleSecurityChecks( @@ -952,7 +961,6 @@ func main() { Email: email, RequestID: requestId, BruteForceConfig: bruteForceConfig, - Password: password, }, ) if err != nil { @@ -989,7 +997,213 @@ func main() { -python + +```python +import requests +from hashlib import sha1 +from typing import Dict, Any, Union, List +from supertokens_python import init, InputAppInfo +from supertokens_python.recipe import emailpassword +from supertokens_python.recipe.emailpassword.interfaces import APIInterface, APIOptions +from supertokens_python.recipe.emailpassword.types import FormField +from supertokens_python.framework import BaseRequest +from supertokens_python.types import GeneralErrorResponse + +API_KEY = "" # Your secret API key that you received from the SuperTokens team +# The full URL with the correct region will be provided by the SuperTokens team +ANOMALY_DETECTION_API_URL = "https://security-.aws.supertokens.io/v1/security" + +async def handle_security_checks(request_id: Union[str, None], password: Union[str, None], brute_force_config: List[Dict[str, Any]], email: Union[str, None], phone_number: Union[str, None], action_type: str): + request_body = {} + + if request_id is not None: + request_body['requestId'] = request_id + + if password is not None: + password_hash = sha1(password.encode()).hexdigest() + request_body['passwordHash'] = password_hash + + request_body['bruteForce'] = brute_force_config + request_body['email'] = email + request_body['phoneNumber'] = phone_number + request_body['actionType'] = action_type + + response = requests.post(ANOMALY_DETECTION_API_URL, json=request_body) + response_data = response.json() + + if response_data.get('bruteForce', {}).get('detected'): + return GeneralErrorResponse(message="Too many requests. Please try again later.") + + if response_data.get('requestIdInfo', {}).get('isUsingTor'): + return GeneralErrorResponse(message="Tor activity detected. Please use a regular browser.") + + if response_data.get('requestIdInfo', {}).get('vpn', {}).get('result'): + return GeneralErrorResponse(message="VPN activity detected. Please use a regular network.") + + if response_data.get('requestIdInfo', {}).get('botDetected'): + return GeneralErrorResponse(message="Bot activity detected.") + + if response_data.get('isPasswordBreached'): + return GeneralErrorResponse(message="This password has been detected in a breach. Please set a different password.") + + return None + + +def get_ip_from_request(req: BaseRequest) -> str: + forwarded_for = req.get_header('x-forwarded-for') + if forwarded_for: + return forwarded_for + return '127.0.0.1' + +def get_brute_force_config(user_identifier: Union[str, None], ip: str, prefix: Union[str, None] = None) -> List[Dict[str, Any]]: + return [ + { + "key": f"{prefix}-{user_identifier}" if prefix else user_identifier, + "maxRequests": [ + {"limit": 5, "perTimeIntervalMS": 60 * 1000}, + {"limit": 15, "perTimeIntervalMS": 60 * 60 * 1000} + ] + }, + { + "key": f"{prefix}-{ip}" if prefix else ip, + "maxRequests": [ + {"limit": 5, "perTimeIntervalMS": 60 * 1000}, + {"limit": 15, "perTimeIntervalMS": 60 * 60 * 1000} + ] + } + ] + +# highlight-start +def override_email_password_apis(original_implementation: APIInterface): + original_sign_up_post = original_implementation.sign_up_post + async def sign_up_post(form_fields: List[FormField], tenant_id: str, api_options: APIOptions, user_context: Dict[str, Any]): + request_body = await api_options.request.json() + if not request_body: + return GeneralErrorResponse(message="The request body is required") + + request_id = request_body.get("requestId") + if not request_id: + return GeneralErrorResponse(message="The request ID is required") + + action_type = 'emailpassword-sign-in' + ip = get_ip_from_request(api_options.request) + email = None + password = None + for field in form_fields: + if field.id == "email": + email = field.value + if field.id == "password": + password = field.value + brute_force_config = get_brute_force_config(email, ip, action_type) + + # we check the anomaly detection service before calling the original implementation of signUp + security_check_response = await handle_security_checks( + request_id=request_id, + password=password, + brute_force_config=brute_force_config, + email=email, + phone_number=None, + action_type=action_type + ) + if security_check_response is not None: + return security_check_response + + # We need to call the original implementation of sign_up_post. + response = await original_sign_up_post(form_fields, tenant_id, api_options, user_context) + + return response + original_implementation.sign_up_post = sign_up_post + + original_sign_in_post = original_implementation.sign_in_post + async def sign_in_post(form_fields: List[FormField], tenant_id: str, api_options: APIOptions, user_context: Dict[str, Any]): + request_body = await api_options.request.json() + if not request_body: + return GeneralErrorResponse(message="The request body is required") + + request_id = request_body.get("requestId") + if not request_id: + return GeneralErrorResponse(message="The request ID is required") + + action_type = 'emailpassword-sign-in' + ip = get_ip_from_request(api_options.request) + email = None + for field in form_fields: + if field.id == "email": + email = field.value + brute_force_config = get_brute_force_config(email, ip, action_type) + + # we check the anomaly detection service before calling the original implementation of signUp + security_check_response = await handle_security_checks( + request_id=request_id, + password=None, + brute_force_config=brute_force_config, + email=email, + phone_number=None, + action_type=action_type + ) + if security_check_response is not None: + return security_check_response + + # We need to call the original implementation of sign_up_post. + response = await original_sign_in_post(form_fields, tenant_id, api_options, user_context) + + return response + original_implementation.sign_in_post = sign_in_post + + original_generate_password_reset_token_post = original_implementation.generate_password_reset_token_post + async def generate_password_reset_token_post(form_fields: List[FormField], tenant_id: str, api_options: APIOptions, user_context: Dict[str, Any]): + request_body = await api_options.request.json() + if not request_body: + return GeneralErrorResponse(message="The request body is required") + + request_id = request_body.get("requestId") + if not request_id: + return GeneralErrorResponse(message="The request ID is required") + + action_type = 'send-password-reset-email' + ip = get_ip_from_request(api_options.request) + email = None + for field in form_fields: + if field.id == "email": + email = field.value + brute_force_config = get_brute_force_config(email, ip, action_type) + + # we check the anomaly detection service before calling the original implementation of signUp + security_check_response = await handle_security_checks( + request_id=request_id, + password=None, + brute_force_config=brute_force_config, + email=email, + phone_number=None, + action_type=action_type + ) + if security_check_response is not None: + return security_check_response + + # We need to call the original implementation of sign_up_post. + response = await original_generate_password_reset_token_post(form_fields, tenant_id, api_options, user_context) + + return response + original_implementation.generate_password_reset_token_post = generate_password_reset_token_post + + return original_implementation +# highlight-end + +init( + app_info=InputAppInfo(api_domain="...", app_name="...", website_domain="..."), + framework='...', # type: ignore + recipe_list=[ + emailpassword.init( + # highlight-start + override=emailpassword.InputOverrideConfig( + apis=override_email_password_apis + ) + # highlight-end + ) + ] +) +``` + @@ -1150,10 +1364,10 @@ SuperTokens.init({ } } + const actionType = 'passwordless-send-sms'; const ip = getIpFromRequest(input.options.req.original); const emailOrPhoneNumber = "email" in input ? input.email : input.phoneNumber; - const bruteForceConfig = getBruteForceConfig(emailOrPhoneNumber, ip, 'createCode'); - const actionType = 'passwordless-send-sms'; + const bruteForceConfig = getBruteForceConfig(emailOrPhoneNumber, ip, actionType); // we check the anomaly detection service before calling the original implementation of signUp let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, bruteForceConfig, actionType }); @@ -1173,6 +1387,7 @@ SuperTokens.init({ } } + const actionType = 'passwordless-send-sms'; const ip = getIpFromRequest(input.options.req.original); let codesInfo = await Passwordless.listCodesByPreAuthSessionId({ tenantId: input.tenantId, @@ -1182,8 +1397,7 @@ SuperTokens.init({ const email = codesInfo && "email" in codesInfo ? codesInfo.email : undefined; const userIdentifier = email || phoneNumber || input.deviceId; - const bruteForceConfig = getBruteForceConfig(userIdentifier, ip, 'resendCode'); - const actionType = 'passwordless-send-sms'; + const bruteForceConfig = getBruteForceConfig(userIdentifier, ip, actionType); // we check the anomaly detection service before calling the original implementation of signUp let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, phoneNumber, email, bruteForceConfig, actionType }); @@ -1386,6 +1600,8 @@ func main() { }, }, nil } + + actionType := "passwordless-send-sms" ip := getIpFromRequest(options.Req) var key string if email != nil { @@ -1393,8 +1609,7 @@ func main() { } else { key = *phoneNumber } - bruteForceConfig := getBruteForceConfig(key, ip, "createCode") - actionType := "passwordless-send-sms" + bruteForceConfig := getBruteForceConfig(key, ip, actionType) // Check anomaly detection service before proceeding checkErr, err := handleSecurityChecks( @@ -1450,6 +1665,7 @@ func main() { phoneNumber = codesInfo.PhoneNumber } + actionType := "passwordless-send-sms" ip := getIpFromRequest(options.Req) key := "" if email != nil { @@ -1457,8 +1673,7 @@ func main() { } else { key = *phoneNumber } - bruteForceConfig := getBruteForceConfig(key, ip, "createCode") - actionType := "passwordless-send-sms" + bruteForceConfig := getBruteForceConfig(key, ip, actionType) // Check anomaly detection service before proceeding checkErr, err := handleSecurityChecks( @@ -1495,7 +1710,174 @@ func main() { -python + +```python +import requests +from hashlib import sha1 +from typing import Dict, Any, Union, List +from supertokens_python import init, InputAppInfo +from supertokens_python.recipe import passwordless +from supertokens_python.recipe.passwordless.interfaces import APIInterface, APIOptions +from supertokens_python.framework import BaseRequest +from supertokens_python.types import GeneralErrorResponse + +API_KEY = "" # Your secret API key that you received from the SuperTokens team +# The full URL with the correct region will be provided by the SuperTokens team +ANOMALY_DETECTION_API_URL = "https://security-.aws.supertokens.io/v1/security" + +async def handle_security_checks(request_id: Union[str, None], password: Union[str, None], brute_force_config: List[Dict[str, Any]], email: Union[str, None], phone_number: Union[str, None], action_type: str): + request_body = {} + + if request_id is not None: + request_body['requestId'] = request_id + + if password is not None: + password_hash = sha1(password.encode()).hexdigest() + request_body['passwordHash'] = password_hash + + request_body['bruteForce'] = brute_force_config + request_body['email'] = email + request_body['phoneNumber'] = phone_number + request_body['actionType'] = action_type + + response = requests.post(ANOMALY_DETECTION_API_URL, json=request_body) + response_data = response.json() + + if response_data.get('bruteForce', {}).get('detected'): + return GeneralErrorResponse(message="Too many requests. Please try again later.") + + if response_data.get('requestIdInfo', {}).get('isUsingTor'): + return GeneralErrorResponse(message="Tor activity detected. Please use a regular browser.") + + if response_data.get('requestIdInfo', {}).get('vpn', {}).get('result'): + return GeneralErrorResponse(message="VPN activity detected. Please use a regular network.") + + if response_data.get('requestIdInfo', {}).get('botDetected'): + return GeneralErrorResponse(message="Bot activity detected.") + + if response_data.get('isPasswordBreached'): + return GeneralErrorResponse(message="This password has been detected in a breach. Please set a different password.") + + return None + + +def get_ip_from_request(req: BaseRequest) -> str: + forwarded_for = req.get_header('x-forwarded-for') + if forwarded_for: + return forwarded_for + return '127.0.0.1' + +def get_brute_force_config(user_identifier: Union[str, None], ip: str, prefix: Union[str, None] = None) -> List[Dict[str, Any]]: + return [ + { + "key": f"{prefix}-{user_identifier}" if prefix else user_identifier, + "maxRequests": [ + {"limit": 5, "perTimeIntervalMS": 60 * 1000}, + {"limit": 15, "perTimeIntervalMS": 60 * 60 * 1000} + ] + }, + { + "key": f"{prefix}-{ip}" if prefix else ip, + "maxRequests": [ + {"limit": 5, "perTimeIntervalMS": 60 * 1000}, + {"limit": 15, "perTimeIntervalMS": 60 * 60 * 1000} + ] + } + ] + +# highlight-start +def override_passwordless_apis(original_implementation: APIInterface): + original_create_code_post = original_implementation.create_code_post + async def create_code_post(email: str | None, phone_number: str | None, tenant_id: str, api_options: APIOptions, user_context: Dict[str, Any]): + request_body = await api_options.request.json() + if not request_body: + return GeneralErrorResponse(message="The request body is required") + + request_id = request_body.get("requestId") + if not request_id: + return GeneralErrorResponse(message="The request ID is required") + + action_type = 'passwordless-send-sms' + ip = get_ip_from_request(api_options.request) + identifier = None + if email is not None: + identifier = email + elif phone_number is not None: + identifier = phone_number + brute_force_config = get_brute_force_config(identifier, ip, action_type) + + # we check the anomaly detection service before calling the original implementation of signUp + security_check_response = await handle_security_checks( + request_id=request_id, + password=None, + brute_force_config=brute_force_config, + email=email, + phone_number=phone_number, + action_type=action_type + ) + if security_check_response is not None: + return security_check_response + + # We need to call the original implementation of sign_up_post. + response = await original_create_code_post(email, phone_number, tenant_id, api_options, user_context) + + return response + original_implementation.create_code_post = create_code_post + + original_resend_code_post = original_implementation.resend_code_post + async def resend_code_post(device_id: str, pre_auth_session_id: str, tenant_id: str, api_options: APIOptions, user_context: Dict[str, Any]): + request_body = await api_options.request.json() + if not request_body: + return GeneralErrorResponse(message="The request body is required") + + request_id = request_body.get("requestId") + if not request_id: + return GeneralErrorResponse(message="The request ID is required") + + action_type = 'passwordless-send-sms' + ip = get_ip_from_request(api_options.request) + email = None + brute_force_config = get_brute_force_config(email, ip, action_type) + + # we check the anomaly detection service before calling the original implementation of signUp + security_check_response = await handle_security_checks( + request_id=request_id, + password=None, + brute_force_config=brute_force_config, + email=email, + phone_number=None, + action_type=action_type + ) + if security_check_response is not None: + return security_check_response + + # We need to call the original implementation of sign_up_post. + response = await original_resend_code_post(device_id, pre_auth_session_id, tenant_id, api_options, user_context) + + return response + original_implementation.resend_code_post = resend_code_post + + return original_implementation +# highlight-end + + +init( + app_info=InputAppInfo(api_domain="...", app_name="...", website_domain="..."), + framework='...', # type: ignore + recipe_list=[ + passwordless.init( + # highlight-start + flow_type="USER_INPUT_CODE_AND_MAGIC_LINK", + contact_config=passwordless.ContactEmailOrPhoneConfig(), + override=passwordless.InputOverrideConfig( + apis=override_passwordless_apis + ) + # highlight-end + ) + ] +) +``` + From 96822e4cc17968ae45bd0a6b440cd666ca9478eb Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Tue, 10 Sep 2024 16:24:33 +0300 Subject: [PATCH 19/27] python updates --- v2/anomalydetection/backend-setup.mdx | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index 41c3018a9..01aaba810 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -1718,6 +1718,7 @@ from typing import Dict, Any, Union, List from supertokens_python import init, InputAppInfo from supertokens_python.recipe import passwordless from supertokens_python.recipe.passwordless.interfaces import APIInterface, APIOptions +from supertokens_python.recipe.passwordless.asyncio import list_codes_by_device_id from supertokens_python.framework import BaseRequest from supertokens_python.types import GeneralErrorResponse @@ -1837,7 +1838,17 @@ def override_passwordless_apis(original_implementation: APIInterface): action_type = 'passwordless-send-sms' ip = get_ip_from_request(api_options.request) email = None - brute_force_config = get_brute_force_config(email, ip, action_type) + phone_number = None + codes = await list_codes_by_device_id(tenant_id=tenant_id, device_id=device_id, user_context=user_context) + if codes is not None: + email = codes.email + phone_number = codes.phone_number + identifier = None + if email is not None: + identifier = email + elif phone_number is not None: + identifier = phone_number + brute_force_config = get_brute_force_config(identifier, ip, action_type) # we check the anomaly detection service before calling the original implementation of signUp security_check_response = await handle_security_checks( @@ -1845,7 +1856,7 @@ def override_passwordless_apis(original_implementation: APIInterface): password=None, brute_force_config=brute_force_config, email=email, - phone_number=None, + phone_number=phone_number, action_type=action_type ) if security_check_response is not None: From 65e8f9de32d443774b8cd529a661e209163f1ed7 Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Wed, 11 Sep 2024 15:52:48 +0300 Subject: [PATCH 20/27] pr fixes --- v2/anomalydetection/backend-setup.mdx | 268 +++++++------------------ v2/anomalydetection/frontend-setup.mdx | 10 +- v2/anomalydetection/introduction.mdx | 20 ++ 3 files changed, 92 insertions(+), 206 deletions(-) diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index 01aaba810..3ec64b6b2 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -192,7 +192,7 @@ const response = { ## Retrieving the Request ID -The request ID that has been passed from the frontend is available in the `requestId` property of the input body from each API override. +We pass a `requestId` during the email password sign in, sign up and reset password APIs from the frontend (see [frontend setup section](frontend-setup#generating-a-request-id-on-the-frontend)). You can retrieve this ID by overriding these APIs in the emailpassword recipe on the backend. Below is an example of how to retrieve the request ID from the input body: @@ -211,6 +211,12 @@ Below is an example of how to retrieve the request ID from the input body: }) { // ... your code here ... const requestId = (await input.options.req.getJSONBody()).requestId; + if(!requestId) { + return { + status: "GENERAL_ERROR", + message: "The request ID is required" + } + } // ... your code here ... } ``` @@ -228,7 +234,7 @@ import ( ) type ReqBody struct { - RequestID string `json:"requestId"` + RequestID *string `json:"requestId"` } func signInPOST(formFields []epmodels.TypeFormField, tenantId string, options epmodels.APIOptions, userContext supertokens.UserContext) (epmodels.SignInPOSTResponse, error) { @@ -239,14 +245,15 @@ func signInPOST(formFields []epmodels.TypeFormField, tenantId string, options ep return epmodels.SignInPOSTResponse{}, err } - requestId := reqBody.RequestID - if requestId == "" { + if reqBody.RequestID == nil { return epmodels.SignInPOSTResponse{ GeneralError: &supertokens.GeneralErrorResponse{ Message: "The request ID is required", }, }, nil } + requestId := *reqBody.RequestID + _ = requestId // ... your code here ... return epmodels.SignInPOSTResponse{}, nil @@ -262,19 +269,27 @@ from supertokens_python.recipe.emailpassword.interfaces import APIOptions from supertokens_python.types import GeneralErrorResponse async def sign_in_post(api_options: APIOptions): + # ... your code here ... request_body = await api_options.request.json() if not request_body: return GeneralErrorResponse(message="The request body is required") request_id = request_body.get("requestId") - return request_id + if not request_id: + return GeneralErrorResponse(message="The request ID is required") + # ... your code here ... ``` -other frameworks + +:::note +For using with other frameworks, you can follow the same steps as above to override the APIs and add custom logic for anomaly detection. +::: + + @@ -672,7 +687,7 @@ type MaxRequests struct { } type ReqBody struct { - RequestID string `json:"requestId"` + RequestID *string `json:"requestId"` } func getIpFromRequest(req *http.Request) string { @@ -806,14 +821,14 @@ func main() { return epmodels.SignUpPOSTResponse{}, err } - requestId := reqBody.RequestID - if requestId == "" { + if reqBody.RequestID == nil { return epmodels.SignUpPOSTResponse{ GeneralError: &supertokens.GeneralErrorResponse{ Message: "The request ID is required", }, }, nil } + requestId := *reqBody.RequestID actionType := "emailpassword-sign-up" ip := getIpFromRequest(options.Req) @@ -870,14 +885,14 @@ func main() { return epmodels.SignInPOSTResponse{}, err } - requestId := reqBody.RequestID - if requestId == "" { + if reqBody.RequestID == nil { return epmodels.SignInPOSTResponse{ GeneralError: &supertokens.GeneralErrorResponse{ Message: "The request ID is required", }, }, nil } + requestId := *reqBody.RequestID actionType := "emailpassword-sign-in" ip := getIpFromRequest(options.Req) @@ -934,14 +949,14 @@ func main() { return epmodels.GeneratePasswordResetTokenPOSTResponse{}, err } - requestId := reqBody.RequestID - if requestId == "" { + if reqBody.RequestID == nil { return epmodels.GeneratePasswordResetTokenPOSTResponse{ GeneralError: &supertokens.GeneralErrorResponse{ Message: "The request ID is required", }, }, nil } + requestId := *reqBody.RequestID actionType := "send-password-reset-email" ip := getIpFromRequest(options.Req) @@ -1207,10 +1222,26 @@ init( -other frameworks +] +:::note +For using with other frameworks, you can follow the same steps as above to override the APIs and add custom logic for anomaly detection. +::: + +The above code overrides the SuperTokens APIs and adding custom logic for anomaly detection. The steps when overriding the APIs are as follows: +- We get the request ID from the request body. This is a unique ID for the request. +- We define the action type based on the API that is being called. +- We get the email and password from the form fields. +- We get the IP address from the request. +- We create the brute force config from the email, IP address and action type. This config allows a number of requests over a time interval per: + 1. Action and email/phone number. + 2. Action and IP address. +- We call the anomaly detection service to check if the request is allowed. +- If the request is not allowed, we return a descriptive error response +- If the request is allowed, we call the original implementation of the API. +- We return the response from the original implementation of the API. ### Passwordless @@ -1230,8 +1261,6 @@ async function handleSecurityChecks(input: { actionType?: string, email?: string, phoneNumber?: string, - password?: string, - requestId?: string, bruteForceConfig?: { key: string, maxRequests: { @@ -1247,8 +1276,6 @@ async function handleSecurityChecks(input: { email?: string; phoneNumber?: string; actionType?: string; - requestId?: string; - passwordHash?: string; bruteForce?: { key: string; maxRequests: { @@ -1258,16 +1285,6 @@ async function handleSecurityChecks(input: { }[]; } = {} - if (input.requestId !== undefined) { - requestBody.requestId = input.requestId; - } - - if (input.password !== undefined) { - let shasum = createHash('sha1'); - shasum.update(input.password); - const passwordHash = shasum.digest('hex'); - requestBody.passwordHash = passwordHash; - } requestBody.bruteForce = input.bruteForceConfig; requestBody.email = input.email; requestBody.phoneNumber = input.phoneNumber; @@ -1283,34 +1300,6 @@ async function handleSecurityChecks(input: { } } - if(responseData.requestIdInfo?.isUsingTor) { - return { - status: "GENERAL_ERROR", - message: "Tor activity detected. Please use a regular browser." - } - } - - if(responseData.requestIdInfo?.vpn?.result) { - return { - status: "GENERAL_ERROR", - message: "VPN activity detected. Please use a regular network." - } - } - - if (responseData.requestIdInfo?.botDetected) { - return { - status: "GENERAL_ERROR", - message: "Bot activity detected." - } - } - - if (responseData?.isPasswordBreached) { - return { - status: "GENERAL_ERROR", - message: "This password has been detected in a breach. Please set a different password." - } - } - return undefined; } @@ -1355,22 +1344,13 @@ SuperTokens.init({ return { ...originalImplementation, createCodePOST: async function (input) { - // We need to have a request ID in order to detect possible bots, suspicious IP addresses, etc. - const requestId = (await input.options.req.getJSONBody()).requestId; - if(!requestId) { - return { - status: "GENERAL_ERROR", - message: "The request ID is required" - } - } - const actionType = 'passwordless-send-sms'; const ip = getIpFromRequest(input.options.req.original); const emailOrPhoneNumber = "email" in input ? input.email : input.phoneNumber; const bruteForceConfig = getBruteForceConfig(emailOrPhoneNumber, ip, actionType); // we check the anomaly detection service before calling the original implementation of signUp - let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, bruteForceConfig, actionType }); + let securityCheckResponse = await handleSecurityChecks({ ...input, bruteForceConfig, actionType }); if(securityCheckResponse !== undefined) { return securityCheckResponse; } @@ -1378,15 +1358,6 @@ SuperTokens.init({ return originalImplementation.createCodePOST!(input); }, resendCodePOST: async function (input) { - // We need to have a request ID in order to detect possible bots, suspicious IP addresses, etc. - const requestId = (await input.options.req.getJSONBody()).requestId; - if(!requestId) { - return { - status: "GENERAL_ERROR", - message: "The request ID is required" - } - } - const actionType = 'passwordless-send-sms'; const ip = getIpFromRequest(input.options.req.original); let codesInfo = await Passwordless.listCodesByPreAuthSessionId({ @@ -1400,7 +1371,7 @@ SuperTokens.init({ const bruteForceConfig = getBruteForceConfig(userIdentifier, ip, actionType); // we check the anomaly detection service before calling the original implementation of signUp - let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, phoneNumber, email, bruteForceConfig, actionType }); + let securityCheckResponse = await handleSecurityChecks({ ...input, phoneNumber, email, bruteForceConfig, actionType }); if(securityCheckResponse !== undefined) { return securityCheckResponse; } @@ -1422,8 +1393,6 @@ SuperTokens.init({ ```go import ( "bytes" - "crypto/sha1" - "encoding/hex" "encoding/json" "net/http" @@ -1440,8 +1409,6 @@ type SecurityCheckInput struct { ActionType string `json:"actionType,omitempty"` Email string `json:"email,omitempty"` PhoneNumber string `json:"phoneNumber,omitempty"` - Password string `json:"password,omitempty"` - RequestID string `json:"requestId,omitempty"` BruteForceConfig []BruteForceConfig `json:"bruteForceConfig,omitempty"` } @@ -1455,10 +1422,6 @@ type MaxRequests struct { PerTimeIntervalMS int `json:"perTimeIntervalMS"` } -type ReqBody struct { - RequestID string `json:"requestId"` -} - func getIpFromRequest(req *http.Request) string { if forwardedFor := req.Header.Get("X-Forwarded-For"); forwardedFor != "" { return forwardedFor @@ -1493,17 +1456,6 @@ func getBruteForceConfig(userIdentifier string, ip string, prefix string) []Brut func handleSecurityChecks(input SecurityCheckInput) (*supertokens.GeneralErrorResponse, error) { requestBody := make(map[string]interface{}) - if input.RequestID != "" { - requestBody["requestId"] = input.RequestID - } - - if input.Password != "" { - hash := sha1.New() - hash.Write([]byte(input.Password)) - passwordHash := hex.EncodeToString(hash.Sum(nil)) - requestBody["passwordHash"] = passwordHash - } - requestBody["bruteForce"] = input.BruteForceConfig requestBody["email"] = input.Email requestBody["phoneNumber"] = input.PhoneNumber @@ -1543,34 +1495,6 @@ func handleSecurityChecks(input SecurityCheckInput) (*supertokens.GeneralErrorRe } } - if requestIdInfo, ok := responseData["requestIdInfo"].(map[string]interface{}); ok { - if isUsingTor, ok := requestIdInfo["isUsingTor"].(bool); ok && isUsingTor { - return &supertokens.GeneralErrorResponse{ - Message: "Tor activity detected. Please use a regular browser.", - }, nil - } - - if vpn, ok := requestIdInfo["vpn"].(map[string]interface{}); ok { - if result, ok := vpn["result"].(bool); ok && result { - return &supertokens.GeneralErrorResponse{ - Message: "VPN activity detected. Please use a regular network.", - }, nil - } - } - - if botDetected, ok := requestIdInfo["botDetected"].(bool); ok && botDetected { - return &supertokens.GeneralErrorResponse{ - Message: "Bot activity detected.", - }, nil - } - } - - if isPasswordBreached, ok := responseData["isPasswordBreached"].(bool); ok && isPasswordBreached { - return &supertokens.GeneralErrorResponse{ - Message: "This password has been detected in a breach. Please set a different password.", - }, nil - } - return nil, nil } @@ -1586,21 +1510,6 @@ func main() { APIs: func(originalImplementation plessmodels.APIInterface) plessmodels.APIInterface { originalCreateCodePOST := *originalImplementation.CreateCodePOST (*originalImplementation.CreateCodePOST) = func(email *string, phoneNumber *string, tenantId string, options plessmodels.APIOptions, userContext supertokens.UserContext) (plessmodels.CreateCodePOSTResponse, error) { - var reqBody ReqBody - err := json.NewDecoder(options.Req.Body).Decode(&reqBody) - if err != nil { - return plessmodels.CreateCodePOSTResponse{}, err - } - - requestId := reqBody.RequestID - if requestId == "" { - return plessmodels.CreateCodePOSTResponse{ - GeneralError: &supertokens.GeneralErrorResponse{ - Message: "The request ID is required", - }, - }, nil - } - actionType := "passwordless-send-sms" ip := getIpFromRequest(options.Req) var key string @@ -1617,7 +1526,6 @@ func main() { ActionType: actionType, Email: *email, PhoneNumber: *phoneNumber, - RequestID: requestId, BruteForceConfig: bruteForceConfig, }, ) @@ -1636,21 +1544,6 @@ func main() { originalResendCodePOST := *originalImplementation.ResendCodePOST (*originalImplementation.ResendCodePOST) = func(deviceID string, preAuthSessionID string, tenantId string, options plessmodels.APIOptions, userContext supertokens.UserContext) (plessmodels.ResendCodePOSTResponse, error) { - var reqBody ReqBody - err := json.NewDecoder(options.Req.Body).Decode(&reqBody) - if err != nil { - return plessmodels.ResendCodePOSTResponse{}, err - } - - requestId := reqBody.RequestID - if requestId == "" { - return plessmodels.ResendCodePOSTResponse{ - GeneralError: &supertokens.GeneralErrorResponse{ - Message: "The request ID is required", - }, - }, nil - } - // retreive user details codesInfo, err := passwordless.ListCodesByDeviceID(tenantId, deviceID, userContext) if err != nil { @@ -1681,7 +1574,6 @@ func main() { ActionType: actionType, Email: *email, PhoneNumber: *phoneNumber, - RequestID: requestId, BruteForceConfig: bruteForceConfig, }, ) @@ -1713,7 +1605,6 @@ func main() { ```python import requests -from hashlib import sha1 from typing import Dict, Any, Union, List from supertokens_python import init, InputAppInfo from supertokens_python.recipe import passwordless @@ -1729,13 +1620,6 @@ ANOMALY_DETECTION_API_URL = "https://security-.aws.supertokens.io/v1/sec async def handle_security_checks(request_id: Union[str, None], password: Union[str, None], brute_force_config: List[Dict[str, Any]], email: Union[str, None], phone_number: Union[str, None], action_type: str): request_body = {} - if request_id is not None: - request_body['requestId'] = request_id - - if password is not None: - password_hash = sha1(password.encode()).hexdigest() - request_body['passwordHash'] = password_hash - request_body['bruteForce'] = brute_force_config request_body['email'] = email request_body['phoneNumber'] = phone_number @@ -1747,18 +1631,6 @@ async def handle_security_checks(request_id: Union[str, None], password: Union[s if response_data.get('bruteForce', {}).get('detected'): return GeneralErrorResponse(message="Too many requests. Please try again later.") - if response_data.get('requestIdInfo', {}).get('isUsingTor'): - return GeneralErrorResponse(message="Tor activity detected. Please use a regular browser.") - - if response_data.get('requestIdInfo', {}).get('vpn', {}).get('result'): - return GeneralErrorResponse(message="VPN activity detected. Please use a regular network.") - - if response_data.get('requestIdInfo', {}).get('botDetected'): - return GeneralErrorResponse(message="Bot activity detected.") - - if response_data.get('isPasswordBreached'): - return GeneralErrorResponse(message="This password has been detected in a breach. Please set a different password.") - return None @@ -1790,14 +1662,6 @@ def get_brute_force_config(user_identifier: Union[str, None], ip: str, prefix: U def override_passwordless_apis(original_implementation: APIInterface): original_create_code_post = original_implementation.create_code_post async def create_code_post(email: str | None, phone_number: str | None, tenant_id: str, api_options: APIOptions, user_context: Dict[str, Any]): - request_body = await api_options.request.json() - if not request_body: - return GeneralErrorResponse(message="The request body is required") - - request_id = request_body.get("requestId") - if not request_id: - return GeneralErrorResponse(message="The request ID is required") - action_type = 'passwordless-send-sms' ip = get_ip_from_request(api_options.request) identifier = None @@ -1809,8 +1673,6 @@ def override_passwordless_apis(original_implementation: APIInterface): # we check the anomaly detection service before calling the original implementation of signUp security_check_response = await handle_security_checks( - request_id=request_id, - password=None, brute_force_config=brute_force_config, email=email, phone_number=phone_number, @@ -1827,14 +1689,6 @@ def override_passwordless_apis(original_implementation: APIInterface): original_resend_code_post = original_implementation.resend_code_post async def resend_code_post(device_id: str, pre_auth_session_id: str, tenant_id: str, api_options: APIOptions, user_context: Dict[str, Any]): - request_body = await api_options.request.json() - if not request_body: - return GeneralErrorResponse(message="The request body is required") - - request_id = request_body.get("requestId") - if not request_id: - return GeneralErrorResponse(message="The request ID is required") - action_type = 'passwordless-send-sms' ip = get_ip_from_request(api_options.request) email = None @@ -1852,8 +1706,6 @@ def override_passwordless_apis(original_implementation: APIInterface): # we check the anomaly detection service before calling the original implementation of signUp security_check_response = await handle_security_checks( - request_id=request_id, - password=None, brute_force_config=brute_force_config, email=email, phone_number=phone_number, @@ -1892,10 +1744,26 @@ init( -other frameworks + +:::info +For using with other frameworks, you can follow the same steps as above to override the APIs and add custom logic for anomaly detection. +::: + +The above code overrides the SuperTokens APIs and adding custom logic for anomaly detection. The steps when overriding the APIs are as follows: +- We define the action type based on the API that is being called. +- We get the email or the phone number from the form fields. +- We get the IP address from the request. +- We create the brute force config from the email, IP address and action type. This config allows a number of requests over a time interval per: + 1. Action and email/phone number. + 2. Action and IP address. +- We call the anomaly detection service to check if the request is allowed (only brute force detection is done here). +- If the request is not allowed, we return a descriptive error response +- If the request is allowed, we call the original implementation of the API. +- We return the response from the original implementation of the API. + ### Third party @@ -1903,13 +1771,11 @@ It's important to note that anomaly detection is not recommended for use with th 1. **Existing anomaly detection**: Most reputable third-party authentication providers (like Google, Facebook, Apple, etc.) have robust security measures in place, including their own anomaly detection systems. These systems are typically more comprehensive and tailored to their specific platforms. -2. **Cost considerations**: Implementing additional anomaly detection on top of third-party authentication can lead to unnecessary costs. You'd essentially be paying for a service that's already being provided by the third-party, resulting in redundant expenditure. - -3. **Limited visibility**: When using third-party authentication, you have limited visibility into the authentication process. This makes it difficult to accurately detect anomalies or suspicious activities that occur on the third-party's side. +2. **Limited visibility**: When using third-party authentication, you have limited visibility into the authentication process. This makes it difficult to accurately detect anomalies or suspicious activities that occur on the third-party's side. -4. **Potential false positives**: Applying anomaly detection to third-party logins might lead to an increase in false positives, as you don't have full context of the user's interactions with the third-party provider. +3. **Potential false positives**: Applying anomaly detection to third-party logins might lead to an increase in false positives, as you don't have full context of the user's interactions with the third-party provider. -5. **User experience**: Additional security checks on top of third-party authentication could negatively impact the user experience, potentially defeating the purpose of offering third-party login as a convenient option. +4. **User experience**: Additional security checks on top of third-party authentication could negatively impact the user experience, potentially defeating the purpose of offering third-party login as a convenient option. For these reasons, it's generally best to rely on the security measures provided by the third-party authentication providers themselves when offering this login option to your users. diff --git a/v2/anomalydetection/frontend-setup.mdx b/v2/anomalydetection/frontend-setup.mdx index 629607808..9439cf210 100644 --- a/v2/anomalydetection/frontend-setup.mdx +++ b/v2/anomalydetection/frontend-setup.mdx @@ -24,11 +24,11 @@ Below is an example of how to implement request ID generation on your frontend: ```tsx -const API_KEY = ""; // Your public API key that you received from the SuperTokens team +const PUBLIC_API_KEY = ""; // Your public API key that you received from the SuperTokens team const SDK_URL = "https://supertokens.io/JfNbWqtXUiGYuTqb/PYmK3PIPqdvHw6iz"; const ENVIRONMENT_ID = ""; // Your environment ID that you received from the SuperTokens team -const supertokensAnomalyDetectionSdkPromise = import(SDK_URL + "?apiKey=" + API_KEY).then((RequestId: any) => RequestId.load({ +const supertokensAnomalyDetectionSdkPromise = import(SDK_URL + "?apiKey=" + PUBLIC_API_KEY).then((RequestId: any) => RequestId.load({ endpoint: [ SDK_URL, RequestId.defaultEndpoint @@ -54,15 +54,15 @@ Once you have generated the request ID on the frontend, you need to pass it to t If the request ID is not passed to the backend, the anomaly detection will only be able to detect password breaches and brute force attacks. ::: -Below is a full example of how to configure the SDK and pass the request ID to the backend: +Below is a full example of how to configure the SDK and pass the request ID to the backend. The request ID is being generated only for the email password sign in, sign up and reset password actions because these are the only actions that require bot detection (the reason the request ID is needed). For all the other recipes (or actions), this is not needed. ```tsx import EmailPassword from "supertokens-auth-react/recipe/emailpassword"; -const API_KEY = ""; // Your public API key that you received from the SuperTokens team +const PUBLIC_API_KEY = ""; // Your public API key that you received from the SuperTokens team const SDK_URL = "https://supertokens.io/JfNbWqtXUiGYuTqb/PYmK3PIPqdvHw6iz"; const ENVIRONMENT_ID = ""; // Your environment ID that you received from the SuperTokens team -const supertokensRequestIdPromise = import(SDK_URL + "?apiKey=" + API_KEY).then((RequestId: any) => RequestId.load({ +const supertokensRequestIdPromise = import(SDK_URL + "?apiKey=" + PUBLIC_API_KEY).then((RequestId: any) => RequestId.load({ endpoint: [ SDK_URL, RequestId.defaultEndpoint diff --git a/v2/anomalydetection/introduction.mdx b/v2/anomalydetection/introduction.mdx index 36dea65a1..ca1d8c255 100644 --- a/v2/anomalydetection/introduction.mdx +++ b/v2/anomalydetection/introduction.mdx @@ -50,3 +50,23 @@ By leveraging these advanced detection methods, SuperTokens Anomaly Detection si Below is an high level overview of how this works: Anomaly detection flow + +## Recipes integration + +Different recipes have different ways of integrating with the anomaly detection feature. + +### Passwordless + +When using the passwordless recipe, the **only check should be brute force detection**. Other checks are not needed as the passwordless flow by itself prevents bot attacks. + +### Email Password Login + +When using the email password login recipe, bot detection (and possibly other checks) **should be used** along with brute force detection. + +### Phone Password Login + +When using the phone password login recipe, bot detection (and possibly other checks) **should be used** along with brute force detection. + +### Social/enterprise Login + +When using these types of recipes, there **should be no checks used**. \ No newline at end of file From bb4fc141b4844f010459763c75215c22b490bee0 Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Wed, 11 Sep 2024 15:53:24 +0300 Subject: [PATCH 21/27] pr fixes --- v2/anomalydetection/frontend-setup.mdx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/v2/anomalydetection/frontend-setup.mdx b/v2/anomalydetection/frontend-setup.mdx index 9439cf210..e1500d69b 100644 --- a/v2/anomalydetection/frontend-setup.mdx +++ b/v2/anomalydetection/frontend-setup.mdx @@ -16,10 +16,6 @@ This frontend setup is required only for bot detection and anomaly IP based dete In order to generate a request ID, you need to import and initialise the SDK using your public API key. This SDK is used to generate a unique request ID for each authentication event attempt. -:::important -When calling the `get` function of the SDK, you need to pass the `environmentId` as a tag. This is used to identify the environment in which the request ID is being generated. -::: - Below is an example of how to implement request ID generation on your frontend: From 7c2735f7b13db504c69ba1580c551ec4776fd79a Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Wed, 11 Sep 2024 16:47:04 +0300 Subject: [PATCH 22/27] pr fixes --- v2/anomalydetection/backend-setup.mdx | 142 +++++++++++++++++++------- v2/anomalydetection/enabling.mdx | 2 +- v2/anomalydetection/introduction.mdx | 2 +- 3 files changed, 107 insertions(+), 39 deletions(-) diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index 3ec64b6b2..ccda6bc7b 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -10,7 +10,7 @@ import {PreBuiltOrCustomUISwitcher, PreBuiltUIContent, CustomUIContent} from "/s import FrontendPreBuiltUITabs from "/src/components/tabs/FrontendPreBuiltUITabs" -# Setting up the Backend +# Setting up the Backend {#setting-up} In order to use the anomaly detection service, a request to the following enpoint (based on the region) needs to be made: @@ -37,7 +37,7 @@ You can view the HTTP API reference for this endpoint below: ```tsx const headers = { "Content-Type": "application/json", - "Authorization": "Bearer " + "Authorization": "Bearer " }; ``` @@ -285,7 +285,7 @@ async def sign_in_post(api_options: APIOptions): :::note -For using with other frameworks, you can follow the same steps as above to override the APIs and add custom logic for anomaly detection. +For using with other frameworks, you can follow the same steps as for the other languages and you can also refer to the [API documenation](#setting-up). ::: @@ -433,7 +433,7 @@ import Session from "supertokens-node/recipe/session"; import axios from "axios"; import { createHash } from 'crypto'; -const API_KEY = ""; // Your secret API key that you received from the SuperTokens team +const SECRET_API_KEY = ""; // Your secret API key that you received from the SuperTokens team // The full URL with the correct region will be provided by the SuperTokens team const ANOMALY_DETECTION_API_URL = "https://security-.aws.supertokens.io/v1/security"; @@ -484,7 +484,12 @@ async function handleSecurityChecks(input: { requestBody.phoneNumber = input.phoneNumber; requestBody.actionType = input.actionType; - let response = await axios.post(ANOMALY_DETECTION_API_URL, requestBody); + let response = await axios.post(ANOMALY_DETECTION_API_URL, requestBody, { + headers: { + "Authorization": `Bearer ${SECRET_API_KEY}`, + "Content-Type": "application/json" + } + }); let responseData = response.data; if (responseData.bruteForce.detected) { @@ -646,6 +651,20 @@ SuperTokens.init({ ] }); ``` + +The above code overrides the SuperTokens APIs and adding custom logic for anomaly detection. The steps when overriding the APIs are as follows: +- We get the request ID from the request body. This is a unique ID for the request. +- We define the action type based on the API that is being called. +- We get the email and password from the form fields. +- We get the IP address from the request. +- We create the brute force config from the email, IP address and action type. This config allows a number of requests over a time interval per: + 1. Action and email/phone number. + 2. Action and IP address. +- We call the anomaly detection service to check if the request is allowed. +- If the request is not allowed, we return a descriptive error response +- If the request is allowed, we call the original implementation of the API. +- We return the response from the original implementation of the API. + @@ -663,7 +682,7 @@ import ( "github.com/supertokens/supertokens-golang/supertokens" ) -const API_KEY = "" // Your secret API key that you received from the SuperTokens team +const SECRET_API_KEY = "" // Your secret API key that you received from the SuperTokens team // The full URL with the correct region will be provided by the SuperTokens team const ANOMALY_DETECTION_API_URL = "https://security-.aws.supertokens.io/v1/security" @@ -751,7 +770,7 @@ func handleSecurityChecks(input SecurityCheckInput) (*supertokens.GeneralErrorRe } req.Header.Set("Content-Type", "application/json") - req.Header.Set("api-key", API_KEY) + req.Header.Set("api-key", SECRET_API_KEY) client := &http.Client{} resp, err := client.Do(req) @@ -1009,6 +1028,19 @@ func main() { } ``` +The above code overrides the SuperTokens APIs and adding custom logic for anomaly detection. The steps when overriding the APIs are as follows: +- We get the request ID from the request body. This is a unique ID for the request. +- We define the action type based on the API that is being called. +- We get the email and password from the form fields. +- We get the IP address from the request. +- We create the brute force config from the email, IP address and action type. This config allows a number of requests over a time interval per: + 1. Action and email/phone number. + 2. Action and IP address. +- We call the anomaly detection service to check if the request is allowed. +- If the request is not allowed, we return a descriptive error response +- If the request is allowed, we call the original implementation of the API. +- We return the response from the original implementation of the API. + @@ -1024,7 +1056,7 @@ from supertokens_python.recipe.emailpassword.types import FormField from supertokens_python.framework import BaseRequest from supertokens_python.types import GeneralErrorResponse -API_KEY = "" # Your secret API key that you received from the SuperTokens team +SECRET_API_KEY = ""; # Your secret API key that you received from the SuperTokens team # The full URL with the correct region will be provided by the SuperTokens team ANOMALY_DETECTION_API_URL = "https://security-.aws.supertokens.io/v1/security" @@ -1043,7 +1075,10 @@ async def handle_security_checks(request_id: Union[str, None], password: Union[s request_body['phoneNumber'] = phone_number request_body['actionType'] = action_type - response = requests.post(ANOMALY_DETECTION_API_URL, json=request_body) + response = requests.post(ANOMALY_DETECTION_API_URL, json=request_body, headers={ + "Authorization": f"Bearer {SECRET_API_KEY}", + "Content-Type": "application/json" + }) response_data = response.json() if response_data.get('bruteForce', {}).get('detected'): @@ -1219,17 +1254,6 @@ init( ) ``` - - - -] -:::note -For using with other frameworks, you can follow the same steps as above to override the APIs and add custom logic for anomaly detection. -::: - - - - The above code overrides the SuperTokens APIs and adding custom logic for anomaly detection. The steps when overriding the APIs are as follows: - We get the request ID from the request body. This is a unique ID for the request. - We define the action type based on the API that is being called. @@ -1243,6 +1267,17 @@ The above code overrides the SuperTokens APIs and adding custom logic for anomal - If the request is allowed, we call the original implementation of the API. - We return the response from the original implementation of the API. + + + + +:::note +For using with other frameworks, you can follow the same steps as for the other languages and you can also refer to the [API documenation](#setting-up). +::: + + + + ### Passwordless @@ -1254,7 +1289,7 @@ import Passwordless from "supertokens-node/recipe/passwordless"; import axios from "axios"; import { createHash } from 'crypto'; -const API_KEY = ""; // Your secret API key that you received from the SuperTokens team +const SECRET_API_KEY = ""; // Your secret API key that you received from the SuperTokens team const ANOMALY_DETECTION_API_URL = "https://security-us-east-1.aws.supertokens.io/v1/security"; async function handleSecurityChecks(input: { @@ -1290,7 +1325,12 @@ async function handleSecurityChecks(input: { requestBody.phoneNumber = input.phoneNumber; requestBody.actionType = input.actionType; - let response = await axios.post(ANOMALY_DETECTION_API_URL, requestBody); + let response = await axios.post(ANOMALY_DETECTION_API_URL, requestBody, { + headers: { + "Authorization": `Bearer ${SECRET_API_KEY}`, + "Content-Type": "application/json" + } + }); let responseData = response.data; if (responseData.bruteForce.detected) { @@ -1386,6 +1426,19 @@ SuperTokens.init({ ] }) ``` + +The above code overrides the SuperTokens APIs and adding custom logic for anomaly detection. The steps when overriding the APIs are as follows: +- We define the action type based on the API that is being called. +- We get the email or the phone number from the form fields. +- We get the IP address from the request. +- We create the brute force config from the email, IP address and action type. This config allows a number of requests over a time interval per: + 1. Action and email/phone number. + 2. Action and IP address. +- We call the anomaly detection service to check if the request is allowed (only brute force detection is done here). +- If the request is not allowed, we return a descriptive error response +- If the request is allowed, we call the original implementation of the API. +- We return the response from the original implementation of the API. + @@ -1401,7 +1454,7 @@ import ( "github.com/supertokens/supertokens-golang/supertokens" ) -const API_KEY = "" // Your secret API key that you received from the SuperTokens team +const SECRET_API_KEY = "" // Your secret API key that you received from the SuperTokens team // The full URL with the correct region will be provided by the SuperTokens team const ANOMALY_DETECTION_API_URL = "https://security-.aws.supertokens.io/v1/security" @@ -1472,7 +1525,7 @@ func handleSecurityChecks(input SecurityCheckInput) (*supertokens.GeneralErrorRe } req.Header.Set("Content-Type", "application/json") - req.Header.Set("api-key", API_KEY) + req.Header.Set("api-key", SECRET_API_KEY) client := &http.Client{} resp, err := client.Do(req) @@ -1599,6 +1652,19 @@ func main() { } ``` +The above code overrides the SuperTokens APIs and adding custom logic for anomaly detection. The steps when overriding the APIs are as follows: +- We define the action type based on the API that is being called. +- We get the email or the phone number from the form fields. +- We get the IP address from the request. +- We create the brute force config from the email, IP address and action type. This config allows a number of requests over a time interval per: + 1. Action and email/phone number. + 2. Action and IP address. +- We call the anomaly detection service to check if the request is allowed (only brute force detection is done here). +- If the request is not allowed, we return a descriptive error response +- If the request is allowed, we call the original implementation of the API. +- We return the response from the original implementation of the API. + + @@ -1613,7 +1679,7 @@ from supertokens_python.recipe.passwordless.asyncio import list_codes_by_device_ from supertokens_python.framework import BaseRequest from supertokens_python.types import GeneralErrorResponse -API_KEY = "" # Your secret API key that you received from the SuperTokens team +SECRET_API_KEY = "" # Your secret API key that you received from the SuperTokens team # The full URL with the correct region will be provided by the SuperTokens team ANOMALY_DETECTION_API_URL = "https://security-.aws.supertokens.io/v1/security" @@ -1625,7 +1691,10 @@ async def handle_security_checks(request_id: Union[str, None], password: Union[s request_body['phoneNumber'] = phone_number request_body['actionType'] = action_type - response = requests.post(ANOMALY_DETECTION_API_URL, json=request_body) + response = requests.post(ANOMALY_DETECTION_API_URL, json=request_body, headers={ + "Authorization": f"Bearer {SECRET_API_KEY}", + "Content-Type": "application/json" + }) response_data = response.json() if response_data.get('bruteForce', {}).get('detected'): @@ -1741,17 +1810,6 @@ init( ) ``` - - - - -:::info -For using with other frameworks, you can follow the same steps as above to override the APIs and add custom logic for anomaly detection. -::: - - - - The above code overrides the SuperTokens APIs and adding custom logic for anomaly detection. The steps when overriding the APIs are as follows: - We define the action type based on the API that is being called. - We get the email or the phone number from the form fields. @@ -1764,6 +1822,16 @@ The above code overrides the SuperTokens APIs and adding custom logic for anomal - If the request is allowed, we call the original implementation of the API. - We return the response from the original implementation of the API. + + + + +:::info +For using with other frameworks, you can follow the same steps as for the other languages and you can also refer to the [API documenation](#setting-up). +::: + + + ### Third party diff --git a/v2/anomalydetection/enabling.mdx b/v2/anomalydetection/enabling.mdx index 9ce142ebb..7f7eade1c 100644 --- a/v2/anomalydetection/enabling.mdx +++ b/v2/anomalydetection/enabling.mdx @@ -12,7 +12,7 @@ This feature is **currently in beta**. In order to get access to this feature, p Once you have access to the feature, you will receive from us: - **Public API key** - this will be used on your frontend for generating request IDs -- **Service access key** - this will be used on your backend for making requests to our anomaly detection API +- **Secret API key** - this will be used on your backend for making requests to our anomaly detection API - **Environment ID** - this will be used for identifying the environment you are using both on the backend and the frontend diff --git a/v2/anomalydetection/introduction.mdx b/v2/anomalydetection/introduction.mdx index ca1d8c255..825d4d415 100644 --- a/v2/anomalydetection/introduction.mdx +++ b/v2/anomalydetection/introduction.mdx @@ -41,7 +41,7 @@ Monitors the number of unique devices associated with a user account. This helps Recognize and remember devices and requester details, even when they try to disguise themselves. This helps track and identify the same device or requester across multiple login attempts, improving security and user recognition. -## Usage +## Flow diagram The Anomaly Detection service is typically integrated into your authentication flow. It processes requests and provides risk assessments that you can use to enforce additional security measures, such as requiring two-factor authentication for suspicious logins or blocking high-risk attempts altogether. From eb81d829d8f31a46abbd788cba65e74504dd600c Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Wed, 11 Sep 2024 17:06:40 +0300 Subject: [PATCH 23/27] pr fixes --- v2/anomalydetection/backend-setup.mdx | 159 +++++++------------------- 1 file changed, 42 insertions(+), 117 deletions(-) diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index ccda6bc7b..7d8bbc661 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -194,104 +194,7 @@ const response = { We pass a `requestId` during the email password sign in, sign up and reset password APIs from the frontend (see [frontend setup section](frontend-setup#generating-a-request-id-on-the-frontend)). You can retrieve this ID by overriding these APIs in the emailpassword recipe on the backend. -Below is an example of how to retrieve the request ID from the input body: - - - - -```tsx - const signInPOST = async function (input: { - options: { - req: { - getJSONBody: () => Promise<{ - requestId: string; - }>; - }; - }; - }) { - // ... your code here ... - const requestId = (await input.options.req.getJSONBody()).requestId; - if(!requestId) { - return { - status: "GENERAL_ERROR", - message: "The request ID is required" - } - } - // ... your code here ... - } -``` - - - - - -```go -import ( - "encoding/json" - - "github.com/supertokens/supertokens-golang/recipe/emailpassword/epmodels" - "github.com/supertokens/supertokens-golang/supertokens" -) - -type ReqBody struct { - RequestID *string `json:"requestId"` -} - -func signInPOST(formFields []epmodels.TypeFormField, tenantId string, options epmodels.APIOptions, userContext supertokens.UserContext) (epmodels.SignInPOSTResponse, error) { - // ... your code here ... - var reqBody ReqBody - err := json.NewDecoder(options.Req.Body).Decode(&reqBody) - if err != nil { - return epmodels.SignInPOSTResponse{}, err - } - - if reqBody.RequestID == nil { - return epmodels.SignInPOSTResponse{ - GeneralError: &supertokens.GeneralErrorResponse{ - Message: "The request ID is required", - }, - }, nil - } - requestId := *reqBody.RequestID - _ = requestId - // ... your code here ... - - return epmodels.SignInPOSTResponse{}, nil -} -``` - - - - - -```python -from supertokens_python.recipe.emailpassword.interfaces import APIOptions -from supertokens_python.types import GeneralErrorResponse - -async def sign_in_post(api_options: APIOptions): - # ... your code here ... - request_body = await api_options.request.json() - if not request_body: - return GeneralErrorResponse(message="The request body is required") - - request_id = request_body.get("requestId") - if not request_id: - return GeneralErrorResponse(message="The request ID is required") - # ... your code here ... -``` - - - - - -:::note -For using with other frameworks, you can follow the same steps as for the other languages and you can also refer to the [API documenation](#setting-up). -::: - - - - - +A more complete example of how to retrieve the request ID from the input body can be found in the [examples section](#examples). :::important The `requestId` should be required when the trying to reset password, sign in or sign up. If the `requestId` is not present, an error should be returned. You can see more in the [examples section](#examples). @@ -484,12 +387,19 @@ async function handleSecurityChecks(input: { requestBody.phoneNumber = input.phoneNumber; requestBody.actionType = input.actionType; - let response = await axios.post(ANOMALY_DETECTION_API_URL, requestBody, { + let response; + try { + response = await axios.post(ANOMALY_DETECTION_API_URL, requestBody, { headers: { "Authorization": `Bearer ${SECRET_API_KEY}`, "Content-Type": "application/json" - } - }); + } + }); + } catch (err) { + // silently fail in order to not break the auth flow + return; + } + let responseData = response.data; if (responseData.bruteForce.detected) { @@ -633,7 +543,6 @@ SuperTokens.init({ const ip = getIpFromRequest(input.options.req.original); let email = input.formFields.filter((f) => f.id === "email")[0].value; const bruteForceConfig = getBruteForceConfig(email, ip, actionType); - const actionType = 'send-password-reset-email'; // we check the anomaly detection service before calling the original implementation of generatePasswordResetToken let securityCheckResponse = await handleSecurityChecks({ ...input, requestId, email, bruteForceConfig, actionType }); @@ -766,7 +675,8 @@ func handleSecurityChecks(input SecurityCheckInput) (*supertokens.GeneralErrorRe req, err := http.NewRequest("POST", ANOMALY_DETECTION_API_URL, bytes.NewBuffer(jsonBody)) if err != nil { - return nil, err + // silently fail in order to not break the auth flow + return nil } req.Header.Set("Content-Type", "application/json") @@ -1075,11 +985,15 @@ async def handle_security_checks(request_id: Union[str, None], password: Union[s request_body['phoneNumber'] = phone_number request_body['actionType'] = action_type - response = requests.post(ANOMALY_DETECTION_API_URL, json=request_body, headers={ - "Authorization": f"Bearer {SECRET_API_KEY}", - "Content-Type": "application/json" - }) - response_data = response.json() + try: + response = requests.post(ANOMALY_DETECTION_API_URL, json=request_body, headers={ + "Authorization": f"Bearer {SECRET_API_KEY}", + "Content-Type": "application/json" + }) + response_data = response.json() + except Exception as e: + # silently fail in order to not break the auth flow + return None if response_data.get('bruteForce', {}).get('detected'): return GeneralErrorResponse(message="Too many requests. Please try again later.") @@ -1325,12 +1239,18 @@ async function handleSecurityChecks(input: { requestBody.phoneNumber = input.phoneNumber; requestBody.actionType = input.actionType; - let response = await axios.post(ANOMALY_DETECTION_API_URL, requestBody, { + let response; + try { + response = await axios.post(ANOMALY_DETECTION_API_URL, requestBody, { headers: { "Authorization": `Bearer ${SECRET_API_KEY}`, "Content-Type": "application/json" - } - }); + } + }); + } catch (err) { + // silently fail in order to not break the auth flow + return; + } let responseData = response.data; if (responseData.bruteForce.detected) { @@ -1521,7 +1441,8 @@ func handleSecurityChecks(input SecurityCheckInput) (*supertokens.GeneralErrorRe req, err := http.NewRequest("POST", ANOMALY_DETECTION_API_URL, bytes.NewBuffer(jsonBody)) if err != nil { - return nil, err + // silently fail in order to not break the auth flow + return nil } req.Header.Set("Content-Type", "application/json") @@ -1691,11 +1612,15 @@ async def handle_security_checks(request_id: Union[str, None], password: Union[s request_body['phoneNumber'] = phone_number request_body['actionType'] = action_type - response = requests.post(ANOMALY_DETECTION_API_URL, json=request_body, headers={ - "Authorization": f"Bearer {SECRET_API_KEY}", - "Content-Type": "application/json" - }) - response_data = response.json() + try: + response = requests.post(ANOMALY_DETECTION_API_URL, json=request_body, headers={ + "Authorization": f"Bearer {SECRET_API_KEY}", + "Content-Type": "application/json" + }) + response_data = response.json() + except Exception as e: + # silently fail in order to not break the auth flow + return None if response_data.get('bruteForce', {}).get('detected'): return GeneralErrorResponse(message="Too many requests. Please try again later.") From b9bdc35e87b3efb3841f659412367e4645487ab3 Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Wed, 11 Sep 2024 17:32:04 +0300 Subject: [PATCH 24/27] pr fixes --- v2/anomalydetection/backend-setup.mdx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index 7d8bbc661..dc32a1385 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -675,12 +675,12 @@ func handleSecurityChecks(input SecurityCheckInput) (*supertokens.GeneralErrorRe req, err := http.NewRequest("POST", ANOMALY_DETECTION_API_URL, bytes.NewBuffer(jsonBody)) if err != nil { - // silently fail in order to not break the auth flow - return nil + // silently fail in order to not break the auth flow + return nil, nil } req.Header.Set("Content-Type", "application/json") - req.Header.Set("api-key", SECRET_API_KEY) + req.Header.Set("Authorization", "Bearer "+SECRET_API_KEY) client := &http.Client{} resp, err := client.Do(req) @@ -1442,11 +1442,11 @@ func handleSecurityChecks(input SecurityCheckInput) (*supertokens.GeneralErrorRe req, err := http.NewRequest("POST", ANOMALY_DETECTION_API_URL, bytes.NewBuffer(jsonBody)) if err != nil { // silently fail in order to not break the auth flow - return nil + return nil, nil } req.Header.Set("Content-Type", "application/json") - req.Header.Set("api-key", SECRET_API_KEY) + req.Header.Set("Authorization", "Bearer "+SECRET_API_KEY) client := &http.Client{} resp, err := client.Do(req) From f261c06d7866567dcbab44949ca3ed15285e1bb3 Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Thu, 12 Sep 2024 11:03:10 +0300 Subject: [PATCH 25/27] pr fixes --- v2/anomalydetection/backend-setup.mdx | 38 ++++++++++++++++----------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/anomalydetection/backend-setup.mdx index dc32a1385..22505a91d 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/anomalydetection/backend-setup.mdx @@ -956,7 +956,7 @@ The above code overrides the SuperTokens APIs and adding custom logic for anomal ```python -import requests +from httpx import AsyncClient from hashlib import sha1 from typing import Dict, Any, Union, List from supertokens_python import init, InputAppInfo @@ -970,7 +970,7 @@ SECRET_API_KEY = ""; # Your secret API key that you received fro # The full URL with the correct region will be provided by the SuperTokens team ANOMALY_DETECTION_API_URL = "https://security-.aws.supertokens.io/v1/security" -async def handle_security_checks(request_id: Union[str, None], password: Union[str, None], brute_force_config: List[Dict[str, Any]], email: Union[str, None], phone_number: Union[str, None], action_type: str): +async def handle_security_checks(request_id: Union[str, None], password: Union[str, None], brute_force_config: List[Dict[str, Any]], email: Union[str, None], phone_number: Union[str, None], action_type: str) -> Union[GeneralErrorResponse, None]: request_body = {} if request_id is not None: @@ -986,12 +986,13 @@ async def handle_security_checks(request_id: Union[str, None], password: Union[s request_body['actionType'] = action_type try: - response = requests.post(ANOMALY_DETECTION_API_URL, json=request_body, headers={ - "Authorization": f"Bearer {SECRET_API_KEY}", - "Content-Type": "application/json" - }) - response_data = response.json() - except Exception as e: + async with AsyncClient(timeout=10.0) as client: + response = await client.post(ANOMALY_DETECTION_API_URL, json=request_body, headers={ + "Authorization": f"Bearer {SECRET_API_KEY}", + "Content-Type": "application/json" + }) # type: ignore + response_data = response.json() + except: # silently fail in order to not break the auth flow return None @@ -1591,7 +1592,7 @@ The above code overrides the SuperTokens APIs and adding custom logic for anomal ```python -import requests +from httpx import AsyncClient from typing import Dict, Any, Union, List from supertokens_python import init, InputAppInfo from supertokens_python.recipe import passwordless @@ -1604,7 +1605,7 @@ SECRET_API_KEY = "" # Your secret API key that you received from # The full URL with the correct region will be provided by the SuperTokens team ANOMALY_DETECTION_API_URL = "https://security-.aws.supertokens.io/v1/security" -async def handle_security_checks(request_id: Union[str, None], password: Union[str, None], brute_force_config: List[Dict[str, Any]], email: Union[str, None], phone_number: Union[str, None], action_type: str): +async def handle_security_checks(request_id: Union[str, None], password: Union[str, None], brute_force_config: List[Dict[str, Any]], email: Union[str, None], phone_number: Union[str, None], action_type: str) -> Union[GeneralErrorResponse, None]: request_body = {} request_body['bruteForce'] = brute_force_config @@ -1613,12 +1614,13 @@ async def handle_security_checks(request_id: Union[str, None], password: Union[s request_body['actionType'] = action_type try: - response = requests.post(ANOMALY_DETECTION_API_URL, json=request_body, headers={ - "Authorization": f"Bearer {SECRET_API_KEY}", - "Content-Type": "application/json" - }) - response_data = response.json() - except Exception as e: + async with AsyncClient(timeout=10.0) as client: + response = await client.post(ANOMALY_DETECTION_API_URL, json=request_body, headers={ + "Authorization": f"Bearer {SECRET_API_KEY}", + "Content-Type": "application/json" + }) # type: ignore + response_data = response.json() + except: # silently fail in order to not break the auth flow return None @@ -1667,6 +1669,8 @@ def override_passwordless_apis(original_implementation: APIInterface): # we check the anomaly detection service before calling the original implementation of signUp security_check_response = await handle_security_checks( + request_id=None, + password=None, brute_force_config=brute_force_config, email=email, phone_number=phone_number, @@ -1700,6 +1704,8 @@ def override_passwordless_apis(original_implementation: APIInterface): # we check the anomaly detection service before calling the original implementation of signUp security_check_response = await handle_security_checks( + request_id=None, + password=None, brute_force_config=brute_force_config, email=email, phone_number=phone_number, From 9e7a4fb59c6f9b4241d7be2df1c0aa1c5787cf46 Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Thu, 12 Sep 2024 11:40:49 +0300 Subject: [PATCH 26/27] added links to menus --- v2/emailpassword/anomaly-detection.mdx | 9 + v2/emailpassword/sidebars.js | 413 ++++++++--------- v2/passwordless/anomaly-detection.mdx | 9 + v2/passwordless/sidebars.js | 402 ++++++++-------- v2/src/components/recipeBoxes/guides.json | 5 + v2/src/theme/NavbarItem/recipeSelector.js | 9 + .../img/guides/anomalyDetection-orange.svg | 3 + v2/static/img/guides/anomalyDetection.svg | 3 + v2/thirdparty/anomaly-detection.mdx | 9 + v2/thirdparty/sidebars.js | 406 ++++++++--------- .../anomaly-detection.mdx | 9 + v2/thirdpartyemailpassword/sidebars.js | 428 +++++++++--------- .../anomaly-detection.mdx | 9 + v2/thirdpartypasswordless/sidebars.js | 426 +++++++++-------- 14 files changed, 1077 insertions(+), 1063 deletions(-) create mode 100644 v2/emailpassword/anomaly-detection.mdx create mode 100644 v2/passwordless/anomaly-detection.mdx create mode 100644 v2/static/img/guides/anomalyDetection-orange.svg create mode 100644 v2/static/img/guides/anomalyDetection.svg create mode 100644 v2/thirdparty/anomaly-detection.mdx create mode 100644 v2/thirdpartyemailpassword/anomaly-detection.mdx create mode 100644 v2/thirdpartypasswordless/anomaly-detection.mdx diff --git a/v2/emailpassword/anomaly-detection.mdx b/v2/emailpassword/anomaly-detection.mdx new file mode 100644 index 000000000..1bdb7a102 --- /dev/null +++ b/v2/emailpassword/anomaly-detection.mdx @@ -0,0 +1,9 @@ +--- +id: anomaly-detection +title: Anomaly Detection +hide_title: true +--- + +# Anomaly Detection + +See our guide for anomaly detection [here](/docs/anomalydetection/introduction). \ No newline at end of file diff --git a/v2/emailpassword/sidebars.js b/v2/emailpassword/sidebars.js index eebacc885..dad1d712a 100644 --- a/v2/emailpassword/sidebars.js +++ b/v2/emailpassword/sidebars.js @@ -10,63 +10,63 @@ module.exports = { items: [ "introduction", { - type: 'category', - label: 'Quick setup with Pre built UI', + type: "category", + label: "Quick setup with Pre built UI", customProps: { categoryIcon: "lightning", }, items: [ { - type: 'category', - label: 'Setup', + type: "category", + label: "Setup", collapsed: false, items: [ "pre-built-ui/setup/frontend", "pre-built-ui/setup/backend", { - type: 'category', - label: 'Step 3: Core', + type: "category", + label: "Step 3: Core", items: [ { - type: 'category', - label: 'Self hosted', + type: "category", + label: "Self hosted", items: [ "pre-built-ui/setup/core/with-docker", "pre-built-ui/setup/core/without-docker", "pre-built-ui/setup/core/aws-setup-with-stacksnap", { - type: 'category', - label: 'Database Setup', + type: "category", + label: "Database Setup", items: [ "pre-built-ui/setup/database-setup/mysql", "pre-built-ui/setup/database-setup/postgresql", - "pre-built-ui/setup/database-setup/rename-database-tables" + "pre-built-ui/setup/database-setup/rename-database-tables", ], - } + }, ], }, - "pre-built-ui/setup/core/saas-setup" + "pre-built-ui/setup/core/saas-setup", ], }, { - type: 'category', + type: "category", label: "Step 4: User management dashboard", items: [ "pre-built-ui/setup/user-management-dashboard/setup", "pre-built-ui/setup/user-management-dashboard/users-listing-and-details", "pre-built-ui/setup/user-management-dashboard/managing-user-roles-and-permissions", { - type: 'category', - label: 'Tenant Management', + type: "category", + label: "Tenant Management", collapsed: true, items: [ "pre-built-ui/setup/user-management-dashboard/tenant-management/overview", "pre-built-ui/setup/user-management-dashboard/tenant-management/details", - ] - } - ] + ], + }, + ], }, - ] + ], }, "pre-built-ui/handling-session-tokens", "pre-built-ui/securing-routes", @@ -75,74 +75,74 @@ module.exports = { "pre-built-ui/enable-email-verification", "pre-built-ui/multitenant-login", { - type: 'category', - label: 'Further Reading', + type: "category", + label: "Further Reading", items: [ "pre-built-ui/further-reading/email-password-login", "pre-built-ui/further-reading/password-reset", - "pre-built-ui/further-reading/email-verification" - ] + "pre-built-ui/further-reading/email-verification", + ], }, ], }, { - type: 'category', - label: 'Using your own UI / Custom UI', + type: "category", + label: "Using your own UI / Custom UI", customProps: { categoryIcon: "pencil", }, items: [ { - type: 'category', - label: 'Initialisation', + type: "category", + label: "Initialisation", collapsed: false, items: [ "custom-ui/init/frontend", "custom-ui/init/backend", { - type: 'category', - label: 'Step 3: Core', + type: "category", + label: "Step 3: Core", items: [ { - type: 'category', - label: 'Self hosted', + type: "category", + label: "Self hosted", items: [ "custom-ui/init/core/with-docker", "custom-ui/init/core/without-docker", "custom-ui/init/core/aws-setup-with-stacksnap", { - type: 'category', - label: 'Database Setup', + type: "category", + label: "Database Setup", items: [ "custom-ui/init/database-setup/mysql", "custom-ui/init/database-setup/postgresql", - "custom-ui/init/database-setup/rename-database-tables" + "custom-ui/init/database-setup/rename-database-tables", ], - } + }, ], }, - "custom-ui/init/core/saas-setup" + "custom-ui/init/core/saas-setup", ], }, { - type: 'category', + type: "category", label: "Step 4: User management dashboard", items: [ "custom-ui/init/user-management-dashboard/setup", "custom-ui/init/user-management-dashboard/users-listing-and-details", "custom-ui/init/user-management-dashboard/managing-user-roles-and-permissions", { - type: 'category', - label: 'Tenant Management', + type: "category", + label: "Tenant Management", collapsed: true, items: [ "custom-ui/init/user-management-dashboard/tenant-management/overview", "custom-ui/init/user-management-dashboard/tenant-management/details", - ] - } - ] + ], + }, + ], }, - ] + ], }, "custom-ui/email-password-login", "custom-ui/handling-session-tokens", @@ -153,7 +153,7 @@ module.exports = { "custom-ui/multitenant-login", ], }, - ] + ], }, "user-object", { @@ -162,43 +162,41 @@ module.exports = { customProps: { logoUrl: [ { - url: '/img/logos/hasura-logo.png', - label: 'Hasura', + url: "/img/logos/hasura-logo.png", + label: "Hasura", }, { - url: '/img/logos/graphql-logo.png', - label: 'GraphQL', + url: "/img/logos/graphql-logo.png", + label: "GraphQL", }, { - url: '/img/logos/next-logo.png', - label: 'NextJS', + url: "/img/logos/next-logo.png", + label: "NextJS", }, { - url: '/img/logos/nest-logo.svg', - label: 'NestJS', + url: "/img/logos/nest-logo.svg", + label: "NestJS", }, { - url: '/img/logos/aws-lambda.svg', - label: 'AWS Lambda', + url: "/img/logos/aws-lambda.svg", + label: "AWS Lambda", }, ], }, items: [ { - type: 'category', - label: 'Hasura', + type: "category", + label: "Hasura", customProps: { - logoUrl: '/img/logos/hasura-logo.png' + logoUrl: "/img/logos/hasura-logo.png", }, - items: [ - "hasura-integration/with-jwt" - ], + items: ["hasura-integration/with-jwt"], }, { - type: 'category', - label: 'GraphQL', + type: "category", + label: "GraphQL", customProps: { - logoUrl: '/img/logos/graphql-logo.png' + logoUrl: "/img/logos/graphql-logo.png", }, items: [ "graphql-integration/backend-setup", @@ -206,15 +204,15 @@ module.exports = { ], }, { - type: 'category', - label: 'NextJS', + type: "category", + label: "NextJS", customProps: { - logoUrl: '/img/logos/next-logo.png' + logoUrl: "/img/logos/next-logo.png", }, items: [ { - type: 'category', - label: 'Using the App directory', + type: "category", + label: "Using the App directory", items: [ "nextjs/app-directory/about", "nextjs/app-directory/init", @@ -230,12 +228,12 @@ module.exports = { ], }, "nextjs/app-directory/server-components-requests", - "nextjs/app-directory/next-steps" + "nextjs/app-directory/next-steps", ], }, { - type: 'category', - label: 'Using the Pages directory', + type: "category", + label: "Using the Pages directory", items: [ "nextjs/about", "nextjs/init", @@ -243,43 +241,39 @@ module.exports = { "nextjs/setting-up-backend", "nextjs/protecting-route", { - type: 'category', - label: '5. Session verification', + type: "category", + label: "5. Session verification", items: [ "nextjs/session-verification/in-api", - "nextjs/session-verification/in-ssr" + "nextjs/session-verification/in-ssr", ], }, - "nextjs/next-steps" + "nextjs/next-steps", ], }, ], }, { - type: 'category', - label: 'NestJS', + type: "category", + label: "NestJS", customProps: { - logoUrl: '/img/logos/nest-logo.svg' + logoUrl: "/img/logos/nest-logo.svg", }, - items: [ - "nestjs/guide", - ], + items: ["nestjs/guide"], }, { - type: 'category', - label: 'RedwoodJS', + type: "category", + label: "RedwoodJS", customProps: { - logoUrl: '/img/logos/redwood-logo.png', + logoUrl: "/img/logos/redwood-logo.png", }, - items: [ - "redwood/about" - ], + items: ["redwood/about"], }, { - type: 'category', - label: 'Netlify', + type: "category", + label: "Netlify", customProps: { - logoUrl: '/img/logos/netlify.svg' + logoUrl: "/img/logos/netlify.svg", }, items: [ "serverless/with-netlify/about", @@ -287,21 +281,21 @@ module.exports = { "serverless/with-netlify/backend-config", "serverless/with-netlify/auth-serverless", "serverless/with-netlify/session-verification", - "serverless/with-netlify/next-steps" + "serverless/with-netlify/next-steps", ], }, { - type: 'category', - label: 'AWS Lambda', + type: "category", + label: "AWS Lambda", customProps: { - logoUrl: '/img/logos/aws-lambda.svg' + logoUrl: "/img/logos/aws-lambda.svg", }, items: [ "serverless/with-aws-lambda/about", "serverless/with-aws-lambda/frontend", { - type: 'category', - label: '2. Backend config', + type: "category", + label: "2. Backend config", items: [ "serverless/with-aws-lambda/setup-lambda-layer", "serverless/with-aws-lambda/setup-lambda", @@ -309,8 +303,8 @@ module.exports = { ], }, { - type: 'category', - label: '3. Session Verification', + type: "category", + label: "3. Session Verification", items: [ "serverless/with-aws-lambda/session-verification", "serverless/with-aws-lambda/authorizer", @@ -318,14 +312,14 @@ module.exports = { ], }, "serverless/with-aws-lambda/next-steps", - "serverless/with-aws-lambda/appsync-integration" + "serverless/with-aws-lambda/appsync-integration", ], }, { - type: 'category', - label: 'Supabase', + type: "category", + label: "Supabase", customProps: { - logoUrl: '/img/logos/supabase-logo.jpg' + logoUrl: "/img/logos/supabase-logo.jpg", }, items: [ "supabase-intergration/about", @@ -334,39 +328,33 @@ module.exports = { "supabase-intergration/supabase-client", "supabase-intergration/backend-signup-override", "supabase-intergration/frontend", - "supabase-intergration/policies" + "supabase-intergration/policies", ], }, { - type: 'category', - label: 'Vercel', + type: "category", + label: "Vercel", customProps: { - logoUrl: '/img/logos/vercel.jpeg' + logoUrl: "/img/logos/vercel.jpeg", }, - items: [ - "serverless/with-vercel/about" - ], + items: ["serverless/with-vercel/about"], }, { - type: 'category', - label: 'Capacitor', + type: "category", + label: "Capacitor", customProps: { - logoUrl: '/img/logos/capacitorjs-icon.svg' + logoUrl: "/img/logos/capacitorjs-icon.svg", }, - items: [ - "capacitor-integration/about" - ], + items: ["capacitor-integration/about"], }, { - type: 'category', - label: 'T4 App', + type: "category", + label: "T4 App", customProps: { - logoUrl: '/img/logos/t4-app.png' + logoUrl: "/img/logos/t4-app.png", }, - items: [ - "t4-app/about" - ], - } + items: ["t4-app/about"], + }, ], }, { @@ -381,8 +369,8 @@ module.exports = { "common-customizations/sessions/session-verification-in-api/overview", "common-customizations/sessions/session-verification-in-api/verify-session", "common-customizations/sessions/session-verification-in-api/get-session", - "common-customizations/sessions/with-jwt/jwt-verification" - ] + "common-customizations/sessions/with-jwt/jwt-verification", + ], }, "common-customizations/sessions/protecting-frontend-routes", "common-customizations/sessions/with-jwt/read-jwt", @@ -392,8 +380,8 @@ module.exports = { label: "Reading / modifying session claims", items: [ "common-customizations/sessions/claims/access-token-payload", - "common-customizations/sessions/claims/claim-validators" - ] + "common-customizations/sessions/claims/claim-validators", + ], }, "common-customizations/sessions/revoke-session", "common-customizations/sessions/anonymous-session", @@ -410,8 +398,8 @@ module.exports = { "common-customizations/sessions/same-site-cookie", "common-customizations/sessions/jwt-signing-key-rotation", "common-customizations/sessions/change-session-timeout", - "common-customizations/sessions/access-token-blacklisting" - ] + "common-customizations/sessions/access-token-blacklisting", + ], }, "common-customizations/sessions/share-sessions-across-sub-domains", "common-customizations/sessions/token-transfer-method", @@ -424,25 +412,25 @@ module.exports = { "common-customizations/sessions/fetch-sessions-for-user", "common-customizations/sessions/in-iframe", "common-customizations/sessions/error-handling", - "common-customizations/sessions/disable-interception" - ] + "common-customizations/sessions/disable-interception", + ], }, - ] + ], }, { - type: 'category', - label: 'Auth flow customizations', + type: "category", + label: "Auth flow customizations", collapsed: true, items: [ "common-customizations/handling-signup-success", "common-customizations/handling-signin-success", { - type: 'category', - label: 'Sign In / Up', + type: "category", + label: "Sign In / Up", items: [ { - type: 'category', - label: 'Sign Up Form', + type: "category", + label: "Sign Up Form", items: [ "common-customizations/signup-form/adding-fields", "common-customizations/signup-form/customising-each-form-field", @@ -455,7 +443,7 @@ module.exports = { items: [ "common-customizations/signin-form/customising-each-form-field", "common-customizations/signin-form/field-validators", - ] + ], }, { type: "category", @@ -468,11 +456,11 @@ module.exports = { label: "Common UX flows", items: [ "common-customizations/multi-tenancy/common-domain-login", - "common-customizations/multi-tenancy/sub-domain-login" - ] + "common-customizations/multi-tenancy/sub-domain-login", + ], }, "common-customizations/multi-tenancy/multi-app", - ] + ], }, "common-customizations/signup-form/toc-privacypolicy", "common-customizations/embed-sign-in-up-form", @@ -486,8 +474,8 @@ module.exports = { type: "category", label: "Account Linking", items: [ - "common-customizations/account-linking/adding-accounts-to-session" - ] + "common-customizations/account-linking/adding-accounts-to-session", + ], }, "common-customizations/change-password", "common-customizations/change-email-post-login", @@ -500,9 +488,8 @@ module.exports = { "common-customizations/reset-password/embed-in-page", "common-customizations/reset-password/post-reset-password", "common-customizations/reset-password/changing-token-lifetime", - "common-customizations/reset-password/generate-link-manually" - - ] + "common-customizations/reset-password/generate-link-manually", + ], }, { type: "category", @@ -516,26 +503,26 @@ module.exports = { "common-customizations/email-verification/changing-token-lifetime", "common-customizations/email-verification/changing-style", "common-customizations/email-verification/changing-email-verification-status", - "common-customizations/email-verification/generate-link-manually" - ] + "common-customizations/email-verification/generate-link-manually", + ], }, { - type: 'category', - label: 'Email Delivery', + type: "category", + label: "Email Delivery", items: [ "email-delivery/about", "email-delivery/default", { - type: 'category', - label: 'Method 2) SMTP service', + type: "category", + label: "Method 2) SMTP service", items: [ "email-delivery/smtp/configure-smtp", - "email-delivery/smtp/change-email-content" - ] + "email-delivery/smtp/change-email-content", + ], }, "email-delivery/custom-method", - "email-delivery/pre-post-email" - ] + "email-delivery/pre-post-email", + ], }, { type: "category", @@ -543,18 +530,18 @@ module.exports = { items: [ "common-customizations/password-hashing/about", "common-customizations/password-hashing/bcrypt", - "common-customizations/password-hashing/argon2" - ] + "common-customizations/password-hashing/argon2", + ], }, { - type: 'category', - label: 'User Metadata', + type: "category", + label: "User Metadata", items: [ "common-customizations/usermetadata/about", "common-customizations/usermetadata/setup", "common-customizations/usermetadata/store-data", "common-customizations/usermetadata/get-data", - "common-customizations/usermetadata/clear-data" + "common-customizations/usermetadata/clear-data", ], }, { @@ -563,8 +550,8 @@ module.exports = { items: [ "common-customizations/styling/changing-colours", "common-customizations/styling/changing-style", - "common-customizations/styling/shadow-dom" - ] + "common-customizations/styling/shadow-dom", + ], }, "common-customizations/translations", { @@ -572,70 +559,71 @@ module.exports = { label: "Changing base path", items: [ "common-customizations/changing-base-path/website-base-path", - "common-customizations/changing-base-path/api-base-path" - ] + "common-customizations/changing-base-path/api-base-path", + ], }, "common-customizations/multiple-clients", "common-customizations/userid-format", { - type: 'category', - label: 'Backend and frontend overrides (actions, hooks and UI customisation)', + type: "category", + label: + "Backend and frontend overrides (actions, hooks and UI customisation)", items: [ "advanced-customizations/overview", "advanced-customizations/user-context/custom-request-properties", { - type: 'category', - label: 'React component override', + type: "category", + label: "React component override", items: [ "advanced-customizations/react-component-override/about", - "advanced-customizations/react-component-override/usage" + "advanced-customizations/react-component-override/usage", ], }, { - type: 'category', - label: 'Frontend functions override', + type: "category", + label: "Frontend functions override", items: [ "advanced-customizations/frontend-functions-override/about", - "advanced-customizations/frontend-functions-override/usage" + "advanced-customizations/frontend-functions-override/usage", ], }, { - type: 'category', - label: 'Backend functions override', + type: "category", + label: "Backend functions override", items: [ "advanced-customizations/backend-functions-override/about", - "advanced-customizations/backend-functions-override/usage" + "advanced-customizations/backend-functions-override/usage", ], }, { - type: 'category', - label: 'APIs override', + type: "category", + label: "APIs override", items: [ "advanced-customizations/apis-override/about", "advanced-customizations/apis-override/usage", { - type: 'category', - label: 'Sending custom response', + type: "category", + label: "Sending custom response", items: [ "advanced-customizations/apis-override/custom-response/api-override", "advanced-customizations/apis-override/custom-response/throwing-error", - "advanced-customizations/apis-override/custom-response/general-error" + "advanced-customizations/apis-override/custom-response/general-error", ], }, - "advanced-customizations/apis-override/disabling" + "advanced-customizations/apis-override/disabling", ], }, { - type: 'category', - label: 'Frontend hooks', + type: "category", + label: "Frontend hooks", items: [ "advanced-customizations/frontend-hooks/pre-api", "advanced-customizations/frontend-hooks/handle-event", - "advanced-customizations/frontend-hooks/redirection-callback" + "advanced-customizations/frontend-hooks/redirection-callback", ], }, "advanced-customizations/user-context", - "advanced-customizations/backend-sdk-core-interceptor" + "advanced-customizations/backend-sdk-core-interceptor", ], }, { @@ -656,10 +644,10 @@ module.exports = { "common-customizations/cli/start", "common-customizations/cli/list", "common-customizations/cli/stop", - "common-customizations/cli/uninstall" - ] + "common-customizations/cli/uninstall", + ], }, - ] + ], }, { type: "category", @@ -670,28 +658,28 @@ module.exports = { label: "Disable sign up / implement invite flow", items: [ "common-customizations/disable-sign-up/overview", - "common-customizations/disable-sign-up/emailpassword-changes" - ] + "common-customizations/disable-sign-up/emailpassword-changes", + ], }, { type: "category", label: "Implement username and password login", items: [ "common-customizations/username-password/overview", - "common-customizations/username-password/emailpassword-changes" - ] + "common-customizations/username-password/emailpassword-changes", + ], }, - ] + ], }, ], }, { - type: 'category', - label: 'Additional Features', + type: "category", + label: "Additional Features", items: [ { - type: 'category', - label: 'User Roles', + type: "category", + label: "User Roles", items: [ "user-roles/initialisation", "user-roles/creating-role", @@ -703,38 +691,39 @@ module.exports = { ], }, "mfa", - "multi-tenant" - ] + "multi-tenant", + "anomaly-detection", + ], }, "scalability", "rate-limits", { - type: 'category', - label: 'Testing & Debugging', + type: "category", + label: "Testing & Debugging", items: [ "testing/testing-with-postman", "troubleshooting/how-to-troubleshoot", - "troubleshooting/cors-issues" + "troubleshooting/cors-issues", ], }, { - type: 'category', - label: 'Migration', + type: "category", + label: "Migration", items: [ "migration/about", { - type: 'category', - label: 'Step 1) Account Creation', + type: "category", + label: "Step 1) Account Creation", items: [ "migration/account-creation/user-creation", "migration/account-creation/user-id-mapping", "migration/account-creation/email-verification", - "migration/account-creation/ep-migration-without-password-hash" + "migration/account-creation/ep-migration-without-password-hash", ], }, "migration/data-migration", "migration/session-migration", - "migration/mfa-migration" + "migration/mfa-migration", ], }, { @@ -746,8 +735,8 @@ module.exports = { "appinfo", "sdks", "apis", - "compatibility-table" + "compatibility-table", ], }, - ] + ], }; diff --git a/v2/passwordless/anomaly-detection.mdx b/v2/passwordless/anomaly-detection.mdx new file mode 100644 index 000000000..1bdb7a102 --- /dev/null +++ b/v2/passwordless/anomaly-detection.mdx @@ -0,0 +1,9 @@ +--- +id: anomaly-detection +title: Anomaly Detection +hide_title: true +--- + +# Anomaly Detection + +See our guide for anomaly detection [here](/docs/anomalydetection/introduction). \ No newline at end of file diff --git a/v2/passwordless/sidebars.js b/v2/passwordless/sidebars.js index 48dce0c3a..095fa9448 100644 --- a/v2/passwordless/sidebars.js +++ b/v2/passwordless/sidebars.js @@ -10,63 +10,63 @@ module.exports = { items: [ "introduction", { - type: 'category', - label: 'Quick setup with Pre built UI', + type: "category", + label: "Quick setup with Pre built UI", customProps: { categoryIcon: "lightning", }, items: [ { - type: 'category', - label: 'Setup', + type: "category", + label: "Setup", collapsed: false, items: [ "pre-built-ui/setup/frontend", "pre-built-ui/setup/backend", { - type: 'category', - label: 'Step 3: Core', + type: "category", + label: "Step 3: Core", items: [ { - type: 'category', - label: 'Self hosted', + type: "category", + label: "Self hosted", items: [ "pre-built-ui/setup/core/with-docker", "pre-built-ui/setup/core/without-docker", "pre-built-ui/setup/core/aws-setup-with-stacksnap", { - type: 'category', - label: 'Database Setup', + type: "category", + label: "Database Setup", items: [ "pre-built-ui/setup/database-setup/mysql", "pre-built-ui/setup/database-setup/postgresql", - "pre-built-ui/setup/database-setup/rename-database-tables" + "pre-built-ui/setup/database-setup/rename-database-tables", ], - } + }, ], }, - "pre-built-ui/setup/core/saas-setup" + "pre-built-ui/setup/core/saas-setup", ], }, { - type: 'category', + type: "category", label: "Step 4: User management dashboard", items: [ "pre-built-ui/setup/user-management-dashboard/setup", "pre-built-ui/setup/user-management-dashboard/users-listing-and-details", "pre-built-ui/setup/user-management-dashboard/managing-user-roles-and-permissions", { - type: 'category', - label: 'Tenant Management', + type: "category", + label: "Tenant Management", collapsed: true, items: [ "pre-built-ui/setup/user-management-dashboard/tenant-management/overview", "pre-built-ui/setup/user-management-dashboard/tenant-management/details", - ] - } - ] + ], + }, + ], }, - ] + ], }, "pre-built-ui/handling-session-tokens", "pre-built-ui/securing-routes", @@ -75,73 +75,73 @@ module.exports = { "pre-built-ui/enable-email-verification", "pre-built-ui/multitenant-login", { - type: 'category', - label: 'Further Reading', + type: "category", + label: "Further Reading", items: [ "pre-built-ui/further-reading/passwordless-login", - "pre-built-ui/further-reading/email-verification" - ] + "pre-built-ui/further-reading/email-verification", + ], }, ], }, { - type: 'category', - label: 'Using your own UI / Custom UI', + type: "category", + label: "Using your own UI / Custom UI", customProps: { categoryIcon: "pencil", }, items: [ { - type: 'category', - label: 'Initialisation', + type: "category", + label: "Initialisation", collapsed: false, items: [ "custom-ui/init/frontend", "custom-ui/init/backend", { - type: 'category', - label: 'Step 3: Core', + type: "category", + label: "Step 3: Core", items: [ { - type: 'category', - label: 'Self hosted', + type: "category", + label: "Self hosted", items: [ "custom-ui/init/core/with-docker", "custom-ui/init/core/without-docker", "custom-ui/init/core/aws-setup-with-stacksnap", { - type: 'category', - label: 'Database Setup', + type: "category", + label: "Database Setup", items: [ "custom-ui/init/database-setup/mysql", "custom-ui/init/database-setup/postgresql", - "custom-ui/init/database-setup/rename-database-tables" + "custom-ui/init/database-setup/rename-database-tables", ], - } + }, ], }, - "custom-ui/init/core/saas-setup" + "custom-ui/init/core/saas-setup", ], }, { - type: 'category', + type: "category", label: "Step 4: User management dashboard", items: [ "custom-ui/init/user-management-dashboard/setup", "custom-ui/init/user-management-dashboard/users-listing-and-details", "custom-ui/init/user-management-dashboard/managing-user-roles-and-permissions", { - type: 'category', - label: 'Tenant Management', + type: "category", + label: "Tenant Management", collapsed: true, items: [ "custom-ui/init/user-management-dashboard/tenant-management/overview", "custom-ui/init/user-management-dashboard/tenant-management/details", - ] - } - ] + ], + }, + ], }, - ] + ], }, "custom-ui/login-magic-link", "custom-ui/login-otp", @@ -161,43 +161,41 @@ module.exports = { customProps: { logoUrl: [ { - url: '/img/logos/hasura-logo.png', - label: 'Hasura', + url: "/img/logos/hasura-logo.png", + label: "Hasura", }, { - url: '/img/logos/graphql-logo.png', - label: 'GraphQL', + url: "/img/logos/graphql-logo.png", + label: "GraphQL", }, { - url: '/img/logos/next-logo.png', - label: 'NextJS', + url: "/img/logos/next-logo.png", + label: "NextJS", }, { - url: '/img/logos/nest-logo.svg', - label: 'NestJS', + url: "/img/logos/nest-logo.svg", + label: "NestJS", }, { - url: '/img/logos/aws-lambda.svg', - label: 'AWS Lambda', + url: "/img/logos/aws-lambda.svg", + label: "AWS Lambda", }, ], }, items: [ { - type: 'category', - label: 'Hasura', + type: "category", + label: "Hasura", customProps: { - logoUrl: '/img/logos/hasura-logo.png' + logoUrl: "/img/logos/hasura-logo.png", }, - items: [ - "hasura-integration/with-jwt" - ], + items: ["hasura-integration/with-jwt"], }, { - type: 'category', - label: 'GraphQL', + type: "category", + label: "GraphQL", customProps: { - logoUrl: '/img/logos/graphql-logo.png' + logoUrl: "/img/logos/graphql-logo.png", }, items: [ "graphql-integration/backend-setup", @@ -205,15 +203,15 @@ module.exports = { ], }, { - type: 'category', - label: 'NextJS', + type: "category", + label: "NextJS", customProps: { - logoUrl: '/img/logos/next-logo.png' + logoUrl: "/img/logos/next-logo.png", }, items: [ { - type: 'category', - label: 'Using the App directory', + type: "category", + label: "Using the App directory", items: [ "nextjs/app-directory/about", "nextjs/app-directory/init", @@ -229,12 +227,12 @@ module.exports = { ], }, "nextjs/app-directory/server-components-requests", - "nextjs/app-directory/next-steps" + "nextjs/app-directory/next-steps", ], }, { - type: 'category', - label: 'Using the Pages directory', + type: "category", + label: "Using the Pages directory", items: [ "nextjs/about", "nextjs/init", @@ -242,43 +240,39 @@ module.exports = { "nextjs/setting-up-backend", "nextjs/protecting-route", { - type: 'category', - label: '5. Session verification', + type: "category", + label: "5. Session verification", items: [ "nextjs/session-verification/in-api", - "nextjs/session-verification/in-ssr" + "nextjs/session-verification/in-ssr", ], }, - "nextjs/next-steps" + "nextjs/next-steps", ], }, ], }, { - type: 'category', - label: 'NestJS', + type: "category", + label: "NestJS", customProps: { - logoUrl: '/img/logos/nest-logo.svg' + logoUrl: "/img/logos/nest-logo.svg", }, - items: [ - "nestjs/guide", - ], + items: ["nestjs/guide"], }, { - type: 'category', - label: 'RedwoodJS', + type: "category", + label: "RedwoodJS", customProps: { - logoUrl: '/img/logos/redwood-logo.png', + logoUrl: "/img/logos/redwood-logo.png", }, - items: [ - "redwood/about" - ], + items: ["redwood/about"], }, { - type: 'category', - label: 'Netlify', + type: "category", + label: "Netlify", customProps: { - logoUrl: '/img/logos/netlify.svg' + logoUrl: "/img/logos/netlify.svg", }, items: [ "serverless/with-netlify/about", @@ -286,21 +280,21 @@ module.exports = { "serverless/with-netlify/backend-config", "serverless/with-netlify/auth-serverless", "serverless/with-netlify/session-verification", - "serverless/with-netlify/next-steps" + "serverless/with-netlify/next-steps", ], }, { - type: 'category', - label: 'AWS Lambda', + type: "category", + label: "AWS Lambda", customProps: { - logoUrl: '/img/logos/aws-lambda.svg' + logoUrl: "/img/logos/aws-lambda.svg", }, items: [ "serverless/with-aws-lambda/about", "serverless/with-aws-lambda/frontend", { - type: 'category', - label: '2. Backend config', + type: "category", + label: "2. Backend config", items: [ "serverless/with-aws-lambda/setup-lambda-layer", "serverless/with-aws-lambda/setup-lambda", @@ -308,8 +302,8 @@ module.exports = { ], }, { - type: 'category', - label: '3. Session Verification', + type: "category", + label: "3. Session Verification", items: [ "serverless/with-aws-lambda/session-verification", "serverless/with-aws-lambda/authorizer", @@ -317,14 +311,14 @@ module.exports = { ], }, "serverless/with-aws-lambda/next-steps", - "serverless/with-aws-lambda/appsync-integration" + "serverless/with-aws-lambda/appsync-integration", ], }, { - type: 'category', - label: 'Supabase', + type: "category", + label: "Supabase", customProps: { - logoUrl: '/img/logos/supabase-logo.jpg' + logoUrl: "/img/logos/supabase-logo.jpg", }, items: [ "supabase-intergration/about", @@ -333,39 +327,33 @@ module.exports = { "supabase-intergration/supabase-client", "supabase-intergration/backend-signup-override", "supabase-intergration/frontend", - "supabase-intergration/policies" + "supabase-intergration/policies", ], }, { - type: 'category', - label: 'Vercel', + type: "category", + label: "Vercel", customProps: { - logoUrl: '/img/logos/vercel.jpeg' + logoUrl: "/img/logos/vercel.jpeg", }, - items: [ - "serverless/with-vercel/about" - ], + items: ["serverless/with-vercel/about"], }, { - type: 'category', - label: 'Capacitor', + type: "category", + label: "Capacitor", customProps: { - logoUrl: '/img/logos/capacitorjs-icon.svg' + logoUrl: "/img/logos/capacitorjs-icon.svg", }, - items: [ - "capacitor-integration/about" - ], + items: ["capacitor-integration/about"], }, { - type: 'category', - label: 'T4 App', + type: "category", + label: "T4 App", customProps: { - logoUrl: '/img/logos/t4-app.png' + logoUrl: "/img/logos/t4-app.png", }, - items: [ - "t4-app/about" - ], - } + items: ["t4-app/about"], + }, ], }, { @@ -380,8 +368,8 @@ module.exports = { "common-customizations/sessions/session-verification-in-api/overview", "common-customizations/sessions/session-verification-in-api/verify-session", "common-customizations/sessions/session-verification-in-api/get-session", - "common-customizations/sessions/with-jwt/jwt-verification" - ] + "common-customizations/sessions/with-jwt/jwt-verification", + ], }, "common-customizations/sessions/protecting-frontend-routes", "common-customizations/sessions/with-jwt/read-jwt", @@ -391,8 +379,8 @@ module.exports = { label: "Reading / modifying session claims", items: [ "common-customizations/sessions/claims/access-token-payload", - "common-customizations/sessions/claims/claim-validators" - ] + "common-customizations/sessions/claims/claim-validators", + ], }, "common-customizations/sessions/revoke-session", "common-customizations/sessions/anonymous-session", @@ -409,8 +397,8 @@ module.exports = { "common-customizations/sessions/same-site-cookie", "common-customizations/sessions/jwt-signing-key-rotation", "common-customizations/sessions/change-session-timeout", - "common-customizations/sessions/access-token-blacklisting" - ] + "common-customizations/sessions/access-token-blacklisting", + ], }, "common-customizations/sessions/share-sessions-across-sub-domains", "common-customizations/sessions/token-transfer-method", @@ -423,14 +411,14 @@ module.exports = { "common-customizations/sessions/fetch-sessions-for-user", "common-customizations/sessions/in-iframe", "common-customizations/sessions/error-handling", - "common-customizations/sessions/disable-interception" - ] + "common-customizations/sessions/disable-interception", + ], }, - ] + ], }, { - type: 'category', - label: 'Auth flow customizations', + type: "category", + label: "Auth flow customizations", collapsed: true, items: [ "common-customizations/handling-signinup-success", @@ -454,11 +442,11 @@ module.exports = { label: "Common UX flows", items: [ "common-customizations/multi-tenancy/common-domain-login", - "common-customizations/multi-tenancy/sub-domain-login" - ] + "common-customizations/multi-tenancy/sub-domain-login", + ], }, "common-customizations/multi-tenancy/multi-app", - ] + ], }, "common-customizations/sign-in-and-up/toc-privacypolicy", "common-customizations/embed-sign-in-and-up-form", @@ -472,8 +460,8 @@ module.exports = { type: "category", label: "Account Linking", items: [ - "common-customizations/account-linking/adding-accounts-to-session" - ] + "common-customizations/account-linking/adding-accounts-to-session", + ], }, "common-customizations/change-magic-link-url", "common-customizations/change-code-lifetime", @@ -490,55 +478,55 @@ module.exports = { "common-customizations/email-verification/changing-token-lifetime", "common-customizations/email-verification/changing-style", "common-customizations/email-verification/changing-email-verification-status", - "common-customizations/email-verification/generate-link-manually" - ] + "common-customizations/email-verification/generate-link-manually", + ], }, { - type: 'category', - label: 'Email Delivery', + type: "category", + label: "Email Delivery", items: [ "email-delivery/about", "email-delivery/default", { - type: 'category', - label: 'Method 2) SMTP service', + type: "category", + label: "Method 2) SMTP service", items: [ "email-delivery/smtp/configure-smtp", - "email-delivery/smtp/change-email-content" - ] + "email-delivery/smtp/change-email-content", + ], }, "email-delivery/custom-method", - "email-delivery/pre-post-email" - ] + "email-delivery/pre-post-email", + ], }, { - type: 'category', - label: 'SMS Delivery', + type: "category", + label: "SMS Delivery", items: [ "sms-delivery/about", "sms-delivery/default", { - type: 'category', - label: 'Method 2) Twilio service', + type: "category", + label: "Method 2) Twilio service", items: [ "sms-delivery/twilio/configure-twilio", - "sms-delivery/twilio/change-sms-content" - ] + "sms-delivery/twilio/change-sms-content", + ], }, "sms-delivery/supertokens-sms-service", "sms-delivery/custom-method", - "sms-delivery/pre-post-email" - ] + "sms-delivery/pre-post-email", + ], }, { - type: 'category', - label: 'User Metadata', + type: "category", + label: "User Metadata", items: [ "common-customizations/usermetadata/about", "common-customizations/usermetadata/setup", "common-customizations/usermetadata/store-data", "common-customizations/usermetadata/get-data", - "common-customizations/usermetadata/clear-data" + "common-customizations/usermetadata/clear-data", ], }, { @@ -547,8 +535,8 @@ module.exports = { items: [ "common-customizations/styling/changing-colours", "common-customizations/styling/changing-style", - "common-customizations/styling/shadow-dom" - ] + "common-customizations/styling/shadow-dom", + ], }, "common-customizations/translations", { @@ -556,70 +544,71 @@ module.exports = { label: "Changing base path", items: [ "common-customizations/changing-base-path/website-base-path", - "common-customizations/changing-base-path/api-base-path" - ] + "common-customizations/changing-base-path/api-base-path", + ], }, "common-customizations/multiple-clients", "common-customizations/userid-format", { - type: 'category', - label: 'Backend and frontend overrides (actions, hooks and UI customisation)', + type: "category", + label: + "Backend and frontend overrides (actions, hooks and UI customisation)", items: [ "advanced-customizations/overview", "advanced-customizations/user-context/custom-request-properties", { - type: 'category', - label: 'React component override', + type: "category", + label: "React component override", items: [ "advanced-customizations/react-component-override/about", - "advanced-customizations/react-component-override/usage" + "advanced-customizations/react-component-override/usage", ], }, { - type: 'category', - label: 'Frontend functions override', + type: "category", + label: "Frontend functions override", items: [ "advanced-customizations/frontend-functions-override/about", - "advanced-customizations/frontend-functions-override/usage" + "advanced-customizations/frontend-functions-override/usage", ], }, { - type: 'category', - label: 'Backend functions override', + type: "category", + label: "Backend functions override", items: [ "advanced-customizations/backend-functions-override/about", - "advanced-customizations/backend-functions-override/usage" + "advanced-customizations/backend-functions-override/usage", ], }, { - type: 'category', - label: 'APIs override', + type: "category", + label: "APIs override", items: [ "advanced-customizations/apis-override/about", "advanced-customizations/apis-override/usage", { - type: 'category', - label: 'Sending custom response', + type: "category", + label: "Sending custom response", items: [ "advanced-customizations/apis-override/custom-response/api-override", "advanced-customizations/apis-override/custom-response/throwing-error", - "advanced-customizations/apis-override/custom-response/general-error" + "advanced-customizations/apis-override/custom-response/general-error", ], }, - "advanced-customizations/apis-override/disabling" + "advanced-customizations/apis-override/disabling", ], }, { - type: 'category', - label: 'Frontend hooks', + type: "category", + label: "Frontend hooks", items: [ "advanced-customizations/frontend-hooks/pre-api", "advanced-customizations/frontend-hooks/handle-event", - "advanced-customizations/frontend-hooks/redirection-callback" + "advanced-customizations/frontend-hooks/redirection-callback", ], }, "advanced-customizations/user-context", - "advanced-customizations/backend-sdk-core-interceptor" + "advanced-customizations/backend-sdk-core-interceptor", ], }, { @@ -640,10 +629,10 @@ module.exports = { "common-customizations/cli/start", "common-customizations/cli/list", "common-customizations/cli/stop", - "common-customizations/cli/uninstall" - ] + "common-customizations/cli/uninstall", + ], }, - ] + ], }, { type: "category", @@ -655,20 +644,20 @@ module.exports = { items: [ "common-customizations/disable-sign-up/overview", "common-customizations/disable-sign-up/passwordless-via-allow-list", - "common-customizations/disable-sign-up/passwordless-via-invite-link" - ] + "common-customizations/disable-sign-up/passwordless-via-invite-link", + ], }, - ] + ], }, ], }, { - type: 'category', - label: 'Additional Features', + type: "category", + label: "Additional Features", items: [ { - type: 'category', - label: 'User Roles', + type: "category", + label: "User Roles", items: [ "user-roles/initialisation", "user-roles/creating-role", @@ -680,28 +669,29 @@ module.exports = { ], }, "mfa", - "multi-tenant" - ] + "multi-tenant", + "anomaly-detection", + ], }, "scalability", "rate-limits", { - type: 'category', - label: 'Testing & Debugging', + type: "category", + label: "Testing & Debugging", items: [ "testing/testing-with-postman", "troubleshooting/how-to-troubleshoot", - "troubleshooting/cors-issues" + "troubleshooting/cors-issues", ], }, { - type: 'category', - label: 'Migration', + type: "category", + label: "Migration", items: [ "migration/about", { - type: 'category', - label: 'Step 1) Account Creation', + type: "category", + label: "Step 1) Account Creation", items: [ "migration/account-creation/user-creation", "migration/account-creation/user-id-mapping", @@ -710,7 +700,7 @@ module.exports = { }, "migration/data-migration", "migration/session-migration", - "migration/mfa-migration" + "migration/mfa-migration", ], }, { @@ -723,8 +713,8 @@ module.exports = { "appinfo", "sdks", "apis", - "compatibility-table" + "compatibility-table", ], }, - ] + ], }; diff --git a/v2/src/components/recipeBoxes/guides.json b/v2/src/components/recipeBoxes/guides.json index d7a9a1805..fd59386c1 100644 --- a/v2/src/components/recipeBoxes/guides.json +++ b/v2/src/components/recipeBoxes/guides.json @@ -67,6 +67,11 @@ "title": "Multi tenancy / organizations", "icon": "multitenancy", "path": "/docs/multitenancy/introduction" + }, + { + "title": "Anomaly Detection", + "icon": "anomalyDetection", + "path": "/docs/anomalydetection/introduction" } ], "ref": [ diff --git a/v2/src/theme/NavbarItem/recipeSelector.js b/v2/src/theme/NavbarItem/recipeSelector.js index 68d476ea0..a918d6efc 100644 --- a/v2/src/theme/NavbarItem/recipeSelector.js +++ b/v2/src/theme/NavbarItem/recipeSelector.js @@ -183,6 +183,15 @@ export default function RecipeSelector(props) { Multi tenancy / organizations
+
  • + + Anomaly Detection + +
  • diff --git a/v2/static/img/guides/anomalyDetection-orange.svg b/v2/static/img/guides/anomalyDetection-orange.svg new file mode 100644 index 000000000..12692a28e --- /dev/null +++ b/v2/static/img/guides/anomalyDetection-orange.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/v2/static/img/guides/anomalyDetection.svg b/v2/static/img/guides/anomalyDetection.svg new file mode 100644 index 000000000..d362131ab --- /dev/null +++ b/v2/static/img/guides/anomalyDetection.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/v2/thirdparty/anomaly-detection.mdx b/v2/thirdparty/anomaly-detection.mdx new file mode 100644 index 000000000..1bdb7a102 --- /dev/null +++ b/v2/thirdparty/anomaly-detection.mdx @@ -0,0 +1,9 @@ +--- +id: anomaly-detection +title: Anomaly Detection +hide_title: true +--- + +# Anomaly Detection + +See our guide for anomaly detection [here](/docs/anomalydetection/introduction). \ No newline at end of file diff --git a/v2/thirdparty/sidebars.js b/v2/thirdparty/sidebars.js index 92976353c..ebf8d8ec6 100644 --- a/v2/thirdparty/sidebars.js +++ b/v2/thirdparty/sidebars.js @@ -10,63 +10,63 @@ module.exports = { items: [ "introduction", { - type: 'category', - label: 'Quick setup with Pre built UI', + type: "category", + label: "Quick setup with Pre built UI", customProps: { categoryIcon: "lightning", }, items: [ { - type: 'category', - label: 'Setup', + type: "category", + label: "Setup", collapsed: false, items: [ "pre-built-ui/setup/frontend", "pre-built-ui/setup/backend", { - type: 'category', - label: 'Step 3: Core', + type: "category", + label: "Step 3: Core", items: [ { - type: 'category', - label: 'Self hosted', + type: "category", + label: "Self hosted", items: [ "pre-built-ui/setup/core/with-docker", "pre-built-ui/setup/core/without-docker", "pre-built-ui/setup/core/aws-setup-with-stacksnap", { - type: 'category', - label: 'Database Setup', + type: "category", + label: "Database Setup", items: [ "pre-built-ui/setup/database-setup/mysql", "pre-built-ui/setup/database-setup/postgresql", - "pre-built-ui/setup/database-setup/rename-database-tables" + "pre-built-ui/setup/database-setup/rename-database-tables", ], - } + }, ], }, - "pre-built-ui/setup/core/saas-setup" + "pre-built-ui/setup/core/saas-setup", ], }, { - type: 'category', + type: "category", label: "Step 4: User management dashboard", items: [ "pre-built-ui/setup/user-management-dashboard/setup", "pre-built-ui/setup/user-management-dashboard/users-listing-and-details", "pre-built-ui/setup/user-management-dashboard/managing-user-roles-and-permissions", { - type: 'category', + type: "category", label: "Tenant management", items: [ "pre-built-ui/setup/user-management-dashboard/tenant-management/overview", "pre-built-ui/setup/user-management-dashboard/tenant-management/details", - "pre-built-ui/setup/user-management-dashboard/tenant-management/third-party", - ] - } - ] + "pre-built-ui/setup/user-management-dashboard/tenant-management/third-party", + ], + }, + ], }, - ] + ], }, "pre-built-ui/handling-session-tokens", "pre-built-ui/securing-routes", @@ -75,73 +75,73 @@ module.exports = { "pre-built-ui/enable-email-verification", "pre-built-ui/multitenant-login", { - type: 'category', - label: 'Further Reading', + type: "category", + label: "Further Reading", items: [ "pre-built-ui/further-reading/thirdparty-login", - "pre-built-ui/further-reading/email-verification" - ] + "pre-built-ui/further-reading/email-verification", + ], }, ], }, { - type: 'category', - label: 'Using your own UI / Custom UI', + type: "category", + label: "Using your own UI / Custom UI", customProps: { categoryIcon: "pencil", }, items: [ { - type: 'category', - label: 'Initialisation', + type: "category", + label: "Initialisation", collapsed: false, items: [ "custom-ui/init/frontend", "custom-ui/init/backend", { - type: 'category', - label: 'Step 3: Core', + type: "category", + label: "Step 3: Core", items: [ { - type: 'category', - label: 'Self hosted', + type: "category", + label: "Self hosted", items: [ "custom-ui/init/core/with-docker", "custom-ui/init/core/without-docker", "custom-ui/init/core/aws-setup-with-stacksnap", { - type: 'category', - label: 'Database Setup', + type: "category", + label: "Database Setup", items: [ "custom-ui/init/database-setup/mysql", "custom-ui/init/database-setup/postgresql", - "custom-ui/init/database-setup/rename-database-tables" + "custom-ui/init/database-setup/rename-database-tables", ], - } + }, ], }, - "custom-ui/init/core/saas-setup" + "custom-ui/init/core/saas-setup", ], }, { - type: 'category', + type: "category", label: "Step 4: User management dashboard", items: [ "custom-ui/init/user-management-dashboard/setup", "custom-ui/init/user-management-dashboard/users-listing-and-details", "custom-ui/init/user-management-dashboard/managing-user-roles-and-permissions", { - type: 'category', + type: "category", label: "Tenant management", items: [ "custom-ui/init/user-management-dashboard/tenant-management/overview", "custom-ui/init/user-management-dashboard/tenant-management/details", - "custom-ui/init/user-management-dashboard/tenant-management/third-party", - ] - } - ] + "custom-ui/init/user-management-dashboard/tenant-management/third-party", + ], + }, + ], }, - ] + ], }, "custom-ui/thirdparty-login", "custom-ui/handling-session-tokens", @@ -151,7 +151,7 @@ module.exports = { "custom-ui/multitenant-login", ], }, - ] + ], }, "user-object", { @@ -160,43 +160,41 @@ module.exports = { customProps: { logoUrl: [ { - url: '/img/logos/hasura-logo.png', - label: 'Hasura', + url: "/img/logos/hasura-logo.png", + label: "Hasura", }, { - url: '/img/logos/graphql-logo.png', - label: 'GraphQL', + url: "/img/logos/graphql-logo.png", + label: "GraphQL", }, { - url: '/img/logos/next-logo.png', - label: 'NextJS', + url: "/img/logos/next-logo.png", + label: "NextJS", }, { - url: '/img/logos/nest-logo.svg', - label: 'NestJS', + url: "/img/logos/nest-logo.svg", + label: "NestJS", }, { - url: '/img/logos/aws-lambda.svg', - label: 'AWS Lambda', + url: "/img/logos/aws-lambda.svg", + label: "AWS Lambda", }, ], }, items: [ { - type: 'category', - label: 'Hasura', + type: "category", + label: "Hasura", customProps: { - logoUrl: '/img/logos/hasura-logo.png' + logoUrl: "/img/logos/hasura-logo.png", }, - items: [ - "hasura-integration/with-jwt" - ], + items: ["hasura-integration/with-jwt"], }, { - type: 'category', - label: 'GraphQL', + type: "category", + label: "GraphQL", customProps: { - logoUrl: '/img/logos/graphql-logo.png' + logoUrl: "/img/logos/graphql-logo.png", }, items: [ "graphql-integration/backend-setup", @@ -204,15 +202,15 @@ module.exports = { ], }, { - type: 'category', - label: 'NextJS', + type: "category", + label: "NextJS", customProps: { - logoUrl: '/img/logos/next-logo.png' + logoUrl: "/img/logos/next-logo.png", }, items: [ { - type: 'category', - label: 'Using the App directory', + type: "category", + label: "Using the App directory", items: [ "nextjs/app-directory/about", "nextjs/app-directory/init", @@ -228,12 +226,12 @@ module.exports = { ], }, "nextjs/app-directory/server-components-requests", - "nextjs/app-directory/next-steps" + "nextjs/app-directory/next-steps", ], }, { - type: 'category', - label: 'Using the Pages directory', + type: "category", + label: "Using the Pages directory", items: [ "nextjs/about", "nextjs/init", @@ -241,43 +239,39 @@ module.exports = { "nextjs/setting-up-backend", "nextjs/protecting-route", { - type: 'category', - label: '5. Session verification', + type: "category", + label: "5. Session verification", items: [ "nextjs/session-verification/in-api", - "nextjs/session-verification/in-ssr" + "nextjs/session-verification/in-ssr", ], }, - "nextjs/next-steps" + "nextjs/next-steps", ], }, ], }, { - type: 'category', - label: 'NestJS', + type: "category", + label: "NestJS", customProps: { - logoUrl: '/img/logos/nest-logo.svg' + logoUrl: "/img/logos/nest-logo.svg", }, - items: [ - "nestjs/guide", - ], + items: ["nestjs/guide"], }, { - type: 'category', - label: 'RedwoodJS', + type: "category", + label: "RedwoodJS", customProps: { - logoUrl: '/img/logos/redwood-logo.png', + logoUrl: "/img/logos/redwood-logo.png", }, - items: [ - "redwood/about" - ], + items: ["redwood/about"], }, { - type: 'category', - label: 'Netlify', + type: "category", + label: "Netlify", customProps: { - logoUrl: '/img/logos/netlify.svg' + logoUrl: "/img/logos/netlify.svg", }, items: [ "serverless/with-netlify/about", @@ -285,21 +279,21 @@ module.exports = { "serverless/with-netlify/backend-config", "serverless/with-netlify/auth-serverless", "serverless/with-netlify/session-verification", - "serverless/with-netlify/next-steps" + "serverless/with-netlify/next-steps", ], }, { - type: 'category', - label: 'AWS Lambda', + type: "category", + label: "AWS Lambda", customProps: { - logoUrl: '/img/logos/aws-lambda.svg' + logoUrl: "/img/logos/aws-lambda.svg", }, items: [ "serverless/with-aws-lambda/about", "serverless/with-aws-lambda/frontend", { - type: 'category', - label: '2. Backend config', + type: "category", + label: "2. Backend config", items: [ "serverless/with-aws-lambda/setup-lambda-layer", "serverless/with-aws-lambda/setup-lambda", @@ -307,8 +301,8 @@ module.exports = { ], }, { - type: 'category', - label: '3. Session Verification', + type: "category", + label: "3. Session Verification", items: [ "serverless/with-aws-lambda/session-verification", "serverless/with-aws-lambda/authorizer", @@ -316,14 +310,14 @@ module.exports = { ], }, "serverless/with-aws-lambda/next-steps", - "serverless/with-aws-lambda/appsync-integration" + "serverless/with-aws-lambda/appsync-integration", ], }, { - type: 'category', - label: 'Supabase', + type: "category", + label: "Supabase", customProps: { - logoUrl: '/img/logos/supabase-logo.jpg' + logoUrl: "/img/logos/supabase-logo.jpg", }, items: [ "supabase-intergration/about", @@ -332,39 +326,33 @@ module.exports = { "supabase-intergration/supabase-client", "supabase-intergration/backend-signup-override", "supabase-intergration/frontend", - "supabase-intergration/policies" + "supabase-intergration/policies", ], }, { - type: 'category', - label: 'Vercel', + type: "category", + label: "Vercel", customProps: { - logoUrl: '/img/logos/vercel.jpeg' + logoUrl: "/img/logos/vercel.jpeg", }, - items: [ - "serverless/with-vercel/about" - ], + items: ["serverless/with-vercel/about"], }, { - type: 'category', - label: 'Capacitor', + type: "category", + label: "Capacitor", customProps: { - logoUrl: '/img/logos/capacitorjs-icon.svg' + logoUrl: "/img/logos/capacitorjs-icon.svg", }, - items: [ - "capacitor-integration/about" - ], + items: ["capacitor-integration/about"], }, { - type: 'category', - label: 'T4 App', + type: "category", + label: "T4 App", customProps: { - logoUrl: '/img/logos/t4-app.png' + logoUrl: "/img/logos/t4-app.png", }, - items: [ - "t4-app/about" - ], - } + items: ["t4-app/about"], + }, ], }, { @@ -379,8 +367,8 @@ module.exports = { "common-customizations/sessions/session-verification-in-api/overview", "common-customizations/sessions/session-verification-in-api/verify-session", "common-customizations/sessions/session-verification-in-api/get-session", - "common-customizations/sessions/with-jwt/jwt-verification" - ] + "common-customizations/sessions/with-jwt/jwt-verification", + ], }, "common-customizations/sessions/protecting-frontend-routes", "common-customizations/sessions/with-jwt/read-jwt", @@ -390,8 +378,8 @@ module.exports = { label: "Reading / modifying session claims", items: [ "common-customizations/sessions/claims/access-token-payload", - "common-customizations/sessions/claims/claim-validators" - ] + "common-customizations/sessions/claims/claim-validators", + ], }, "common-customizations/sessions/revoke-session", "common-customizations/sessions/anonymous-session", @@ -408,8 +396,8 @@ module.exports = { "common-customizations/sessions/same-site-cookie", "common-customizations/sessions/jwt-signing-key-rotation", "common-customizations/sessions/change-session-timeout", - "common-customizations/sessions/access-token-blacklisting" - ] + "common-customizations/sessions/access-token-blacklisting", + ], }, "common-customizations/sessions/share-sessions-across-sub-domains", "common-customizations/sessions/token-transfer-method", @@ -422,24 +410,24 @@ module.exports = { "common-customizations/sessions/fetch-sessions-for-user", "common-customizations/sessions/in-iframe", "common-customizations/sessions/error-handling", - "common-customizations/sessions/disable-interception" - ] + "common-customizations/sessions/disable-interception", + ], }, - ] + ], }, { - type: 'category', - label: 'Auth flow customizations', + type: "category", + label: "Auth flow customizations", collapsed: true, items: [ "common-customizations/handling-signinup-success", { - type: 'category', - label: 'Sign in / up', + type: "category", + label: "Sign in / up", items: [ { - type: 'category', - label: 'Social login providers', + type: "category", + label: "Social login providers", items: [ "common-customizations/sign-in-and-up/built-in-providers", "common-customizations/sign-in-and-up/custom-providers", @@ -456,20 +444,20 @@ module.exports = { label: "Common UX flows", items: [ "common-customizations/multi-tenancy/common-domain-login", - "common-customizations/multi-tenancy/sub-domain-login" - ] + "common-customizations/multi-tenancy/sub-domain-login", + ], }, { - type: 'category', - label: 'SAML Login', + type: "category", + label: "SAML Login", items: [ "common-customizations/saml/what-is-saml", "common-customizations/saml/saml-login", { - type: 'category', - label: 'With BoxyHQ', + type: "category", + label: "With BoxyHQ", customProps: { - logoUrl: '/img/logos/boxyhq.png' + logoUrl: "/img/logos/boxyhq.png", }, items: [ "common-customizations/saml/with-boxyhq/what-is-boxyhq", @@ -481,7 +469,7 @@ module.exports = { }, "common-customizations/multi-tenancy/custom-provider", "common-customizations/multi-tenancy/multi-app", - ] + ], }, "common-customizations/sign-in-and-up/provider-config", "common-customizations/sign-in-and-up/toc-privacypolicy", @@ -499,8 +487,8 @@ module.exports = { "common-customizations/account-linking/automatic-account-linking", "common-customizations/account-linking/manual-account-linking", "common-customizations/account-linking/security-considerations", - "common-customizations/account-linking/adding-accounts-to-session" - ] + "common-customizations/account-linking/adding-accounts-to-session", + ], }, { type: "category", @@ -515,29 +503,29 @@ module.exports = { "common-customizations/email-verification/changing-style", "common-customizations/email-verification/changing-email-verification-status", "common-customizations/email-verification/generate-link-manually", - ] + ], }, { - type: 'category', - label: 'Email Delivery', + type: "category", + label: "Email Delivery", items: [ "email-delivery/about", "email-delivery/default", { - type: 'category', - label: 'Method 2) SMTP service', + type: "category", + label: "Method 2) SMTP service", items: [ "email-delivery/smtp/configure-smtp", - "email-delivery/smtp/change-email-content" - ] + "email-delivery/smtp/change-email-content", + ], }, "email-delivery/custom-method", - "email-delivery/pre-post-email" - ] + "email-delivery/pre-post-email", + ], }, { - type: 'category', - label: 'User Metadata', + type: "category", + label: "User Metadata", items: [ "common-customizations/usermetadata/about", "common-customizations/usermetadata/setup", @@ -552,8 +540,8 @@ module.exports = { items: [ "common-customizations/styling/changing-colours", "common-customizations/styling/changing-style", - "common-customizations/styling/shadow-dom" - ] + "common-customizations/styling/shadow-dom", + ], }, "common-customizations/translations", { @@ -561,70 +549,71 @@ module.exports = { label: "Changing base path", items: [ "common-customizations/changing-base-path/website-base-path", - "common-customizations/changing-base-path/api-base-path" - ] + "common-customizations/changing-base-path/api-base-path", + ], }, "common-customizations/multiple-clients", "common-customizations/userid-format", { - type: 'category', - label: 'Backend and frontend overrides (actions, hooks and UI customisation)', + type: "category", + label: + "Backend and frontend overrides (actions, hooks and UI customisation)", items: [ "advanced-customizations/overview", "advanced-customizations/user-context/custom-request-properties", { - type: 'category', - label: 'React component override', + type: "category", + label: "React component override", items: [ "advanced-customizations/react-component-override/about", - "advanced-customizations/react-component-override/usage" + "advanced-customizations/react-component-override/usage", ], }, { - type: 'category', - label: 'Frontend functions override', + type: "category", + label: "Frontend functions override", items: [ "advanced-customizations/frontend-functions-override/about", - "advanced-customizations/frontend-functions-override/usage" + "advanced-customizations/frontend-functions-override/usage", ], }, { - type: 'category', - label: 'Backend functions override', + type: "category", + label: "Backend functions override", items: [ "advanced-customizations/backend-functions-override/about", - "advanced-customizations/backend-functions-override/usage" + "advanced-customizations/backend-functions-override/usage", ], }, { - type: 'category', - label: 'APIs override', + type: "category", + label: "APIs override", items: [ "advanced-customizations/apis-override/about", "advanced-customizations/apis-override/usage", { - type: 'category', - label: 'Sending custom response', + type: "category", + label: "Sending custom response", items: [ "advanced-customizations/apis-override/custom-response/api-override", "advanced-customizations/apis-override/custom-response/throwing-error", - "advanced-customizations/apis-override/custom-response/general-error" + "advanced-customizations/apis-override/custom-response/general-error", ], }, - "advanced-customizations/apis-override/disabling" + "advanced-customizations/apis-override/disabling", ], }, { - type: 'category', - label: 'Frontend hooks', + type: "category", + label: "Frontend hooks", items: [ "advanced-customizations/frontend-hooks/pre-api", "advanced-customizations/frontend-hooks/handle-event", - "advanced-customizations/frontend-hooks/redirection-callback" + "advanced-customizations/frontend-hooks/redirection-callback", ], }, "advanced-customizations/user-context", - "advanced-customizations/backend-sdk-core-interceptor" + "advanced-customizations/backend-sdk-core-interceptor", ], }, { @@ -645,10 +634,10 @@ module.exports = { "common-customizations/cli/start", "common-customizations/cli/list", "common-customizations/cli/stop", - "common-customizations/cli/uninstall" - ] + "common-customizations/cli/uninstall", + ], }, - ] + ], }, { type: "category", @@ -659,28 +648,28 @@ module.exports = { label: "Account deduplication", items: [ "common-customizations/deduplication/overview", - "common-customizations/deduplication/implementing-deduplication" - ] + "common-customizations/deduplication/implementing-deduplication", + ], }, { type: "category", label: "Disable sign up / implement invite flow", items: [ "common-customizations/disable-sign-up/overview", - "common-customizations/disable-sign-up/thirdparty-changes" - ] + "common-customizations/disable-sign-up/thirdparty-changes", + ], }, - ] + ], }, ], }, { - type: 'category', - label: 'Additional Features', + type: "category", + label: "Additional Features", items: [ { - type: 'category', - label: 'User Roles', + type: "category", + label: "User Roles", items: [ "user-roles/initialisation", "user-roles/creating-role", @@ -692,28 +681,29 @@ module.exports = { ], }, "mfa", - "multi-tenant" - ] + "multi-tenant", + "anomaly-detection", + ], }, "scalability", "rate-limits", { - type: 'category', - label: 'Testing & Debugging', + type: "category", + label: "Testing & Debugging", items: [ "testing/testing-with-postman", "troubleshooting/how-to-troubleshoot", - "troubleshooting/cors-issues" + "troubleshooting/cors-issues", ], }, { - type: 'category', - label: 'Migration', + type: "category", + label: "Migration", items: [ "migration/about", { - type: 'category', - label: 'Step 1) Account Creation', + type: "category", + label: "Step 1) Account Creation", items: [ "migration/account-creation/user-creation", "migration/account-creation/user-id-mapping", @@ -722,7 +712,7 @@ module.exports = { }, "migration/data-migration", "migration/session-migration", - "migration/mfa-migration" + "migration/mfa-migration", ], }, { @@ -734,8 +724,8 @@ module.exports = { "appinfo", "sdks", "apis", - "compatibility-table" + "compatibility-table", ], }, - ] + ], }; diff --git a/v2/thirdpartyemailpassword/anomaly-detection.mdx b/v2/thirdpartyemailpassword/anomaly-detection.mdx new file mode 100644 index 000000000..1bdb7a102 --- /dev/null +++ b/v2/thirdpartyemailpassword/anomaly-detection.mdx @@ -0,0 +1,9 @@ +--- +id: anomaly-detection +title: Anomaly Detection +hide_title: true +--- + +# Anomaly Detection + +See our guide for anomaly detection [here](/docs/anomalydetection/introduction). \ No newline at end of file diff --git a/v2/thirdpartyemailpassword/sidebars.js b/v2/thirdpartyemailpassword/sidebars.js index 3f63f2bfb..783d51d84 100644 --- a/v2/thirdpartyemailpassword/sidebars.js +++ b/v2/thirdpartyemailpassword/sidebars.js @@ -1,8 +1,8 @@ module.exports = { sidebar: [ { - type: 'category', - label: 'Start Here', + type: "category", + label: "Start Here", customProps: { highlightGroup: true, }, @@ -10,64 +10,64 @@ module.exports = { items: [ "introduction", { - type: 'category', - label: 'Quick setup with Pre built UI', + type: "category", + label: "Quick setup with Pre built UI", customProps: { categoryIcon: "lightning", }, items: [ { - type: 'category', - label: 'Setup', + type: "category", + label: "Setup", collapsed: false, items: [ "pre-built-ui/setup/frontend", "pre-built-ui/setup/backend", { - type: 'category', - label: 'Step 3: Core', + type: "category", + label: "Step 3: Core", items: [ { - type: 'category', - label: 'Self hosted', + type: "category", + label: "Self hosted", items: [ "pre-built-ui/setup/core/with-docker", "pre-built-ui/setup/core/without-docker", "pre-built-ui/setup/core/aws-setup-with-stacksnap", { - type: 'category', - label: 'Database Setup', + type: "category", + label: "Database Setup", items: [ "pre-built-ui/setup/database-setup/mysql", "pre-built-ui/setup/database-setup/postgresql", - "pre-built-ui/setup/database-setup/rename-database-tables" + "pre-built-ui/setup/database-setup/rename-database-tables", ], - } + }, ], }, - "pre-built-ui/setup/core/saas-setup" + "pre-built-ui/setup/core/saas-setup", ], }, { - type: 'category', + type: "category", label: "Step 4: User management dashboard", items: [ "pre-built-ui/setup/user-management-dashboard/setup", "pre-built-ui/setup/user-management-dashboard/users-listing-and-details", "pre-built-ui/setup/user-management-dashboard/managing-user-roles-and-permissions", { - type: 'category', - label: 'Tenant Management', + type: "category", + label: "Tenant Management", collapsed: true, items: [ "pre-built-ui/setup/user-management-dashboard/tenant-management/overview", "pre-built-ui/setup/user-management-dashboard/tenant-management/details", "pre-built-ui/setup/user-management-dashboard/tenant-management/third-party", - ] - } - ] + ], + }, + ], }, - ] + ], }, "pre-built-ui/handling-session-tokens", "pre-built-ui/securing-routes", @@ -76,76 +76,76 @@ module.exports = { "pre-built-ui/enable-email-verification", "pre-built-ui/multitenant-login", { - type: 'category', - label: 'Further Reading', + type: "category", + label: "Further Reading", items: [ "pre-built-ui/further-reading/email-password-login", "pre-built-ui/further-reading/thirdparty-login", "pre-built-ui/further-reading/password-reset", - "pre-built-ui/further-reading/email-verification" - ] + "pre-built-ui/further-reading/email-verification", + ], }, ], }, { - type: 'category', - label: 'Using your own UI / Custom UI', + type: "category", + label: "Using your own UI / Custom UI", customProps: { categoryIcon: "pencil", }, items: [ { - type: 'category', - label: 'Initialisation', + type: "category", + label: "Initialisation", collapsed: false, items: [ "custom-ui/init/frontend", "custom-ui/init/backend", { - type: 'category', - label: 'Step 3: Core', + type: "category", + label: "Step 3: Core", items: [ { - type: 'category', - label: 'Self hosted', + type: "category", + label: "Self hosted", items: [ "custom-ui/init/core/with-docker", "custom-ui/init/core/without-docker", "custom-ui/init/core/aws-setup-with-stacksnap", { - type: 'category', - label: 'Database Setup', + type: "category", + label: "Database Setup", items: [ "custom-ui/init/database-setup/mysql", "custom-ui/init/database-setup/postgresql", - "custom-ui/init/database-setup/rename-database-tables" + "custom-ui/init/database-setup/rename-database-tables", ], - } + }, ], }, - "custom-ui/init/core/saas-setup" + "custom-ui/init/core/saas-setup", ], }, { - type: 'category', + type: "category", label: "Step 4: User management dashboard", items: [ "custom-ui/init/user-management-dashboard/setup", "custom-ui/init/user-management-dashboard/users-listing-and-details", "custom-ui/init/user-management-dashboard/managing-user-roles-and-permissions", { - type: 'category', - label: 'Tenant Management', + type: "category", + label: "Tenant Management", collapsed: true, items: [ "custom-ui/init/user-management-dashboard/tenant-management/overview", "custom-ui/init/user-management-dashboard/tenant-management/details", "custom-ui/init/user-management-dashboard/tenant-management/third-party", - ] - } - ] + ], + }, + ], }, - ] + ], }, "custom-ui/email-password-login", "custom-ui/thirdparty-login", @@ -166,44 +166,42 @@ module.exports = { customProps: { logoUrl: [ { - url: '/img/logos/hasura-logo.png', - label: 'Hasura', + url: "/img/logos/hasura-logo.png", + label: "Hasura", }, { - url: '/img/logos/graphql-logo.png', - label: 'GraphQL', + url: "/img/logos/graphql-logo.png", + label: "GraphQL", }, { - url: '/img/logos/next-logo.png', - label: 'NextJS', + url: "/img/logos/next-logo.png", + label: "NextJS", }, { - url: '/img/logos/nest-logo.svg', - label: 'NestJS', + url: "/img/logos/nest-logo.svg", + label: "NestJS", }, { - url: '/img/logos/aws-lambda.svg', - label: 'AWS Lambda', + url: "/img/logos/aws-lambda.svg", + label: "AWS Lambda", }, ], hideCategoryIcon: true, }, items: [ { - type: 'category', - label: 'Hasura', + type: "category", + label: "Hasura", customProps: { - logoUrl: '/img/logos/hasura-logo.png' + logoUrl: "/img/logos/hasura-logo.png", }, - items: [ - "hasura-integration/with-jwt" - ], + items: ["hasura-integration/with-jwt"], }, { - type: 'category', - label: 'GraphQL', + type: "category", + label: "GraphQL", customProps: { - logoUrl: '/img/logos/graphql-logo.png' + logoUrl: "/img/logos/graphql-logo.png", }, items: [ "graphql-integration/backend-setup", @@ -211,15 +209,15 @@ module.exports = { ], }, { - type: 'category', - label: 'NextJS', + type: "category", + label: "NextJS", customProps: { - logoUrl: '/img/logos/next-logo.png' + logoUrl: "/img/logos/next-logo.png", }, items: [ { - type: 'category', - label: 'Using the App directory', + type: "category", + label: "Using the App directory", items: [ "nextjs/app-directory/about", "nextjs/app-directory/init", @@ -235,12 +233,12 @@ module.exports = { ], }, "nextjs/app-directory/server-components-requests", - "nextjs/app-directory/next-steps" + "nextjs/app-directory/next-steps", ], }, { - type: 'category', - label: 'Using the Pages directory', + type: "category", + label: "Using the Pages directory", items: [ "nextjs/about", "nextjs/init", @@ -248,43 +246,39 @@ module.exports = { "nextjs/setting-up-backend", "nextjs/protecting-route", { - type: 'category', - label: '5. Session verification', + type: "category", + label: "5. Session verification", items: [ "nextjs/session-verification/in-api", - "nextjs/session-verification/in-ssr" + "nextjs/session-verification/in-ssr", ], }, - "nextjs/next-steps" + "nextjs/next-steps", ], }, ], }, { - type: 'category', - label: 'NestJS', + type: "category", + label: "NestJS", customProps: { - logoUrl: '/img/logos/nest-logo.svg' + logoUrl: "/img/logos/nest-logo.svg", }, - items: [ - "nestjs/guide", - ], + items: ["nestjs/guide"], }, { - type: 'category', - label: 'RedwoodJS', + type: "category", + label: "RedwoodJS", customProps: { - logoUrl: '/img/logos/redwood-logo.png', + logoUrl: "/img/logos/redwood-logo.png", }, - items: [ - "redwood/about" - ], + items: ["redwood/about"], }, { - type: 'category', - label: 'Netlify', + type: "category", + label: "Netlify", customProps: { - logoUrl: '/img/logos/netlify.svg' + logoUrl: "/img/logos/netlify.svg", }, items: [ "serverless/with-netlify/about", @@ -292,21 +286,21 @@ module.exports = { "serverless/with-netlify/backend-config", "serverless/with-netlify/auth-serverless", "serverless/with-netlify/session-verification", - "serverless/with-netlify/next-steps" + "serverless/with-netlify/next-steps", ], }, { - type: 'category', - label: 'AWS Lambda', + type: "category", + label: "AWS Lambda", customProps: { - logoUrl: '/img/logos/aws-lambda.svg' + logoUrl: "/img/logos/aws-lambda.svg", }, items: [ "serverless/with-aws-lambda/about", "serverless/with-aws-lambda/frontend", { - type: 'category', - label: '2. Backend config', + type: "category", + label: "2. Backend config", items: [ "serverless/with-aws-lambda/setup-lambda-layer", "serverless/with-aws-lambda/setup-lambda", @@ -314,8 +308,8 @@ module.exports = { ], }, { - type: 'category', - label: '3. Session Verification', + type: "category", + label: "3. Session Verification", items: [ "serverless/with-aws-lambda/session-verification", "serverless/with-aws-lambda/authorizer", @@ -323,14 +317,14 @@ module.exports = { ], }, "serverless/with-aws-lambda/next-steps", - "serverless/with-aws-lambda/appsync-integration" + "serverless/with-aws-lambda/appsync-integration", ], }, { - type: 'category', - label: 'Supabase', + type: "category", + label: "Supabase", customProps: { - logoUrl: '/img/logos/supabase-logo.jpg' + logoUrl: "/img/logos/supabase-logo.jpg", }, items: [ "supabase-intergration/about", @@ -339,39 +333,33 @@ module.exports = { "supabase-intergration/supabase-client", "supabase-intergration/backend-signup-override", "supabase-intergration/frontend", - "supabase-intergration/policies" + "supabase-intergration/policies", ], }, { - type: 'category', - label: 'Vercel', + type: "category", + label: "Vercel", customProps: { - logoUrl: '/img/logos/vercel.jpeg' + logoUrl: "/img/logos/vercel.jpeg", }, - items: [ - "serverless/with-vercel/about" - ], + items: ["serverless/with-vercel/about"], }, { - type: 'category', - label: 'Capacitor', + type: "category", + label: "Capacitor", customProps: { - logoUrl: '/img/logos/capacitorjs-icon.svg' + logoUrl: "/img/logos/capacitorjs-icon.svg", }, - items: [ - "capacitor-integration/about" - ], + items: ["capacitor-integration/about"], }, { - type: 'category', - label: 'T4 App', + type: "category", + label: "T4 App", customProps: { - logoUrl: '/img/logos/t4-app.png' + logoUrl: "/img/logos/t4-app.png", }, - items: [ - "t4-app/about" - ], - } + items: ["t4-app/about"], + }, ], }, { @@ -386,8 +374,8 @@ module.exports = { "common-customizations/sessions/session-verification-in-api/overview", "common-customizations/sessions/session-verification-in-api/verify-session", "common-customizations/sessions/session-verification-in-api/get-session", - "common-customizations/sessions/with-jwt/jwt-verification" - ] + "common-customizations/sessions/with-jwt/jwt-verification", + ], }, "common-customizations/sessions/protecting-frontend-routes", "common-customizations/sessions/with-jwt/read-jwt", @@ -397,8 +385,8 @@ module.exports = { label: "Reading / modifying session claims", items: [ "common-customizations/sessions/claims/access-token-payload", - "common-customizations/sessions/claims/claim-validators" - ] + "common-customizations/sessions/claims/claim-validators", + ], }, "common-customizations/sessions/revoke-session", "common-customizations/sessions/anonymous-session", @@ -415,8 +403,8 @@ module.exports = { "common-customizations/sessions/same-site-cookie", "common-customizations/sessions/jwt-signing-key-rotation", "common-customizations/sessions/change-session-timeout", - "common-customizations/sessions/access-token-blacklisting" - ] + "common-customizations/sessions/access-token-blacklisting", + ], }, "common-customizations/sessions/share-sessions-across-sub-domains", "common-customizations/sessions/token-transfer-method", @@ -429,32 +417,32 @@ module.exports = { "common-customizations/sessions/fetch-sessions-for-user", "common-customizations/sessions/in-iframe", "common-customizations/sessions/error-handling", - "common-customizations/sessions/disable-interception" - ] + "common-customizations/sessions/disable-interception", + ], }, - ] + ], }, { - type: 'category', - label: 'Auth flow customizations', + type: "category", + label: "Auth flow customizations", collapsed: true, items: [ "common-customizations/handling-signinup-success", { - type: 'category', - label: 'Sign in / up', + type: "category", + label: "Sign in / up", items: [ { - type: 'category', - label: 'Social login providers', + type: "category", + label: "Social login providers", items: [ "common-customizations/signup-form/built-in-providers", "common-customizations/signup-form/custom-providers", ], }, { - type: 'category', - label: 'Email password sign up form', + type: "category", + label: "Email password sign up form", items: [ "common-customizations/signup-form/adding-fields", "common-customizations/signup-form/customising-each-form-field", @@ -467,7 +455,7 @@ module.exports = { items: [ "common-customizations/signin-form/customising-each-form-field", "common-customizations/signin-form/field-validators", - ] + ], }, { type: "category", @@ -480,20 +468,20 @@ module.exports = { label: "Common UX flows", items: [ "common-customizations/multi-tenancy/common-domain-login", - "common-customizations/multi-tenancy/sub-domain-login" - ] + "common-customizations/multi-tenancy/sub-domain-login", + ], }, { - type: 'category', - label: 'SAML Login', + type: "category", + label: "SAML Login", items: [ "common-customizations/saml/what-is-saml", "common-customizations/saml/saml-login", { - type: 'category', - label: 'With BoxyHQ', + type: "category", + label: "With BoxyHQ", customProps: { - logoUrl: '/img/logos/boxyhq.png' + logoUrl: "/img/logos/boxyhq.png", }, items: [ "common-customizations/saml/with-boxyhq/what-is-boxyhq", @@ -505,7 +493,7 @@ module.exports = { }, "common-customizations/multi-tenancy/custom-provider", "common-customizations/multi-tenancy/multi-app", - ] + ], }, "common-customizations/sign-in-and-up/provider-config", "common-customizations/signup-form/toc-privacypolicy", @@ -524,8 +512,8 @@ module.exports = { "common-customizations/account-linking/automatic-account-linking", "common-customizations/account-linking/manual-account-linking", "common-customizations/account-linking/security-considerations", - "common-customizations/account-linking/adding-accounts-to-session" - ] + "common-customizations/account-linking/adding-accounts-to-session", + ], }, "common-customizations/change-password", "common-customizations/change-email-post-login", @@ -538,8 +526,8 @@ module.exports = { "common-customizations/reset-password/embed-in-page", "common-customizations/reset-password/post-reset-password", "common-customizations/reset-password/changing-token-lifetime", - "common-customizations/reset-password/generate-link-manually" - ] + "common-customizations/reset-password/generate-link-manually", + ], }, { type: "category", @@ -553,26 +541,26 @@ module.exports = { "common-customizations/email-verification/changing-token-lifetime", "common-customizations/email-verification/changing-style", "common-customizations/email-verification/changing-email-verification-status", - "common-customizations/email-verification/generate-link-manually" - ] + "common-customizations/email-verification/generate-link-manually", + ], }, { - type: 'category', - label: 'Email Delivery', + type: "category", + label: "Email Delivery", items: [ "email-delivery/about", "email-delivery/default", { - type: 'category', - label: 'Method 2) SMTP service', + type: "category", + label: "Method 2) SMTP service", items: [ "email-delivery/smtp/configure-smtp", - "email-delivery/smtp/change-email-content" - ] + "email-delivery/smtp/change-email-content", + ], }, "email-delivery/custom-method", - "email-delivery/pre-post-email" - ] + "email-delivery/pre-post-email", + ], }, { type: "category", @@ -580,18 +568,18 @@ module.exports = { items: [ "common-customizations/password-hashing/about", "common-customizations/password-hashing/bcrypt", - "common-customizations/password-hashing/argon2" - ] + "common-customizations/password-hashing/argon2", + ], }, { - type: 'category', - label: 'User Metadata', + type: "category", + label: "User Metadata", items: [ "common-customizations/usermetadata/about", "common-customizations/usermetadata/setup", "common-customizations/usermetadata/store-data", "common-customizations/usermetadata/get-data", - "common-customizations/usermetadata/clear-data" + "common-customizations/usermetadata/clear-data", ], }, { @@ -600,8 +588,8 @@ module.exports = { items: [ "common-customizations/styling/changing-colours", "common-customizations/styling/changing-style", - "common-customizations/styling/shadow-dom" - ] + "common-customizations/styling/shadow-dom", + ], }, "common-customizations/translations", { @@ -609,70 +597,71 @@ module.exports = { label: "Changing base path", items: [ "common-customizations/changing-base-path/website-base-path", - "common-customizations/changing-base-path/api-base-path" - ] + "common-customizations/changing-base-path/api-base-path", + ], }, "common-customizations/multiple-clients", "common-customizations/userid-format", { - type: 'category', - label: 'Backend and frontend overrides (actions, hooks and UI customisation)', + type: "category", + label: + "Backend and frontend overrides (actions, hooks and UI customisation)", items: [ "advanced-customizations/overview", "advanced-customizations/user-context/custom-request-properties", { - type: 'category', - label: 'React component override', + type: "category", + label: "React component override", items: [ "advanced-customizations/react-component-override/about", - "advanced-customizations/react-component-override/usage" + "advanced-customizations/react-component-override/usage", ], }, { - type: 'category', - label: 'Frontend functions override', + type: "category", + label: "Frontend functions override", items: [ "advanced-customizations/frontend-functions-override/about", - "advanced-customizations/frontend-functions-override/usage" + "advanced-customizations/frontend-functions-override/usage", ], }, { - type: 'category', - label: 'Backend functions override', + type: "category", + label: "Backend functions override", items: [ "advanced-customizations/backend-functions-override/about", - "advanced-customizations/backend-functions-override/usage" + "advanced-customizations/backend-functions-override/usage", ], }, { - type: 'category', - label: 'APIs override', + type: "category", + label: "APIs override", items: [ "advanced-customizations/apis-override/about", "advanced-customizations/apis-override/usage", { - type: 'category', - label: 'Sending custom response', + type: "category", + label: "Sending custom response", items: [ "advanced-customizations/apis-override/custom-response/api-override", "advanced-customizations/apis-override/custom-response/throwing-error", - "advanced-customizations/apis-override/custom-response/general-error" + "advanced-customizations/apis-override/custom-response/general-error", ], }, - "advanced-customizations/apis-override/disabling" + "advanced-customizations/apis-override/disabling", ], }, { - type: 'category', - label: 'Frontend hooks', + type: "category", + label: "Frontend hooks", items: [ "advanced-customizations/frontend-hooks/pre-api", "advanced-customizations/frontend-hooks/handle-event", - "advanced-customizations/frontend-hooks/redirection-callback" + "advanced-customizations/frontend-hooks/redirection-callback", ], }, "advanced-customizations/user-context", - "advanced-customizations/backend-sdk-core-interceptor" + "advanced-customizations/backend-sdk-core-interceptor", ], }, { @@ -693,10 +682,10 @@ module.exports = { "common-customizations/cli/start", "common-customizations/cli/list", "common-customizations/cli/stop", - "common-customizations/cli/uninstall" - ] + "common-customizations/cli/uninstall", + ], }, - ] + ], }, { type: "category", @@ -707,8 +696,8 @@ module.exports = { label: "Account deduplication", items: [ "common-customizations/deduplication/overview", - "common-customizations/deduplication/implementing-deduplication" - ] + "common-customizations/deduplication/implementing-deduplication", + ], }, { type: "category", @@ -716,20 +705,20 @@ module.exports = { items: [ "common-customizations/disable-sign-up/overview", "common-customizations/disable-sign-up/thirdparty-changes", - "common-customizations/disable-sign-up/emailpassword-changes" - ] + "common-customizations/disable-sign-up/emailpassword-changes", + ], }, - ] + ], }, ], }, { - type: 'category', - label: 'Additional Features', + type: "category", + label: "Additional Features", items: [ { - type: 'category', - label: 'User Roles', + type: "category", + label: "User Roles", items: [ "user-roles/initialisation", "user-roles/creating-role", @@ -741,38 +730,39 @@ module.exports = { ], }, "mfa", - "multi-tenant" - ] + "multi-tenant", + "anomaly-detection", + ], }, "scalability", "rate-limits", { - type: 'category', - label: 'Testing & Debugging', + type: "category", + label: "Testing & Debugging", items: [ "testing/testing-with-postman", "troubleshooting/how-to-troubleshoot", - "troubleshooting/cors-issues" + "troubleshooting/cors-issues", ], }, { - type: 'category', - label: 'Migration', + type: "category", + label: "Migration", items: [ "migration/about", { - type: 'category', - label: 'Step 1) Account Creation', + type: "category", + label: "Step 1) Account Creation", items: [ "migration/account-creation/user-creation", "migration/account-creation/user-id-mapping", "migration/account-creation/email-verification", - "migration/account-creation/ep-migration-without-password-hash" + "migration/account-creation/ep-migration-without-password-hash", ], }, "migration/data-migration", "migration/session-migration", - "migration/mfa-migration" + "migration/mfa-migration", ], }, { @@ -784,8 +774,8 @@ module.exports = { "appinfo", "sdks", "apis", - "compatibility-table" + "compatibility-table", ], }, - ] + ], }; diff --git a/v2/thirdpartypasswordless/anomaly-detection.mdx b/v2/thirdpartypasswordless/anomaly-detection.mdx new file mode 100644 index 000000000..1bdb7a102 --- /dev/null +++ b/v2/thirdpartypasswordless/anomaly-detection.mdx @@ -0,0 +1,9 @@ +--- +id: anomaly-detection +title: Anomaly Detection +hide_title: true +--- + +# Anomaly Detection + +See our guide for anomaly detection [here](/docs/anomalydetection/introduction). \ No newline at end of file diff --git a/v2/thirdpartypasswordless/sidebars.js b/v2/thirdpartypasswordless/sidebars.js index 9c86a13ec..3c1471fbb 100644 --- a/v2/thirdpartypasswordless/sidebars.js +++ b/v2/thirdpartypasswordless/sidebars.js @@ -10,64 +10,64 @@ module.exports = { items: [ "introduction", { - type: 'category', - label: 'Quick setup with Pre built UI', + type: "category", + label: "Quick setup with Pre built UI", customProps: { categoryIcon: "lightning", }, items: [ { - type: 'category', - label: 'Setup', + type: "category", + label: "Setup", collapsed: false, items: [ "pre-built-ui/setup/frontend", "pre-built-ui/setup/backend", { - type: 'category', - label: 'Step 3: Core', + type: "category", + label: "Step 3: Core", items: [ { - type: 'category', - label: 'Self hosted', + type: "category", + label: "Self hosted", items: [ "pre-built-ui/setup/core/with-docker", "pre-built-ui/setup/core/without-docker", "pre-built-ui/setup/core/aws-setup-with-stacksnap", { - type: 'category', - label: 'Database Setup', + type: "category", + label: "Database Setup", items: [ "pre-built-ui/setup/database-setup/mysql", "pre-built-ui/setup/database-setup/postgresql", - "pre-built-ui/setup/database-setup/rename-database-tables" + "pre-built-ui/setup/database-setup/rename-database-tables", ], - } + }, ], }, - "pre-built-ui/setup/core/saas-setup" + "pre-built-ui/setup/core/saas-setup", ], }, { - type: 'category', + type: "category", label: "Step 4: User management dashboard", items: [ "pre-built-ui/setup/user-management-dashboard/setup", "pre-built-ui/setup/user-management-dashboard/users-listing-and-details", "pre-built-ui/setup/user-management-dashboard/managing-user-roles-and-permissions", { - type: 'category', - label: 'Tenant Management', + type: "category", + label: "Tenant Management", collapsed: true, items: [ "pre-built-ui/setup/user-management-dashboard/tenant-management/overview", "pre-built-ui/setup/user-management-dashboard/tenant-management/details", "pre-built-ui/setup/user-management-dashboard/tenant-management/third-party", - ] - } - ] + ], + }, + ], }, - ] + ], }, "pre-built-ui/handling-session-tokens", "pre-built-ui/securing-routes", @@ -76,75 +76,75 @@ module.exports = { "pre-built-ui/enable-email-verification", "pre-built-ui/multitenant-login", { - type: 'category', - label: 'Further Reading', + type: "category", + label: "Further Reading", items: [ "pre-built-ui/further-reading/thirdparty-login", "pre-built-ui/further-reading/passwordless-login", - "pre-built-ui/further-reading/email-verification" - ] + "pre-built-ui/further-reading/email-verification", + ], }, ], }, { - type: 'category', - label: 'Using your own UI / Custom UI', + type: "category", + label: "Using your own UI / Custom UI", customProps: { categoryIcon: "pencil", }, items: [ { - type: 'category', - label: 'Initialisation', + type: "category", + label: "Initialisation", collapsed: false, items: [ "custom-ui/init/frontend", "custom-ui/init/backend", { - type: 'category', - label: 'Step 3: Core', + type: "category", + label: "Step 3: Core", items: [ { - type: 'category', - label: 'Self hosted', + type: "category", + label: "Self hosted", items: [ "custom-ui/init/core/with-docker", "custom-ui/init/core/without-docker", "custom-ui/init/core/aws-setup-with-stacksnap", { - type: 'category', - label: 'Database Setup', + type: "category", + label: "Database Setup", items: [ "custom-ui/init/database-setup/mysql", "custom-ui/init/database-setup/postgresql", - "custom-ui/init/database-setup/rename-database-tables" + "custom-ui/init/database-setup/rename-database-tables", ], - } + }, ], }, - "custom-ui/init/core/saas-setup" + "custom-ui/init/core/saas-setup", ], }, { - type: 'category', + type: "category", label: "Step 4: User management dashboard", items: [ "custom-ui/init/user-management-dashboard/setup", "custom-ui/init/user-management-dashboard/users-listing-and-details", "custom-ui/init/user-management-dashboard/managing-user-roles-and-permissions", { - type: 'category', - label: 'Tenant Management', + type: "category", + label: "Tenant Management", collapsed: true, items: [ "custom-ui/init/user-management-dashboard/tenant-management/overview", "custom-ui/init/user-management-dashboard/tenant-management/details", "custom-ui/init/user-management-dashboard/tenant-management/third-party", - ] - } - ] + ], + }, + ], }, - ] + ], }, "custom-ui/login-magic-link", "custom-ui/login-otp", @@ -165,43 +165,41 @@ module.exports = { customProps: { logoUrl: [ { - url: '/img/logos/hasura-logo.png', - label: 'Hasura', + url: "/img/logos/hasura-logo.png", + label: "Hasura", }, { - url: '/img/logos/graphql-logo.png', - label: 'GraphQL', + url: "/img/logos/graphql-logo.png", + label: "GraphQL", }, { - url: '/img/logos/next-logo.png', - label: 'NextJS', + url: "/img/logos/next-logo.png", + label: "NextJS", }, { - url: '/img/logos/nest-logo.svg', - label: 'NestJS', + url: "/img/logos/nest-logo.svg", + label: "NestJS", }, { - url: '/img/logos/aws-lambda.svg', - label: 'AWS Lambda', + url: "/img/logos/aws-lambda.svg", + label: "AWS Lambda", }, ], }, items: [ { - type: 'category', - label: 'Hasura', + type: "category", + label: "Hasura", customProps: { - logoUrl: '/img/logos/hasura-logo.png' + logoUrl: "/img/logos/hasura-logo.png", }, - items: [ - "hasura-integration/with-jwt" - ], + items: ["hasura-integration/with-jwt"], }, { - type: 'category', - label: 'GraphQL', + type: "category", + label: "GraphQL", customProps: { - logoUrl: '/img/logos/graphql-logo.png' + logoUrl: "/img/logos/graphql-logo.png", }, items: [ "graphql-integration/backend-setup", @@ -209,15 +207,15 @@ module.exports = { ], }, { - type: 'category', - label: 'NextJS', + type: "category", + label: "NextJS", customProps: { - logoUrl: '/img/logos/next-logo.png' + logoUrl: "/img/logos/next-logo.png", }, items: [ { - type: 'category', - label: 'Using the App directory', + type: "category", + label: "Using the App directory", items: [ "nextjs/app-directory/about", "nextjs/app-directory/init", @@ -233,12 +231,12 @@ module.exports = { ], }, "nextjs/app-directory/server-components-requests", - "nextjs/app-directory/next-steps" + "nextjs/app-directory/next-steps", ], }, { - type: 'category', - label: 'Using the Pages directory', + type: "category", + label: "Using the Pages directory", items: [ "nextjs/about", "nextjs/init", @@ -246,43 +244,39 @@ module.exports = { "nextjs/setting-up-backend", "nextjs/protecting-route", { - type: 'category', - label: '5. Session verification', + type: "category", + label: "5. Session verification", items: [ "nextjs/session-verification/in-api", - "nextjs/session-verification/in-ssr" + "nextjs/session-verification/in-ssr", ], }, - "nextjs/next-steps" + "nextjs/next-steps", ], }, ], }, { - type: 'category', - label: 'NestJS', + type: "category", + label: "NestJS", customProps: { - logoUrl: '/img/logos/nest-logo.svg' + logoUrl: "/img/logos/nest-logo.svg", }, - items: [ - "nestjs/guide", - ], + items: ["nestjs/guide"], }, { - type: 'category', - label: 'RedwoodJS', + type: "category", + label: "RedwoodJS", customProps: { - logoUrl: '/img/logos/redwood-logo.png', + logoUrl: "/img/logos/redwood-logo.png", }, - items: [ - "redwood/about" - ], + items: ["redwood/about"], }, { - type: 'category', - label: 'Netlify', + type: "category", + label: "Netlify", customProps: { - logoUrl: '/img/logos/netlify.svg' + logoUrl: "/img/logos/netlify.svg", }, items: [ "serverless/with-netlify/about", @@ -290,21 +284,21 @@ module.exports = { "serverless/with-netlify/backend-config", "serverless/with-netlify/auth-serverless", "serverless/with-netlify/session-verification", - "serverless/with-netlify/next-steps" + "serverless/with-netlify/next-steps", ], }, { - type: 'category', - label: 'AWS Lambda', + type: "category", + label: "AWS Lambda", customProps: { - logoUrl: '/img/logos/aws-lambda.svg' + logoUrl: "/img/logos/aws-lambda.svg", }, items: [ "serverless/with-aws-lambda/about", "serverless/with-aws-lambda/frontend", { - type: 'category', - label: '2. Backend config', + type: "category", + label: "2. Backend config", items: [ "serverless/with-aws-lambda/setup-lambda-layer", "serverless/with-aws-lambda/setup-lambda", @@ -312,8 +306,8 @@ module.exports = { ], }, { - type: 'category', - label: '3. Session Verification', + type: "category", + label: "3. Session Verification", items: [ "serverless/with-aws-lambda/session-verification", "serverless/with-aws-lambda/authorizer", @@ -321,14 +315,14 @@ module.exports = { ], }, "serverless/with-aws-lambda/next-steps", - "serverless/with-aws-lambda/appsync-integration" + "serverless/with-aws-lambda/appsync-integration", ], }, { - type: 'category', - label: 'Supabase', + type: "category", + label: "Supabase", customProps: { - logoUrl: '/img/logos/supabase-logo.jpg' + logoUrl: "/img/logos/supabase-logo.jpg", }, items: [ "supabase-intergration/about", @@ -337,39 +331,33 @@ module.exports = { "supabase-intergration/supabase-client", "supabase-intergration/backend-signup-override", "supabase-intergration/frontend", - "supabase-intergration/policies" + "supabase-intergration/policies", ], }, { - type: 'category', - label: 'Vercel', + type: "category", + label: "Vercel", customProps: { - logoUrl: '/img/logos/vercel.jpeg' + logoUrl: "/img/logos/vercel.jpeg", }, - items: [ - "serverless/with-vercel/about" - ], + items: ["serverless/with-vercel/about"], }, { - type: 'category', - label: 'Capacitor', + type: "category", + label: "Capacitor", customProps: { - logoUrl: '/img/logos/capacitorjs-icon.svg' + logoUrl: "/img/logos/capacitorjs-icon.svg", }, - items: [ - "capacitor-integration/about" - ], + items: ["capacitor-integration/about"], }, { - type: 'category', - label: 'T4 App', + type: "category", + label: "T4 App", customProps: { - logoUrl: '/img/logos/t4-app.png' + logoUrl: "/img/logos/t4-app.png", }, - items: [ - "t4-app/about" - ], - } + items: ["t4-app/about"], + }, ], }, { @@ -384,8 +372,8 @@ module.exports = { "common-customizations/sessions/session-verification-in-api/overview", "common-customizations/sessions/session-verification-in-api/verify-session", "common-customizations/sessions/session-verification-in-api/get-session", - "common-customizations/sessions/with-jwt/jwt-verification" - ] + "common-customizations/sessions/with-jwt/jwt-verification", + ], }, "common-customizations/sessions/protecting-frontend-routes", "common-customizations/sessions/with-jwt/read-jwt", @@ -395,8 +383,8 @@ module.exports = { label: "Reading / modifying session claims", items: [ "common-customizations/sessions/claims/access-token-payload", - "common-customizations/sessions/claims/claim-validators" - ] + "common-customizations/sessions/claims/claim-validators", + ], }, "common-customizations/sessions/revoke-session", "common-customizations/sessions/anonymous-session", @@ -413,8 +401,8 @@ module.exports = { "common-customizations/sessions/same-site-cookie", "common-customizations/sessions/jwt-signing-key-rotation", "common-customizations/sessions/change-session-timeout", - "common-customizations/sessions/access-token-blacklisting" - ] + "common-customizations/sessions/access-token-blacklisting", + ], }, "common-customizations/sessions/share-sessions-across-sub-domains", "common-customizations/sessions/token-transfer-method", @@ -427,14 +415,14 @@ module.exports = { "common-customizations/sessions/fetch-sessions-for-user", "common-customizations/sessions/in-iframe", "common-customizations/sessions/error-handling", - "common-customizations/sessions/disable-interception" - ] + "common-customizations/sessions/disable-interception", + ], }, - ] + ], }, { - type: 'category', - label: 'Auth flow customizations', + type: "category", + label: "Auth flow customizations", collapsed: true, items: [ "common-customizations/handling-signinup-success", @@ -443,22 +431,22 @@ module.exports = { label: "Sign in / up", items: [ { - type: 'category', - label: 'Social login', + type: "category", + label: "Social login", items: [ "common-customizations/signup-form/built-in-providers", "common-customizations/signup-form/custom-providers", ], }, { - type: 'category', - label: 'Passwordless login', + type: "category", + label: "Passwordless login", items: [ "common-customizations/sign-in-and-up/default-country", "common-customizations/sign-in-and-up/resend-time-gap", "common-customizations/sign-in-and-up/change-maximum-retries", "common-customizations/sign-in-and-up/change-otp-format", - "common-customizations/sign-in-and-up/change-email-phone-validation" + "common-customizations/sign-in-and-up/change-email-phone-validation", ], }, { @@ -472,20 +460,20 @@ module.exports = { label: "Common UX flows", items: [ "common-customizations/multi-tenancy/common-domain-login", - "common-customizations/multi-tenancy/sub-domain-login" - ] + "common-customizations/multi-tenancy/sub-domain-login", + ], }, { - type: 'category', - label: 'SAML Login', + type: "category", + label: "SAML Login", items: [ "common-customizations/saml/what-is-saml", "common-customizations/saml/saml-login", { - type: 'category', - label: 'With BoxyHQ', + type: "category", + label: "With BoxyHQ", customProps: { - logoUrl: '/img/logos/boxyhq.png' + logoUrl: "/img/logos/boxyhq.png", }, items: [ "common-customizations/saml/with-boxyhq/what-is-boxyhq", @@ -497,7 +485,7 @@ module.exports = { }, "common-customizations/multi-tenancy/custom-provider", "common-customizations/multi-tenancy/multi-app", - ] + ], }, "common-customizations/sign-in-and-up/provider-config", "common-customizations/sign-in-and-up/toc-privacypolicy", @@ -519,8 +507,8 @@ module.exports = { "common-customizations/account-linking/automatic-account-linking", "common-customizations/account-linking/manual-account-linking", "common-customizations/account-linking/security-considerations", - "common-customizations/account-linking/adding-accounts-to-session" - ] + "common-customizations/account-linking/adding-accounts-to-session", + ], }, { type: "category", @@ -534,55 +522,55 @@ module.exports = { "common-customizations/email-verification/changing-token-lifetime", "common-customizations/email-verification/changing-style", "common-customizations/email-verification/changing-email-verification-status", - "common-customizations/email-verification/generate-link-manually" - ] + "common-customizations/email-verification/generate-link-manually", + ], }, { - type: 'category', - label: 'Email Delivery', + type: "category", + label: "Email Delivery", items: [ "email-delivery/about", "email-delivery/default", { - type: 'category', - label: 'Method 2) SMTP service', + type: "category", + label: "Method 2) SMTP service", items: [ "email-delivery/smtp/configure-smtp", - "email-delivery/smtp/change-email-content" - ] + "email-delivery/smtp/change-email-content", + ], }, "email-delivery/custom-method", - "email-delivery/pre-post-email" - ] + "email-delivery/pre-post-email", + ], }, { - type: 'category', - label: 'SMS Delivery', + type: "category", + label: "SMS Delivery", items: [ "sms-delivery/about", "sms-delivery/default", { - type: 'category', - label: 'Method 2) Twilio service', + type: "category", + label: "Method 2) Twilio service", items: [ "sms-delivery/twilio/configure-twilio", - "sms-delivery/twilio/change-sms-content" - ] + "sms-delivery/twilio/change-sms-content", + ], }, "sms-delivery/supertokens-sms-service", "sms-delivery/custom-method", - "sms-delivery/pre-post-email" - ] + "sms-delivery/pre-post-email", + ], }, { - type: 'category', - label: 'User Metadata', + type: "category", + label: "User Metadata", items: [ "common-customizations/usermetadata/about", "common-customizations/usermetadata/setup", "common-customizations/usermetadata/store-data", "common-customizations/usermetadata/get-data", - "common-customizations/usermetadata/clear-data" + "common-customizations/usermetadata/clear-data", ], }, { @@ -591,8 +579,8 @@ module.exports = { items: [ "common-customizations/styling/changing-colours", "common-customizations/styling/changing-style", - "common-customizations/styling/shadow-dom" - ] + "common-customizations/styling/shadow-dom", + ], }, "common-customizations/translations", { @@ -600,70 +588,71 @@ module.exports = { label: "Changing base path", items: [ "common-customizations/changing-base-path/website-base-path", - "common-customizations/changing-base-path/api-base-path" - ] + "common-customizations/changing-base-path/api-base-path", + ], }, "common-customizations/multiple-clients", "common-customizations/userid-format", { - type: 'category', - label: 'Backend and frontend overrides (actions, hooks and UI customisation)', + type: "category", + label: + "Backend and frontend overrides (actions, hooks and UI customisation)", items: [ "advanced-customizations/overview", "advanced-customizations/user-context/custom-request-properties", { - type: 'category', - label: 'React component override', + type: "category", + label: "React component override", items: [ "advanced-customizations/react-component-override/about", - "advanced-customizations/react-component-override/usage" + "advanced-customizations/react-component-override/usage", ], }, { - type: 'category', - label: 'Frontend functions override', + type: "category", + label: "Frontend functions override", items: [ "advanced-customizations/frontend-functions-override/about", - "advanced-customizations/frontend-functions-override/usage" + "advanced-customizations/frontend-functions-override/usage", ], }, { - type: 'category', - label: 'Backend functions override', + type: "category", + label: "Backend functions override", items: [ "advanced-customizations/backend-functions-override/about", - "advanced-customizations/backend-functions-override/usage" + "advanced-customizations/backend-functions-override/usage", ], }, { - type: 'category', - label: 'APIs override', + type: "category", + label: "APIs override", items: [ "advanced-customizations/apis-override/about", "advanced-customizations/apis-override/usage", { - type: 'category', - label: 'Sending custom response', + type: "category", + label: "Sending custom response", items: [ "advanced-customizations/apis-override/custom-response/api-override", "advanced-customizations/apis-override/custom-response/throwing-error", - "advanced-customizations/apis-override/custom-response/general-error" + "advanced-customizations/apis-override/custom-response/general-error", ], }, - "advanced-customizations/apis-override/disabling" + "advanced-customizations/apis-override/disabling", ], }, { - type: 'category', - label: 'Frontend hooks', + type: "category", + label: "Frontend hooks", items: [ "advanced-customizations/frontend-hooks/pre-api", "advanced-customizations/frontend-hooks/handle-event", - "advanced-customizations/frontend-hooks/redirection-callback" + "advanced-customizations/frontend-hooks/redirection-callback", ], }, "advanced-customizations/user-context", - "advanced-customizations/backend-sdk-core-interceptor" + "advanced-customizations/backend-sdk-core-interceptor", ], }, { @@ -684,10 +673,10 @@ module.exports = { "common-customizations/cli/start", "common-customizations/cli/list", "common-customizations/cli/stop", - "common-customizations/cli/uninstall" - ] + "common-customizations/cli/uninstall", + ], }, - ] + ], }, { type: "category", @@ -698,8 +687,8 @@ module.exports = { label: "Account deduplication", items: [ "common-customizations/deduplication/overview", - "common-customizations/deduplication/implementing-deduplication" - ] + "common-customizations/deduplication/implementing-deduplication", + ], }, { type: "category", @@ -708,20 +697,20 @@ module.exports = { "common-customizations/disable-sign-up/overview", "common-customizations/disable-sign-up/thirdparty-changes", "common-customizations/disable-sign-up/passwordless-via-allow-list", - "common-customizations/disable-sign-up/passwordless-via-invite-link" - ] + "common-customizations/disable-sign-up/passwordless-via-invite-link", + ], }, - ] + ], }, ], }, { - type: 'category', - label: 'Additional Features', + type: "category", + label: "Additional Features", items: [ { - type: 'category', - label: 'User Roles', + type: "category", + label: "User Roles", items: [ "user-roles/initialisation", "user-roles/creating-role", @@ -733,28 +722,29 @@ module.exports = { ], }, "mfa", - "multi-tenant" - ] + "multi-tenant", + "anomaly-detection", + ], }, "scalability", "rate-limits", { - type: 'category', - label: 'Testing & Debugging', + type: "category", + label: "Testing & Debugging", items: [ "testing/testing-with-postman", "troubleshooting/how-to-troubleshoot", - "troubleshooting/cors-issues" + "troubleshooting/cors-issues", ], }, { - type: 'category', - label: 'Migration', + type: "category", + label: "Migration", items: [ "migration/about", { - type: 'category', - label: 'Step 1) Account Creation', + type: "category", + label: "Step 1) Account Creation", items: [ "migration/account-creation/user-creation", "migration/account-creation/user-id-mapping", @@ -763,7 +753,7 @@ module.exports = { }, "migration/data-migration", "migration/session-migration", - "migration/mfa-migration" + "migration/mfa-migration", ], }, { @@ -776,8 +766,8 @@ module.exports = { "appinfo", "sdks", "apis", - "compatibility-table" + "compatibility-table", ], }, - ] + ], }; From 04aad5be2af32fbd7e89084ea534f2593c1799ee Mon Sep 17 00:00:00 2001 From: Victor Bojica Date: Thu, 12 Sep 2024 12:32:09 +0300 Subject: [PATCH 27/27] change titles to bot / spam detection --- .../backend-setup.mdx | 2 +- .../enabling.mdx | 0 .../frontend-setup.mdx | 0 .../introduction.mdx | 12 ++++++------ .../sidebars.js | 0 v2/docusaurus.config.js | 8 ++++---- v2/emailpassword/anomaly-detection.mdx | 8 ++++---- v2/emailpassword/sidebars.js | 2 +- v2/passwordless/anomaly-detection.mdx | 8 ++++---- v2/passwordless/sidebars.js | 2 +- v2/src/components/recipeBoxes/guides.json | 6 +++--- v2/src/theme/NavbarItem/recipeSelector.js | 4 ++-- ...ion-orange.svg => botandspamdetection-orange.svg} | 0 ...{anomalyDetection.svg => botandspamdetection.svg} | 0 v2/thirdparty/anomaly-detection.mdx | 8 ++++---- v2/thirdparty/sidebars.js | 2 +- v2/thirdpartyemailpassword/anomaly-detection.mdx | 8 ++++---- v2/thirdpartyemailpassword/sidebars.js | 2 +- v2/thirdpartypasswordless/anomaly-detection.mdx | 8 ++++---- v2/thirdpartypasswordless/sidebars.js | 2 +- 20 files changed, 41 insertions(+), 41 deletions(-) rename v2/{anomalydetection => botandspamdetection}/backend-setup.mdx (99%) rename v2/{anomalydetection => botandspamdetection}/enabling.mdx (100%) rename v2/{anomalydetection => botandspamdetection}/frontend-setup.mdx (100%) rename v2/{anomalydetection => botandspamdetection}/introduction.mdx (72%) rename v2/{anomalydetection => botandspamdetection}/sidebars.js (100%) rename v2/static/img/guides/{anomalyDetection-orange.svg => botandspamdetection-orange.svg} (100%) rename v2/static/img/guides/{anomalyDetection.svg => botandspamdetection.svg} (100%) diff --git a/v2/anomalydetection/backend-setup.mdx b/v2/botandspamdetection/backend-setup.mdx similarity index 99% rename from v2/anomalydetection/backend-setup.mdx rename to v2/botandspamdetection/backend-setup.mdx index 22505a91d..b4ffc8fb2 100644 --- a/v2/anomalydetection/backend-setup.mdx +++ b/v2/botandspamdetection/backend-setup.mdx @@ -200,7 +200,7 @@ A more complete example of how to retrieve the request ID from the input body ca The `requestId` should be required when the trying to reset password, sign in or sign up. If the `requestId` is not present, an error should be returned. You can see more in the [examples section](#examples). ::: -## Making the Request to the Anomaly Detection endpoint +## Making the Request to the Bot / Spam Detection endpoint The request body is a JSON object that contains the following properties (all fields are optional): diff --git a/v2/anomalydetection/enabling.mdx b/v2/botandspamdetection/enabling.mdx similarity index 100% rename from v2/anomalydetection/enabling.mdx rename to v2/botandspamdetection/enabling.mdx diff --git a/v2/anomalydetection/frontend-setup.mdx b/v2/botandspamdetection/frontend-setup.mdx similarity index 100% rename from v2/anomalydetection/frontend-setup.mdx rename to v2/botandspamdetection/frontend-setup.mdx diff --git a/v2/anomalydetection/introduction.mdx b/v2/botandspamdetection/introduction.mdx similarity index 72% rename from v2/anomalydetection/introduction.mdx rename to v2/botandspamdetection/introduction.mdx index 825d4d415..de8e63e61 100644 --- a/v2/anomalydetection/introduction.mdx +++ b/v2/botandspamdetection/introduction.mdx @@ -8,10 +8,10 @@ import CustomAdmonition from "/src/components/customAdmonition" # Introduction -SuperTokens Anomaly Detection is a powerful security feature designed to identify and prevent suspicious activities in authentication and user sessions. It leverages various detection methods to enhance the security of your application. +SuperTokens Bot / Spam detection is a powerful security feature designed to identify and prevent suspicious activities in authentication and user sessions. It leverages various detection methods to enhance the security of your application. :::important -This feature is **currently in beta** and not enabled by default. You can find out how to enable this feature [here](/docs/anomalydetection/enabling). +This feature is **currently in beta** and not enabled by default. You can find out how to enable this feature [here](/docs/botandspamdetection/enabling). ::: ## Features @@ -43,17 +43,17 @@ Recognize and remember devices and requester details, even when they try to disg ## Flow diagram -The Anomaly Detection service is typically integrated into your authentication flow. It processes requests and provides risk assessments that you can use to enforce additional security measures, such as requiring two-factor authentication for suspicious logins or blocking high-risk attempts altogether. +The Bot / Spam detection service is typically integrated into your authentication flow. It processes requests and provides risk assessments that you can use to enforce additional security measures, such as requiring two-factor authentication for suspicious logins or blocking high-risk attempts altogether. -By leveraging these advanced detection methods, SuperTokens Anomaly Detection significantly enhances your application's security posture and helps protect your users from various types of account compromise attempts. +By leveraging these advanced detection methods, SuperTokens Bot / Spam detection significantly enhances your application's security posture and helps protect your users from various types of account compromise attempts. Below is an high level overview of how this works: -Anomaly detection flow +Bot / Spam detection flow ## Recipes integration -Different recipes have different ways of integrating with the anomaly detection feature. +Different recipes have different ways of integrating with the Bot / Spam detection feature. ### Passwordless diff --git a/v2/anomalydetection/sidebars.js b/v2/botandspamdetection/sidebars.js similarity index 100% rename from v2/anomalydetection/sidebars.js rename to v2/botandspamdetection/sidebars.js diff --git a/v2/docusaurus.config.js b/v2/docusaurus.config.js index e838df472..8904ac4ca 100644 --- a/v2/docusaurus.config.js +++ b/v2/docusaurus.config.js @@ -259,10 +259,10 @@ module.exports = { [ "@docusaurus/plugin-content-docs", { - id: "anomalydetection", - path: "anomalydetection", - routeBasePath: "docs/anomalydetection", - sidebarPath: require.resolve("./anomalydetection/sidebars.js"), + id: "botandspamdetection", + path: "botandspamdetection", + routeBasePath: "docs/botandspamdetection", + sidebarPath: require.resolve("./botandspamdetection/sidebars.js"), showLastUpdateTime: true, editUrl: "https://github.com/supertokens/docs/tree/master/v2/", remarkPlugins: remarkPlugins, diff --git a/v2/emailpassword/anomaly-detection.mdx b/v2/emailpassword/anomaly-detection.mdx index 1bdb7a102..1e1132d42 100644 --- a/v2/emailpassword/anomaly-detection.mdx +++ b/v2/emailpassword/anomaly-detection.mdx @@ -1,9 +1,9 @@ --- -id: anomaly-detection -title: Anomaly Detection +id: bot-and-spam-detection +title: Bot / Spam Detection hide_title: true --- -# Anomaly Detection +# Bot / Spam Detection -See our guide for anomaly detection [here](/docs/anomalydetection/introduction). \ No newline at end of file +See our guide for anomaly detection [here](/docs/botandspamdetection/introduction). \ No newline at end of file diff --git a/v2/emailpassword/sidebars.js b/v2/emailpassword/sidebars.js index dad1d712a..ea2d0ee93 100644 --- a/v2/emailpassword/sidebars.js +++ b/v2/emailpassword/sidebars.js @@ -692,7 +692,7 @@ module.exports = { }, "mfa", "multi-tenant", - "anomaly-detection", + "bot-and-spam-detection", ], }, "scalability", diff --git a/v2/passwordless/anomaly-detection.mdx b/v2/passwordless/anomaly-detection.mdx index 1bdb7a102..1e1132d42 100644 --- a/v2/passwordless/anomaly-detection.mdx +++ b/v2/passwordless/anomaly-detection.mdx @@ -1,9 +1,9 @@ --- -id: anomaly-detection -title: Anomaly Detection +id: bot-and-spam-detection +title: Bot / Spam Detection hide_title: true --- -# Anomaly Detection +# Bot / Spam Detection -See our guide for anomaly detection [here](/docs/anomalydetection/introduction). \ No newline at end of file +See our guide for anomaly detection [here](/docs/botandspamdetection/introduction). \ No newline at end of file diff --git a/v2/passwordless/sidebars.js b/v2/passwordless/sidebars.js index 095fa9448..8fb6c3c5c 100644 --- a/v2/passwordless/sidebars.js +++ b/v2/passwordless/sidebars.js @@ -670,7 +670,7 @@ module.exports = { }, "mfa", "multi-tenant", - "anomaly-detection", + "bot-and-spam-detection", ], }, "scalability", diff --git a/v2/src/components/recipeBoxes/guides.json b/v2/src/components/recipeBoxes/guides.json index fd59386c1..e2c60645a 100644 --- a/v2/src/components/recipeBoxes/guides.json +++ b/v2/src/components/recipeBoxes/guides.json @@ -69,9 +69,9 @@ "path": "/docs/multitenancy/introduction" }, { - "title": "Anomaly Detection", - "icon": "anomalyDetection", - "path": "/docs/anomalydetection/introduction" + "title": "Bot / Spam Detection", + "icon": "botandspamdetection", + "path": "/docs/botandspamdetection/introduction" } ], "ref": [ diff --git a/v2/src/theme/NavbarItem/recipeSelector.js b/v2/src/theme/NavbarItem/recipeSelector.js index a918d6efc..505c328b5 100644 --- a/v2/src/theme/NavbarItem/recipeSelector.js +++ b/v2/src/theme/NavbarItem/recipeSelector.js @@ -188,8 +188,8 @@ export default function RecipeSelector(props) { active: activeSelector("anomaly_detection"), })} > - - Anomaly Detection + + Bot / Spam Detection diff --git a/v2/static/img/guides/anomalyDetection-orange.svg b/v2/static/img/guides/botandspamdetection-orange.svg similarity index 100% rename from v2/static/img/guides/anomalyDetection-orange.svg rename to v2/static/img/guides/botandspamdetection-orange.svg diff --git a/v2/static/img/guides/anomalyDetection.svg b/v2/static/img/guides/botandspamdetection.svg similarity index 100% rename from v2/static/img/guides/anomalyDetection.svg rename to v2/static/img/guides/botandspamdetection.svg diff --git a/v2/thirdparty/anomaly-detection.mdx b/v2/thirdparty/anomaly-detection.mdx index 1bdb7a102..1e1132d42 100644 --- a/v2/thirdparty/anomaly-detection.mdx +++ b/v2/thirdparty/anomaly-detection.mdx @@ -1,9 +1,9 @@ --- -id: anomaly-detection -title: Anomaly Detection +id: bot-and-spam-detection +title: Bot / Spam Detection hide_title: true --- -# Anomaly Detection +# Bot / Spam Detection -See our guide for anomaly detection [here](/docs/anomalydetection/introduction). \ No newline at end of file +See our guide for anomaly detection [here](/docs/botandspamdetection/introduction). \ No newline at end of file diff --git a/v2/thirdparty/sidebars.js b/v2/thirdparty/sidebars.js index ebf8d8ec6..8416b04d4 100644 --- a/v2/thirdparty/sidebars.js +++ b/v2/thirdparty/sidebars.js @@ -682,7 +682,7 @@ module.exports = { }, "mfa", "multi-tenant", - "anomaly-detection", + "bot-and-spam-detection", ], }, "scalability", diff --git a/v2/thirdpartyemailpassword/anomaly-detection.mdx b/v2/thirdpartyemailpassword/anomaly-detection.mdx index 1bdb7a102..1e1132d42 100644 --- a/v2/thirdpartyemailpassword/anomaly-detection.mdx +++ b/v2/thirdpartyemailpassword/anomaly-detection.mdx @@ -1,9 +1,9 @@ --- -id: anomaly-detection -title: Anomaly Detection +id: bot-and-spam-detection +title: Bot / Spam Detection hide_title: true --- -# Anomaly Detection +# Bot / Spam Detection -See our guide for anomaly detection [here](/docs/anomalydetection/introduction). \ No newline at end of file +See our guide for anomaly detection [here](/docs/botandspamdetection/introduction). \ No newline at end of file diff --git a/v2/thirdpartyemailpassword/sidebars.js b/v2/thirdpartyemailpassword/sidebars.js index 783d51d84..d152f3063 100644 --- a/v2/thirdpartyemailpassword/sidebars.js +++ b/v2/thirdpartyemailpassword/sidebars.js @@ -731,7 +731,7 @@ module.exports = { }, "mfa", "multi-tenant", - "anomaly-detection", + "bot-and-spam-detection", ], }, "scalability", diff --git a/v2/thirdpartypasswordless/anomaly-detection.mdx b/v2/thirdpartypasswordless/anomaly-detection.mdx index 1bdb7a102..1e1132d42 100644 --- a/v2/thirdpartypasswordless/anomaly-detection.mdx +++ b/v2/thirdpartypasswordless/anomaly-detection.mdx @@ -1,9 +1,9 @@ --- -id: anomaly-detection -title: Anomaly Detection +id: bot-and-spam-detection +title: Bot / Spam Detection hide_title: true --- -# Anomaly Detection +# Bot / Spam Detection -See our guide for anomaly detection [here](/docs/anomalydetection/introduction). \ No newline at end of file +See our guide for anomaly detection [here](/docs/botandspamdetection/introduction). \ No newline at end of file diff --git a/v2/thirdpartypasswordless/sidebars.js b/v2/thirdpartypasswordless/sidebars.js index 3c1471fbb..f59b29cc9 100644 --- a/v2/thirdpartypasswordless/sidebars.js +++ b/v2/thirdpartypasswordless/sidebars.js @@ -723,7 +723,7 @@ module.exports = { }, "mfa", "multi-tenant", - "anomaly-detection", + "bot-and-spam-detection", ], }, "scalability",